From 71795461dda90c7191f9c8d8bae83114a1478a7b Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Fri, 13 Mar 2026 14:28:23 -0400 Subject: [PATCH] feat(launcher): reorganize cfg drawer into Setup/Hardware/Dev tabs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Setup (default): Oral/Poster preset, WS Controller, Screen Saver - Hardware: Electron health/OS/updates (native only) + Sync control - Dev: Local reset/debug tools — tab hidden until Edit Mode is on Edit Mode toggle added as subtle pencil icon in the cfg drawer header (low opacity when off, primary-colored when active). This is intentional — onsite kiosk operators should not stumble on it, but admins doing setup can find and toggle it without leaving the drawer. Dev tab visibility and the Debug Panel button both gate on edit_mode, keeping the default view clean for non-technical operators. --- .../[event_id]/(launcher)/launcher_cfg.svelte | 144 ++++++++++++------ 1 file changed, 95 insertions(+), 49 deletions(-) diff --git a/src/routes/events/[event_id]/(launcher)/launcher_cfg.svelte b/src/routes/events/[event_id]/(launcher)/launcher_cfg.svelte index 1c968163..2b6fd2ba 100644 --- a/src/routes/events/[event_id]/(launcher)/launcher_cfg.svelte +++ b/src/routes/events/[event_id]/(launcher)/launcher_cfg.svelte @@ -34,7 +34,11 @@ import Launcher_Cfg_Local_Actions from './cfg_components/launcher_cfg_local_actions.svelte'; // UI Tab State - let active_tab: 'system' | 'sync' | 'general' = $state('system'); + // Tabs are audience-oriented: + // setup — what every onsite operator needs (mode preset, display, WS, screen saver) + // hardware — native/Electron device management (health, OS control, updates, sync pause) + // dev — developer/debug tools; only useful when edit_mode is on + let active_tab: 'setup' | 'hardware' | 'dev' = $state('setup'); /** * Auto-Collapse Coordinator @@ -73,51 +77,100 @@ Launcher Configuration - +
+ + + + +
-
+ +
- + {#if $ae_loc.edit_mode} + + {/if}
- {#if active_tab === 'system'} -
+ + + {#if active_tab === 'setup'} +
+ + handle_section_expand('app_modes')} + /> + handle_section_expand('controller')} + /> + handle_section_expand('screen_saver')} + /> +
+ {/if} + + + {#if active_tab === 'hardware'} +
{#if $ae_loc.is_native} handle_section_expand('health')} @@ -129,38 +182,29 @@ on_expand={() => handle_section_expand('updates')} /> {:else} -
- Native OS features are only available when running in - the Aether Desktop app. +
+ +

Native OS features are only available in the Aether Desktop app.

+

Oral/default session room devices running Electron will see controls here.

{/if} -
- {/if} - {#if active_tab === 'sync'} -
+ handle_section_expand('sync_timers')} />
{/if} - {#if active_tab === 'general'} -
- handle_section_expand('controller')} - /> - handle_section_expand('app_modes')} - /> - handle_section_expand('screen_saver')} - /> + + {#if active_tab === 'dev' && $ae_loc.edit_mode} +
handle_section_expand('local_actions')} />
{/if} +
@@ -172,16 +216,18 @@ type="button" onclick={() => ($events_loc.launcher.hide_drawer__debug = false)} - class="btn btn-sm preset-tonal-error hover:preset-filled-error-500 transition-all" + class="btn btn-sm preset-tonal-warning hover:preset-filled-warning-500 transition-all" + class:hidden={!$ae_loc.edit_mode} > - Open Debug + Debug Panel