From 4b2d9beaf662fd72a6a32be1038eac870c73d580 Mon Sep 17 00:00:00 2001 From: Guilhem Lemouel Date: Wed, 23 Sep 2026 17:50:04 +0200 Subject: [PATCH] feat: developers collapse, operators detach MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit One control each, rather than three for everyone. A developer switches the sidebar between icon-only and full width and never detaches it; an operator, who has no icon-only rail to collapse to, hides it instead — by the button in its footer or by the same drag that collapses it for a developer. The way back survives either way: a detached sidebar keeps its "Show sidebar" button for anyone, so a developer who detached before this was so is not left with a sidebar they cannot return. Co-Authored-By: Claude Opus 5 (1M context) --- .../src/routes/(root)/(logged)/+layout.svelte | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/frontend/src/routes/(root)/(logged)/+layout.svelte b/frontend/src/routes/(root)/(logged)/+layout.svelte index 9b961a0b32..acc71834ad 100644 --- a/frontend/src/routes/(root)/(logged)/+layout.svelte +++ b/frontend/src/routes/(root)/(logged)/+layout.svelte @@ -1056,23 +1056,28 @@ - + {#snippet sidebarToggle()} {@const hidden = navDetached.val} - - - {#snippet text()}{hidden ? 'Show sidebar' : 'Hide sidebar'}{/snippet} - + {#if hidden || $userStore?.operator} + + + {#snippet text()}{hidden ? 'Show sidebar' : 'Hide sidebar'}{/snippet} + + {/if} {/snippet} {#snippet brandMark(collapsed: boolean)}