pres_mgmt config: remove legacy launcher option, add back button + dirty state to config UI

- Remove show__launcher_link_legacy from PressMgmtRemoteCfg, PresMgmtLocState, and
  pres_mgmt_loc_defaults — the Flask/legacy launcher is retired
- Sync function now hardcodes hide__launcher_link_legacy=true (always hidden)
- Config page: back button to pres_mgmt, save buttons disabled until changes made
- Fix {#each} key expressions in config page
- Migrate e_app_access_type and element_manage_event_file_li to pres_mgmt_loc store
- Add temporary svelte type augments file (src/types/)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-04-02 15:53:55 -04:00
parent fd9e5f6dc0
commit 4a1b0dac86
6 changed files with 93 additions and 20 deletions

View File

@@ -1050,8 +1050,8 @@ export function sync_config__event_pres_mgmt({
// Launcher links (show__ in remote → invert to hide__ in local display state)
loc.hide__launcher_link =
!(pres_mgmt_cfg_remote?.show__launcher_link ?? false);
loc.hide__launcher_link_legacy =
!(pres_mgmt_cfg_remote?.show__launcher_link_legacy ?? false);
// Legacy Flask launcher is retired — always hide regardless of remote config
loc.hide__launcher_link_legacy = true;
// Navigation / UI constraints
loc.limit__navigation =

View File

@@ -31,6 +31,7 @@ import {
// import { core_func } from '$lib/ae_core/ae_core_functions';
// Ideally the Event related stores should not be imported here?
import { events_loc } from '$lib/stores/ae_events_stores';
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
// import { db_events } from "$lib/db_events";
// export let hidden: boolean = false;
@@ -364,10 +365,10 @@ function handle_clear_access() {
type="button"
onclick={() => {
$ae_loc.sync_local_config = false;
$events_loc.pres_mgmt.sync_local_config = false;
pres_mgmt_loc.current.sync_local_config = false;
$ae_loc.lock_config = false;
$events_loc.pres_mgmt.lock_config = false;
pres_mgmt_loc.current.lock_config = false;
// dispatch_sync_local_config_changed();
// tick();
@@ -383,10 +384,10 @@ function handle_clear_access() {
type="button"
onclick={() => {
$ae_loc.sync_local_config = true;
$events_loc.pres_mgmt.sync_local_config = true;
pres_mgmt_loc.current.sync_local_config = true;
$ae_loc.lock_config = true;
$events_loc.pres_mgmt.lock_config = true;
pres_mgmt_loc.current.lock_config = true;
// dispatch_sync_local_config_changed();
// tick();

View File

@@ -23,6 +23,7 @@ import {
events_slct,
events_trigger
} from '$lib/stores/ae_events_stores';
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
import { events_func } from '$lib/ae_events/ae_events_functions';
import AE_Comp_Hosted_Files_Download_Button from '$lib/ae_core/ae_comp__hosted_files_download_button.svelte';
import {
@@ -76,7 +77,7 @@ let {
let ae_promises: key_val = $state({});
let ae_tmp: key_val = $state({});
ae_tmp.show__file_li = true;
ae_tmp.show__direct_download = $events_loc.pres_mgmt.show__direct_download;
ae_tmp.show__direct_download = pres_mgmt_loc.current.show__direct_download;
// let ae_triggers: key_val = {};
onMount(() => {
@@ -674,8 +675,8 @@ async function handle_convert_pdf_to_image(event_file_obj: key_val) {
value={null}
selected={!event_file_obj.file_purpose}
>-- purpose not set --</option>
{#if $events_loc.pres_mgmt?.file_purpose_option_kv}
{#each Object.entries($events_loc.pres_mgmt.file_purpose_option_kv as any) as [key, file_purpose_option] (key)}
{#if pres_mgmt_loc.current.file_purpose_option_kv}
{#each Object.entries(pres_mgmt_loc.current.file_purpose_option_kv as any) as [key, file_purpose_option] (key)}
<option
value={key}
selected={event_file_obj.file_purpose ===

View File

@@ -54,7 +54,6 @@ export interface PressMgmtRemoteCfg {
show__copy_access_link: boolean;
show__email_access_link: boolean;
show__launcher_link: boolean;
show__launcher_link_legacy: boolean;
// Requirements
require__presenter_agree: boolean;
@@ -193,7 +192,6 @@ export interface PresMgmtLocState {
show__copy_access_link: boolean;
show__email_access_link: boolean;
show__launcher_link: boolean;
show__launcher_link_legacy: boolean;
require__presenter_agree: boolean;
require__session_agree: boolean;
limit__navigation: boolean;
@@ -367,7 +365,6 @@ export const pres_mgmt_loc_defaults: PresMgmtLocState = {
show__copy_access_link: false,
show__email_access_link: false,
show__launcher_link: false,
show__launcher_link_legacy: false,
require__presenter_agree: false,
require__session_agree: false,
limit__navigation: false,