From 34146ab60f5dc1a2f8bdda8e61ce02797233a25d Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sat, 9 May 2026 06:20:27 +0900 Subject: [PATCH] refac --- .../calendar/CreateCalendarModal.svelte | 150 ++++++++++++++++++ src/lib/components/layout/Navbar/Menu.svelte | 5 + .../components/layout/Sidebar/ChatMenu.svelte | 5 + 3 files changed, 160 insertions(+) create mode 100644 src/lib/components/calendar/CreateCalendarModal.svelte diff --git a/src/lib/components/calendar/CreateCalendarModal.svelte b/src/lib/components/calendar/CreateCalendarModal.svelte new file mode 100644 index 0000000000..2b4dc540e2 --- /dev/null +++ b/src/lib/components/calendar/CreateCalendarModal.svelte @@ -0,0 +1,150 @@ + + + +
+ +
+

{$i18n.t('New Calendar')}

+ +
+ + +
+ +
+
{$i18n.t('Name')}
+ { + if (e.key === 'Enter') submitHandler(); + }} + /> +
+ + +
+
{$i18n.t('Color')}
+
+ {#each PRESET_COLORS as c} +
+
+
+ + +
+ + +
+
+
diff --git a/src/lib/components/layout/Navbar/Menu.svelte b/src/lib/components/layout/Navbar/Menu.svelte index f9ea09104e..70ae564de8 100644 --- a/src/lib/components/layout/Navbar/Menu.svelte +++ b/src/lib/components/layout/Navbar/Menu.svelte @@ -100,6 +100,11 @@ clonedElement.style.height = 'auto'; document.body.appendChild(clonedElement); + // Override content-visibility so html2canvas can capture all messages + clonedElement.querySelectorAll('.message-listitem').forEach((el) => { + el.style.contentVisibility = 'visible'; + }); + // Wait for DOM update/layout await new Promise((r) => setTimeout(r, 100)); diff --git a/src/lib/components/layout/Sidebar/ChatMenu.svelte b/src/lib/components/layout/Sidebar/ChatMenu.svelte index 8be9c6710a..156449b7b8 100644 --- a/src/lib/components/layout/Sidebar/ChatMenu.svelte +++ b/src/lib/components/layout/Sidebar/ChatMenu.svelte @@ -112,6 +112,11 @@ clonedElement.style.height = 'auto'; document.body.appendChild(clonedElement); + // Override content-visibility so html2canvas can capture all messages + clonedElement.querySelectorAll('.message-listitem').forEach((el) => { + el.style.contentVisibility = 'visible'; + }); + // Wait for DOM update/layout await new Promise((r) => setTimeout(r, 100));