enh: upload audio

This commit is contained in:
Timothy Jaeryang Baek
2025-05-04 18:26:33 +04:00
parent 62366ad020
commit d8e9b000e3
4 changed files with 69 additions and 3 deletions

View File

@@ -445,6 +445,21 @@
recording = true;
}}
onUpload={async () => {
const input = document.createElement('input');
input.type = 'file';
input.accept = 'audio/*';
input.multiple = false;
input.click();
input.onchange = async (e) => {
const files = e.target.files;
if (files && files.length > 0) {
await uploadFileHandler(files[0]);
}
};
}}
>
<button
class="cursor-pointer p-2.5 flex rounded-full border border-gray-50 dark:border-none dark:bg-gray-850 hover:bg-gray-50 dark:hover:bg-gray-800 transition shadow-xl"

View File

@@ -4,12 +4,11 @@
import { showSettings, activeUserIds, USAGE_POOL, mobile, showSidebar, user } from '$lib/stores';
import { fade, slide } from 'svelte/transition';
import { userSignOut } from '$lib/apis/auths';
import Tooltip from '$lib/components/common/Tooltip.svelte';
import ArchiveBox from '$lib/components/icons/ArchiveBox.svelte';
import Mic from '../icons/Mic.svelte';
import CursorArrowRays from '../icons/CursorArrowRays.svelte';
import DocumentArrowUp from '../icons/DocumentArrowUp.svelte';
import CloudArrowUp from '../icons/CloudArrowUp.svelte';
const i18n = getContext('i18n');
@@ -18,6 +17,7 @@
export let onRecord = () => {};
export let onCaptureAudio = () => {};
export let onUpload = () => {};
const dispatch = createEventDispatcher();
</script>
@@ -65,6 +65,19 @@
</div>
<div class=" self-center truncate">{$i18n.t('Capture Audio')}</div>
</button>
<button
class="flex rounded-md py-2 px-3 w-full hover:bg-gray-50 dark:hover:bg-gray-800 transition"
on:click={() => {
onUpload();
show = false;
}}
>
<div class=" self-center mr-2">
<CloudArrowUp className="size-5" strokeWidth="1.5" />
</div>
<div class=" self-center truncate">{$i18n.t('Upload Audio')}</div>
</button>
</DropdownMenu.Content>
</slot>
</DropdownMenu.Root>