From c4fdc8efa4b23cc7e3485197ed9dc9177e24eedf Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Mon, 20 Apr 2026 12:49:39 -0400 Subject: [PATCH] fix(launcher): hidden sessions collapse space, sort by datetime, rename internal-file flag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - menu_session_list: move class:hidden to
  • so fixed-height rows fully collapse - launcher/+layout.svelte: sort sessions by start_datetime (ascending) instead of name - Rename hide_content__draft_files → show_content__internal_files (default false); remove redundant show_content__draft_files; rename prop hide_draft → show_internal_purpose_files in launcher_file_cont; update all 7 call sites and the menu_launcher_controls toggle. Now hides admin/draft/outline purpose files by default with consistent naming across the flag, prop, and toggle. Co-Authored-By: Claude Sonnet 4.6 --- .../ae_events_stores__launcher_defaults.ts | 7 ++-- .../[event_id]/(launcher)/+layout.svelte | 2 +- .../(launcher)/launcher/+layout.svelte | 3 +- .../(launcher)/launcher_file_cont.svelte | 34 +++++++++++++------ .../(launcher)/launcher_menu.svelte | 2 ++ .../launcher_presentation_view.svelte | 4 +-- .../(launcher)/launcher_presenter_view.svelte | 4 +-- .../launcher_presenter_view_posters.svelte | 1 + .../(launcher)/launcher_session_view.svelte | 2 ++ .../launcher_session_view_posters.svelte | 2 ++ .../(launcher)/menu_launcher_controls.svelte | 4 +-- .../(launcher)/menu_session_list.svelte | 10 +++--- 12 files changed, 45 insertions(+), 30 deletions(-) diff --git a/src/lib/stores/ae_events_stores__launcher_defaults.ts b/src/lib/stores/ae_events_stores__launcher_defaults.ts index d9f54e4f..c2bef4a6 100644 --- a/src/lib/stores/ae_events_stores__launcher_defaults.ts +++ b/src/lib/stores/ae_events_stores__launcher_defaults.ts @@ -26,13 +26,12 @@ export interface LauncherLocState { hide__ws_form: boolean; hide__ws_messages: boolean; hide__ws_commands: boolean; - hide_content__draft_files: boolean; show_content__disabled_files: boolean; show_content__hidden_files: boolean; show_content__hidden_presentations: boolean; show_content__hidden_presenters: boolean; show_content__hidden_sessions: boolean; - show_content__draft_files: boolean; + show_content__internal_files: boolean; show_content__session_code: boolean; show_content__presentation_code: boolean; show_content__presenter_code: boolean; @@ -134,14 +133,12 @@ export const launcher_loc_defaults: LauncherLocState = { hide__ws_messages: true, hide__ws_commands: true, - hide_content__draft_files: true, - show_content__disabled_files: false, show_content__hidden_files: false, show_content__hidden_presentations: false, show_content__hidden_presenters: false, show_content__hidden_sessions: false, - show_content__draft_files: false, + show_content__internal_files: false, // These should be renamed to match the pres_mgmt section. Use "hide" instead of "show". show_content__session_code: true, diff --git a/src/routes/events/[event_id]/(launcher)/+layout.svelte b/src/routes/events/[event_id]/(launcher)/+layout.svelte index 7ac21b6a..3995eea8 100644 --- a/src/routes/events/[event_id]/(launcher)/+layout.svelte +++ b/src/routes/events/[event_id]/(launcher)/+layout.svelte @@ -16,7 +16,7 @@ let { children }: Props = $props(); // WHY: When running inside Electron (is_native), app_mode must be 'native' for // the file launch path to work correctly. On a fresh install the persisted store -// has no value set, so we auto-initialise it here. This preserves the three-mode +// has no value set, so we auto-initialize it here. This preserves the three-mode // design (default / onsite / native) — browser sessions are unaffected because // is_native is only ever true inside the Electron shell. $effect(() => { diff --git a/src/routes/events/[event_id]/(launcher)/launcher/+layout.svelte b/src/routes/events/[event_id]/(launcher)/launcher/+layout.svelte index 6390157b..c424a8a0 100644 --- a/src/routes/events/[event_id]/(launcher)/launcher/+layout.svelte +++ b/src/routes/events/[event_id]/(launcher)/launcher/+layout.svelte @@ -298,11 +298,10 @@ let lq__event_session_obj_li = $derived.by(() => { if (!id) return []; if (log_lvl > 1) console.log(`LQ - Event Session list location_id: ${id}`); - // Note: .reverse() before .sortBy() is a no-op — sortBy always re-sorts. return await db_events.session .where('event_location_id') .equals(id) - .sortBy('name'); + .sortBy('start_datetime'); }); }); diff --git a/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte b/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte index f2154f97..dee6bfde 100644 --- a/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte +++ b/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte @@ -9,7 +9,7 @@ interface Props { hide_created_on?: boolean; hide_os?: boolean; hide_size?: boolean; - hide_draft?: boolean; + show_internal_purpose_files?: boolean; show_bak_download?: boolean; btn_size?: string; btn_text_align?: string; @@ -34,7 +34,7 @@ let { hide_created_on = $bindable(false), hide_os = $bindable(false), hide_size = $bindable(false), - hide_draft = $bindable(false), + show_internal_purpose_files = $bindable(false), show_bak_download = false, btn_size = $bindable('btn-sm'), btn_text_align = $bindable('text-left'), @@ -235,7 +235,7 @@ function prevent_default(fn: (event: T) => void) {
    (fn: (event: T) => void) { }); }} class="btn btn-sm group transition-all" - class:preset-tonal-success={event_file_obj?.open_in_os == 'win'} - class:preset-tonal-warning={event_file_obj?.open_in_os == 'mac'} - disabled={!$ae_loc.trusted_access}> - {#if event_file_obj?.open_in_os == 'win'} + {#if event_file_obj?.open_in_os == 'win'} + + Win + {:else if event_file_obj?.open_in_os == 'mac'} + + Mac + {:else} + + {/if} { if ($events_loc.launcher.show_content__hidden_files) { $events_loc.launcher.show_content__hidden_files = false; - $events_loc.launcher.hide_content__draft_files = true; + $events_loc.launcher.show_content__internal_files = false; } else { $events_loc.launcher.show_content__hidden_files = true; - $events_loc.launcher.hide_content__draft_files = false; + $events_loc.launcher.show_content__internal_files = true; } }} class=" diff --git a/src/routes/events/[event_id]/(launcher)/menu_session_list.svelte b/src/routes/events/[event_id]/(launcher)/menu_session_list.svelte index b1a90b87..756346ff 100644 --- a/src/routes/events/[event_id]/(launcher)/menu_session_list.svelte +++ b/src/routes/events/[event_id]/(launcher)/menu_session_list.svelte @@ -252,7 +252,11 @@ function handle_load_ae_obj_id__event_session(event_session_id: any) { max-w-full p-0 " class:session-active={slct__event_session_id === - event_session_obj?.id}> + event_session_obj?.id} + class:hidden={!$events_loc.launcher + .show_content__hidden_sessions && + (event_session_obj?.hide || + event_session_obj?.hide_event_launcher)}>