From e8b23ef0c17d5fa99cd7f6eee576582dfc653b16 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Mon, 5 May 2025 00:05:06 +0400 Subject: [PATCH] refac --- .../components/icons/Bars3BottomLeft.svelte | 12 ++++ src/lib/components/notes/NoteEditor.svelte | 70 ++++++++++++++++--- src/lib/components/notes/Notes.svelte | 2 +- .../components/notes/Notes/NoteMenu.svelte | 31 +++++++- 4 files changed, 104 insertions(+), 11 deletions(-) create mode 100644 src/lib/components/icons/Bars3BottomLeft.svelte diff --git a/src/lib/components/icons/Bars3BottomLeft.svelte b/src/lib/components/icons/Bars3BottomLeft.svelte new file mode 100644 index 000000000..9a0886cd0 --- /dev/null +++ b/src/lib/components/icons/Bars3BottomLeft.svelte @@ -0,0 +1,12 @@ + + + + + diff --git a/src/lib/components/notes/NoteEditor.svelte b/src/lib/components/notes/NoteEditor.svelte index 36651d2a0..30effb7dc 100644 --- a/src/lib/components/notes/NoteEditor.svelte +++ b/src/lib/components/notes/NoteEditor.svelte @@ -14,7 +14,7 @@ import { config, settings, showSidebar } from '$lib/stores'; import { goto } from '$app/navigation'; - import { compressImage } from '$lib/utils'; + import { compressImage, copyToClipboard } from '$lib/utils'; import { WEBUI_API_BASE_URL } from '$lib/constants'; import { uploadFile } from '$lib/apis/files'; @@ -58,6 +58,10 @@ import RecordMenu from './RecordMenu.svelte'; import NoteMenu from './Notes/NoteMenu.svelte'; import EllipsisHorizontal from '../icons/EllipsisHorizontal.svelte'; + import Sparkles from '../icons/Sparkles.svelte'; + import SparklesSolid from '../icons/SparklesSolid.svelte'; + import Tooltip from '../common/Tooltip.svelte'; + import Bars3BottomLeft from '../icons/Bars3BottomLeft.svelte'; export let id: null | string = null; @@ -79,6 +83,8 @@ let files = []; + let selectedVersion = 'note'; + let recording = false; let displayMediaRecord = false; @@ -135,6 +141,8 @@ init(); } + const versionToggleHandler = () => {}; + const uploadFileHandler = async (file) => { const tempItemId = uuidv4(); const fileItem = { @@ -434,6 +442,16 @@ onDownload={(type) => { 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; }} @@ -465,7 +483,7 @@ -
+
{#if files && files.length > 0}
{#each files as file, fileIdx} @@ -516,12 +534,12 @@ {/if}
-
-
+
+
{#if recording}
+ +
+ + + + + + + +
{/if}
diff --git a/src/lib/components/notes/Notes.svelte b/src/lib/components/notes/Notes.svelte index 932b5a670..d7fbfd38b 100644 --- a/src/lib/components/notes/Notes.svelte +++ b/src/lib/components/notes/Notes.svelte @@ -388,7 +388,7 @@