From 8676390881f534424df68e1489ab4262d9bef5dd Mon Sep 17 00:00:00 2001 From: silentoplayz Date: Sun, 14 Jun 2026 22:12:30 -0400 Subject: [PATCH] feat(ui): add expand/collapse to user settings modal Add a toggle button to the settings modal header that switches between the default size (2xl) and a near-fullscreen 'max' size. The expand button uses existing ArrowsPointingOut/Collapse icon components with an aria-label. Hidden on mobile (md: breakpoint). The expanded state resets when the modal is closed. Also adds 'max' as a new Modal size option that renders at calc(100vw-4rem) x calc(100vh-4rem). --- src/lib/components/chat/SettingsModal.svelte | 60 ++++++++++++++------ src/lib/components/common/Modal.svelte | 30 +++++----- 2 files changed, 61 insertions(+), 29 deletions(-) diff --git a/src/lib/components/chat/SettingsModal.svelte b/src/lib/components/chat/SettingsModal.svelte index ffc01f531d..42d8dcba94 100644 --- a/src/lib/components/chat/SettingsModal.svelte +++ b/src/lib/components/chat/SettingsModal.svelte @@ -28,6 +28,8 @@ import Face from '../icons/Face.svelte'; import AppNotification from '../icons/AppNotification.svelte'; import UserBadgeCheck from '../icons/UserBadgeCheck.svelte'; + import ArrowsPointingOut from '../icons/ArrowsPointingOut.svelte'; + import Collapse from '../icons/Collapse.svelte'; const i18n = getContext('i18n'); @@ -41,6 +43,7 @@ addScrollListener(); } else { selectedTab = 'general'; + isExpanded = false; removeScrollListener(); } @@ -552,6 +555,7 @@ }; let selectedTab = 'general'; + let isExpanded = false; // Function to handle sideways scrolling const scrollHandler = (event) => { @@ -589,26 +593,47 @@ }); - -
-
-
{$i18n.t('Settings')}
- + +
+
+
{$i18n.t('Settings')}
+ +
+ + +
-
+