diff --git a/src/lib/stores/ae_events_stores__launcher_defaults.ts b/src/lib/stores/ae_events_stores__launcher_defaults.ts index c2bef4a6..c357d023 100644 --- a/src/lib/stores/ae_events_stores__launcher_defaults.ts +++ b/src/lib/stores/ae_events_stores__launcher_defaults.ts @@ -78,6 +78,13 @@ export interface LauncherLocState { controller: string; controller_group_code: string; controller_client_id: string | null; + /** + * Native test mode: simulates the full native-branch open flow without Electron. + * Shows a debug popup with the resolved profile, commands, and AppleScript instead + * of actually launching files. Useful for testing LaunchProfile config from any + * device/OS without deploying to the Mac laptop. + */ + native_test_mode: boolean; } export interface LauncherSessState { @@ -198,7 +205,8 @@ export const launcher_loc_defaults: LauncherLocState = { controller: 'local', controller_group_code: 'launcher-00', - controller_client_id: null + controller_client_id: null, + native_test_mode: false // controller_cmd: null, // controller_trigger_send: null, }; diff --git a/src/routes/events/[event_id]/(launcher)/cfg_components/launcher_cfg_app_modes.svelte b/src/routes/events/[event_id]/(launcher)/cfg_components/launcher_cfg_app_modes.svelte index 8fe3cc9d..3ac70139 100644 --- a/src/routes/events/[event_id]/(launcher)/cfg_components/launcher_cfg_app_modes.svelte +++ b/src/routes/events/[event_id]/(launcher)/cfg_components/launcher_cfg_app_modes.svelte @@ -230,6 +230,32 @@ function apply_mode(mode: 'poster' | 'oral') { + + + +
+ Dev / Testing +
+ + {#if $events_loc.launcher.native_test_mode} ++ โ Active: Open buttons will simulate native launch and + show a debug popup instead of running commands. +
+ {/if} +{test_mode_popup_data.open_cmd_resolved}
+ {:else}
+ {test_mode_popup_data.profile.post_script.slice(6)}
+ {:else}
+ {test_mode_popup_data.profile.post_script}
+ {/if}
+ {:else}
+ no post_script
+ {/if}
+