From 376e915ade3a72ccf9cd737714a54a921a088210 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sun, 14 Dec 2025 01:23:59 -0800 Subject: [PATCH] refactor UserSettingsModal to tabbed layout --- src/lib/components/UserSettingsModal.svelte | 458 +++++++++----------- src/lib/components/ui/Dialog.svelte | 10 +- src/lib/components/ui/ModalBody.svelte | 9 +- src/lib/components/ui/ModalFooter.svelte | 14 +- 4 files changed, 232 insertions(+), 259 deletions(-) diff --git a/src/lib/components/UserSettingsModal.svelte b/src/lib/components/UserSettingsModal.svelte index e673a2cc..ade05d42 100644 --- a/src/lib/components/UserSettingsModal.svelte +++ b/src/lib/components/UserSettingsModal.svelte @@ -2,18 +2,14 @@ - + {#snippet children()} - - - -
+ +
{#if error}
{error}
{/if} -
- -
-
- {currentPicture?.name[locale] -
- + - - - - - {#if isInCrew && crewGamertag} -
- -

Display "{crewGamertag}" next to your name

+
+ {#if isLoading} +
+
+ Loading settings...
+ {:else if activeSection === 'account'} + (formUsername = v)} + onEmailChange={(v) => (formEmail = v)} + onCurrentPasswordChange={(v) => (currentPassword = v)} + onNewPasswordChange={(v) => (newPassword = v)} + onConfirmPasswordChange={(v) => (confirmPassword = v)} + onBahamutChange={(v) => (bahamut = v)} + /> + {:else if activeSection === 'profile'} + (picture = v)} + onElementChange={(v) => (element = v as ElementType)} + onGranblueIdChange={(v) => (granblueId = v)} + onGenderChange={(v) => (gender = v)} + onLanguageChange={(v) => (language = v)} + onThemeChange={(v) => (theme = v)} + /> + {:else if activeSection === 'privacy'} + (showGranblueId = v)} + onCollectionPrivacyChange={(v) => (collectionPrivacy = v)} + onShowCrewGamertagChange={(v) => (showCrewGamertag = v)} + /> {/if} - -
- - - - - -