diff --git a/src/routes/events/[event_id]/(pres_mgmt)/session/[session_id]/session_page_menu.svelte b/src/routes/events/[event_id]/(pres_mgmt)/session/[session_id]/session_page_menu.svelte index eb590223..3e9224a1 100644 --- a/src/routes/events/[event_id]/(pres_mgmt)/session/[session_id]/session_page_menu.svelte +++ b/src/routes/events/[event_id]/(pres_mgmt)/session/[session_id]/session_page_menu.svelte @@ -36,6 +36,9 @@ let show_modal = $state(false); let show_help = $state(false); + // Detect poster sessions so the Launcher link auto-applies kiosk URL params + let is_poster = $derived($lq__event_session_obj?.type_code === 'poster'); + async function on_toggle(field: string, new_val: boolean) { await api.update_ae_obj_v3({ api_cfg: $ae_api, @@ -91,6 +94,7 @@ events__launcher_session_id={$lq__event_session_obj?.event_session_id && $ae_loc.administrator_access ? $lq__event_session_obj?.event_session_id : null} + events__launcher_extra_params={is_poster ? 'iframe=true&launcher_menu=hide' : ''} events__location_id={$lq__event_session_obj?.event_location_id && $ae_loc.trusted_access ? $lq__event_session_obj?.event_location_id : null} diff --git a/src/routes/events/ae_comp__events_menu_nav.svelte b/src/routes/events/ae_comp__events_menu_nav.svelte index 4d6faa1c..3d98a6b5 100644 --- a/src/routes/events/ae_comp__events_menu_nav.svelte +++ b/src/routes/events/ae_comp__events_menu_nav.svelte @@ -23,6 +23,7 @@ events__launcher_session_id?: null | string; // event_session_id to pass to launcher as ?session_id= events__session_id?: null | string; // event_session_id — used for "Back to Session" link only events__session_search?: boolean; // event_id + events__launcher_extra_params?: string; // extra URL params appended to the launcher link (e.g. 'iframe=true&launcher_menu=hide') } let { @@ -31,6 +32,7 @@ ae_core = false, events__launcher_id = null, events__launcher_session_id = null, + events__launcher_extra_params = '', events__location_id = null, events__locations = false, events__reports = false, @@ -41,7 +43,12 @@ // Build launcher URL segments separately so the href template stays simple (avoids ternaries in href attr) let launcher_loc_seg = $derived(events__launcher_id ? `/${events__launcher_id}` : ''); - let launcher_sess_qry = $derived(events__launcher_session_id ? `?session_id=${events__launcher_session_id}` : ''); + let launcher_sess_qry = $derived.by(() => { + const parts: string[] = []; + if (events__launcher_session_id) parts.push(`session_id=${events__launcher_session_id}`); + if (events__launcher_extra_params) parts.push(events__launcher_extra_params); + return parts.length ? `?${parts.join('&')}` : ''; + });