diff --git a/src/lib/ae_events/ae_events__event.ts b/src/lib/ae_events/ae_events__event.ts
index d1a86f44..81c6e1ba 100644
--- a/src/lib/ae_events/ae_events__event.ts
+++ b/src/lib/ae_events/ae_events__event.ts
@@ -1054,14 +1054,16 @@ 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);
- // Legacy Flask launcher is retired — always hide regardless of remote config
- loc.hide__launcher_link_legacy = true;
+
+ // QR code sections (off by default; admin enables per-event)
+ loc.show__session_qr =
+ pres_mgmt_cfg_remote?.show__session_qr ?? false;
+ loc.show__presenter_qr =
+ pres_mgmt_cfg_remote?.show__presenter_qr ?? false;
// Navigation / UI constraints
loc.limit__navigation =
pres_mgmt_cfg_remote?.limit__navigation ?? false;
- loc.limit__options =
- pres_mgmt_cfg_remote?.limit__options ?? false;
}
}
diff --git a/src/lib/stores/ae_events_stores__pres_mgmt_defaults.ts b/src/lib/stores/ae_events_stores__pres_mgmt_defaults.ts
index 5eb29716..13e233e3 100644
--- a/src/lib/stores/ae_events_stores__pres_mgmt_defaults.ts
+++ b/src/lib/stores/ae_events_stores__pres_mgmt_defaults.ts
@@ -58,6 +58,10 @@ export interface PressMgmtRemoteCfg {
// (the overall "is POC used at all" master switch) — that one wins if set,
// see sync_config__event_pres_mgmt() and the session list wrapper usages.
show__session_li_poc_field: boolean;
+ // QR code sections (off by default; Trusted Access users can override locally
+ // if the admin has enabled the feature for the event)
+ show__session_qr: boolean;
+ show__presenter_qr: boolean;
// Requirements
require__presenter_agree: boolean;
@@ -65,7 +69,6 @@ export interface PressMgmtRemoteCfg {
// Navigation / UI constraints
limit__navigation: boolean;
- limit__options: boolean;
// File upload options (null = use system default)
file_purpose_option_kv: Record<
@@ -157,7 +160,6 @@ export interface PresMgmtLocState {
// (overwritten when lock_config=true), see sync_config__event_pres_mgmt().
show__session_li_poc_field: boolean;
// Launcher/location links in session list
- hide__launcher_link_legacy: boolean; // Flask/legacy launcher
hide__launcher_link: boolean; // SvelteKit launcher
hide__location_link: boolean;
show__direct_download: boolean;
@@ -201,10 +203,11 @@ export interface PresMgmtLocState {
show__copy_access_link: boolean;
show__email_access_link: boolean;
show__launcher_link: boolean;
+ show__session_qr: boolean;
+ show__presenter_qr: boolean;
require__presenter_agree: boolean;
require__session_agree: boolean;
limit__navigation: boolean;
- limit__options: boolean;
file_purpose_option_kv: Record<
string,
{ name: string; disabled?: boolean; hidden?: boolean }
@@ -336,7 +339,6 @@ export const pres_mgmt_loc_defaults: PresMgmtLocState = {
hide__locations_msg: false,
hide__session_li_location_field: false,
show__session_li_poc_field: false,
- hide__launcher_link_legacy: true,
hide__launcher_link: true,
hide__location_link: true,
show__direct_download: false,
@@ -378,10 +380,11 @@ export const pres_mgmt_loc_defaults: PresMgmtLocState = {
show__copy_access_link: false,
show__email_access_link: false,
show__launcher_link: false,
+ show__session_qr: false,
+ show__presenter_qr: false,
require__presenter_agree: false,
require__session_agree: false,
limit__navigation: false,
- limit__options: false,
file_purpose_option_kv: null,
hide__report_kv: {}
};
diff --git a/src/lib/stores/store_versions.ts b/src/lib/stores/store_versions.ts
index d26d6c3e..d46d6b3a 100644
--- a/src/lib/stores/store_versions.ts
+++ b/src/lib/stores/store_versions.ts
@@ -33,7 +33,7 @@
export const AE_LOC_VERSION = 2; // Bumped 2026-03-30: force-clear stale site_cfg_json (novi_idaa_api_key missing bug)
export const AE_EVENTS_LOC_VERSION = 1;
export const AE_IDAA_LOC_VERSION = 2; // Bumped 2026-05-18: change default qry__limit from 150 to 100
-export const AE_PRES_MGMT_LOC_VERSION = 1; // Added 2026-04-02: new standalone PersistedState store
+export const AE_PRES_MGMT_LOC_VERSION = 2; // Bumped 2026-06-16: added show__session_qr / show__presenter_qr; removed limit__options + hide__launcher_link_legacy (Flask launcher retired)
export const AE_BADGES_LOC_VERSION = 1; // Added 2026-04-02: promoted from events_loc.badges
export const AE_LEADS_LOC_VERSION = 1; // Added 2026-04-03: promoted from events_loc.leads
diff --git a/src/routes/events/[event_id]/(pres_mgmt)/event_page_menu.svelte b/src/routes/events/[event_id]/(pres_mgmt)/event_page_menu.svelte
index d0c0bde0..9f70065b 100644
--- a/src/routes/events/[event_id]/(pres_mgmt)/event_page_menu.svelte
+++ b/src/routes/events/[event_id]/(pres_mgmt)/event_page_menu.svelte
@@ -214,45 +214,29 @@ async function on_delete(method: 'delete' | 'disable') {
-
-
-
+
+ {#if pres_mgmt_loc.current.show__launcher_link || $ae_loc.trusted_access}
+
+ {/if}
+ events__session_search={$events_slct.event_id &&
+ (!pres_mgmt_loc.current.limit__navigation || $ae_loc.trusted_access)} />