{ deleteNoteHandler(note.id); showDeleteConfirm = false; }} >
{$i18n.t('This will delete')} {note.title}.
Settings
Model
{#if loading}
{:else}
{#if note.data?.versions?.length > 0}
{/if} { downloadHandler(type); }} onCopyToClipboard={async () => { const res = await copyToClipboard(note.data.content.md).catch((error) => { toast.error(`${error}`); return null; }); if (res) { toast.success($i18n.t('Copied to clipboard')); } }} onDelete={() => { showDeleteConfirm = true; }} >
{#if enhancing}
{/if} {#if files && files.length > 0}
{#each files as file, fileIdx}
{#if file.type === 'image'} { files = files.filter((item, idx) => idx !== fileIdx); note.data.files = files.length > 0 ? files : null; }} /> {:else} { files = files.filter((item) => item?.id !== file.id); note.data.files = files.length > 0 ? files : null; }} /> {/if}
{/each}
{/if} { note.data.content.html = content.html; note.data.content.md = content.md; }} />
{/if}
{#if recording}
{ recording = false; displayMediaRecord = false; }} onConfirm={(data) => { if (data?.file) { uploadFileHandler(data?.file); } recording = false; displayMediaRecord = false; }} />
{:else} { displayMediaRecord = false; try { let stream = await navigator.mediaDevices .getUserMedia({ audio: true }) .catch(function (err) { toast.error( $i18n.t(`Permission denied when accessing microphone: {{error}}`, { error: err }) ); return null; }); if (stream) { recording = true; const tracks = stream.getTracks(); tracks.forEach((track) => track.stop()); } stream = null; } catch { toast.error($i18n.t('Permission denied when accessing microphone')); } }} onCaptureAudio={async () => { displayMediaRecord = true; 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]); } }; }} >
{/if}