diff --git a/documentation/PROJECT__AE_Events_PressMgmt_Config_Cleanup.md b/documentation/PROJECT__AE_Events_PressMgmt_Config_Cleanup.md index 24b56b02..5d949fe6 100644 --- a/documentation/PROJECT__AE_Events_PressMgmt_Config_Cleanup.md +++ b/documentation/PROJECT__AE_Events_PressMgmt_Config_Cleanup.md @@ -96,6 +96,7 @@ interface PressMgmtRemoteCfg { show__email_access_link: boolean; show__launcher_link: boolean; show__launcher_link_legacy: boolean; + show__session_li_poc_field: boolean; // POC column in session list/table; hide__session_poc still wins // Requirements require__presenter_agree: boolean; @@ -222,6 +223,16 @@ Safe and backward compatible — old DB records fall through to `?? false` defau - Decision: Keep separate? Document clearly? Unify? - [ ] **Add `AE_PRES_MGMT_LOC_VERSION` to `store_versions.ts`** (Step 2 requirement) - [ ] **Clean `hide__launcher_link*` from defaults** if truly deprecated (lines 154-155, 333-334 in `pres_mgmt_defaults.ts`) +- [x] **POC column local/remote conflict fixed (2026-06-16)** — `show__session_li_poc_field` was + local-only (never synced) and the session-list-table prop computation ignored the admin's + `hide__session_poc` master switch entirely. Fixed: added `show__session_li_poc_field` to + `PressMgmtRemoteCfg` + Config UI (Session Field Visibility) + `sync_config__event_pres_mgmt()` + lock-synced block; list/table column visibility is now + `hide__session_poc || !show__session_li_poc_field` in `pres_mgmt/+page.svelte` and + `locations/ae_comp__event_location_obj_li.svelte`. The local per-browser "Show/Hide POC + Column" toggle buttons in `ae_comp__events_menu_opts.svelte` and `event_page_menu.svelte` + were removed — the field is lock-synced from the per-event Config page now, same as the + other session field visibility toggles. ### Step 6 scope (mechanical find-replace) diff --git a/src/lib/ae_events/ae_events__event.ts b/src/lib/ae_events/ae_events__event.ts index 99b7d695..d1a86f44 100644 --- a/src/lib/ae_events/ae_events__event.ts +++ b/src/lib/ae_events/ae_events__event.ts @@ -1032,6 +1032,8 @@ export function sync_config__event_pres_mgmt({ pres_mgmt_cfg_remote?.hide__session_msg ?? false; loc.hide__session_poc = pres_mgmt_cfg_remote?.hide__session_poc ?? false; + loc.show__session_li_poc_field = + pres_mgmt_cfg_remote?.show__session_li_poc_field ?? false; loc.hide__session_poc_biography = pres_mgmt_cfg_remote?.hide__session_poc_biography ?? false; loc.hide__session_poc_profile = 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 f86ce4ec..5eb29716 100644 --- a/src/lib/stores/ae_events_stores__pres_mgmt_defaults.ts +++ b/src/lib/stores/ae_events_stores__pres_mgmt_defaults.ts @@ -54,6 +54,10 @@ export interface PressMgmtRemoteCfg { show__copy_access_link: boolean; show__email_access_link: boolean; show__launcher_link: boolean; + // POC column in session list/table views. Independent of hide__session_poc + // (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; // Requirements require__presenter_agree: boolean; @@ -149,6 +153,8 @@ export interface PresMgmtLocState { hide__device_code: boolean; hide__locations_msg: boolean; hide__session_li_location_field: boolean; + // Also mirrors PressMgmtRemoteCfg.show__session_li_poc_field — lock-synced + // (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 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 dde6360b..d0c0bde0 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 @@ -293,26 +293,9 @@ async function on_delete(method: 'delete' | 'disable') { : 'Hide Location Column?'} - - + diff --git a/src/routes/events/[event_id]/(pres_mgmt)/locations/ae_comp__event_location_obj_li.svelte b/src/routes/events/[event_id]/(pres_mgmt)/locations/ae_comp__event_location_obj_li.svelte index 1812affc..30e11f93 100644 --- a/src/routes/events/[event_id]/(pres_mgmt)/locations/ae_comp__event_location_obj_li.svelte +++ b/src/routes/events/[event_id]/(pres_mgmt)/locations/ae_comp__event_location_obj_li.svelte @@ -377,7 +377,8 @@ if (!pres_mgmt_loc.current.location_kv) { link_to_id={event_location_obj?.event_location_id} event_session_id_random_li={[]} hide__session_location={true} - hide__session_poc={!pres_mgmt_loc.current.show__session_li_poc_field} + hide__session_poc={pres_mgmt_loc.current.hide__session_poc || + !pres_mgmt_loc.current.show__session_li_poc_field} {log_lvl}> {/if} {:else if pres_mgmt_loc.current.show_content__location_devices_sessions == 'devices'} diff --git a/src/routes/events/[event_id]/(pres_mgmt)/pres_mgmt/+page.svelte b/src/routes/events/[event_id]/(pres_mgmt)/pres_mgmt/+page.svelte index 9ce0dab1..7929e9b2 100644 --- a/src/routes/events/[event_id]/(pres_mgmt)/pres_mgmt/+page.svelte +++ b/src/routes/events/[event_id]/(pres_mgmt)/pres_mgmt/+page.svelte @@ -485,7 +485,8 @@ if ( {/each} +

+ Hide POC is the master switch — when on, POC is hidden everywhere + (session detail and list/table column) regardless of the column setting below it. +

{/if} diff --git a/src/routes/events/ae_comp__events_menu_opts.svelte b/src/routes/events/ae_comp__events_menu_opts.svelte index c7f8e453..fc11dd95 100644 --- a/src/routes/events/ae_comp__events_menu_opts.svelte +++ b/src/routes/events/ae_comp__events_menu_opts.svelte @@ -540,27 +540,9 @@ import { - - +