From 30911c8a7bf28f5b831c30d720b0d9fd59dfee72 Mon Sep 17 00:00:00 2001 From: eti Date: Fri, 31 Jul 2026 12:23:25 +0200 Subject: [PATCH] web/settings: add the mobile user and repository settings screens below md the sidebar collapses into a native select and the panel goes full-bleed, keeping only its top and bottom hairlines, matching the Mobile section of the settings redesign. below sm the rows drop their trailing controls onto a second line: list entries keep theirs left-aligned under the meta, while SettingsRow and the SettingsBlock header align theirs right, as the user and repository frames respectively do. SettingsRow takes an opt-in `stack` since the design keeps short label/toggle pairs on one line either way. Signed-off-by: eti --- .../components/settings/SettingsBlock.svelte | 9 +- .../components/settings/SettingsEntry.svelte | 8 +- .../settings/SettingsNav.stories.svelte | 10 ++ .../components/settings/SettingsNav.svelte | 42 ++++++- .../settings/SettingsPanel.stories.svelte | 118 ++++++++++++++++++ .../components/settings/SettingsPanel.svelte | 26 ++++ .../components/settings/SettingsRow.svelte | 33 ++++- .../components/settings/ThemePicker.svelte | 4 +- .../settings/tabs/ProfileTab.svelte | 27 ++-- .../[handle]/[repo]/settings/+layout.svelte | 15 +-- .../[handle]/[repo]/settings/+page.svelte | 20 +-- .../[repo]/settings/access/+page.svelte | 2 +- .../[repo]/settings/hooks/+page.svelte | 9 +- .../[repo]/settings/pipelines/+page.svelte | 6 +- .../[repo]/settings/sites/+page.svelte | 11 +- web/src/routes/settings/+layout.svelte | 17 ++- 16 files changed, 295 insertions(+), 62 deletions(-) create mode 100644 web/src/lib/components/settings/SettingsPanel.stories.svelte create mode 100644 web/src/lib/components/settings/SettingsPanel.svelte diff --git a/web/src/lib/components/settings/SettingsBlock.svelte b/web/src/lib/components/settings/SettingsBlock.svelte index 8fd02395..137278c5 100644 --- a/web/src/lib/components/settings/SettingsBlock.svelte +++ b/web/src/lib/components/settings/SettingsBlock.svelte @@ -30,8 +30,9 @@
{#if title || lines.length > 0 || action} - -
+ +
{#if title} {#if action} -
{@render action()}
+
+ {@render action()} +
{/if}
{/if} diff --git a/web/src/lib/components/settings/SettingsEntry.svelte b/web/src/lib/components/settings/SettingsEntry.svelte index dfcae249..b2d28c41 100644 --- a/web/src/lib/components/settings/SettingsEntry.svelte +++ b/web/src/lib/components/settings/SettingsEntry.svelte @@ -18,7 +18,11 @@ const Glyph = $derived(icon); -
+ +
{#if Glyph} @@ -34,6 +38,6 @@ {/if}
{#if actions} -
{@render actions()}
+
{@render actions()}
{/if}
diff --git a/web/src/lib/components/settings/SettingsNav.stories.svelte b/web/src/lib/components/settings/SettingsNav.stories.svelte index 961fc407..0df41a86 100644 --- a/web/src/lib/components/settings/SettingsNav.stories.svelte +++ b/web/src/lib/components/settings/SettingsNav.stories.svelte @@ -45,6 +45,16 @@ {/snippet} + + + {#snippet template(args)} +
+ +
+ {/snippet} +
+ ({ id, label, href })) }}> {#snippet template(args)}
diff --git a/web/src/lib/components/settings/SettingsNav.svelte b/web/src/lib/components/settings/SettingsNav.svelte index 4326760a..38a2e4fd 100644 --- a/web/src/lib/components/settings/SettingsNav.svelte +++ b/web/src/lib/components/settings/SettingsNav.svelte @@ -11,7 +11,9 @@ + +
+
+ {#if ActiveGlyph} +
+
+
+