fix(pres_mgmt): make POC list/table column a real per-event config
show__session_li_poc_field was local-browser-only and the session list prop computation ignored the admin's hide__session_poc master switch entirely, so disabling POC for an event didn't hide the column if a user's browser had it toggled on. - Add show__session_li_poc_field to PressMgmtRemoteCfg + Config page UI (Session Field Visibility) + sync_config__event_pres_mgmt() lock-synced block, so it's admin-configurable per event like the other display flags - Fix list/table column visibility to hide__session_poc || !show__session_li_poc_field in pres_mgmt/+page.svelte and locations/ae_comp__event_location_obj_li.svelte - Remove the now-redundant local "Show/Hide POC Column" toggle buttons from ae_comp__events_menu_opts.svelte and event_page_menu.svelte - Log the fix in PROJECT__AE_Events_PressMgmt_Config_Cleanup.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -293,26 +293,9 @@ async function on_delete(method: 'delete' | 'disable') {
|
||||
: 'Hide Location Column?'}
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
pres_mgmt_loc.current.show__session_li_poc_field =
|
||||
!pres_mgmt_loc.current.show__session_li_poc_field;
|
||||
}}
|
||||
class="btn btn-sm ae_btn_surface w-full justify-between"
|
||||
title="Toggle the POC column in session lists">
|
||||
{#if !pres_mgmt_loc.current.show__session_li_poc_field}<ToggleLeft
|
||||
size="1em"
|
||||
class="mr-1" />{:else}<ToggleRight
|
||||
size="1em"
|
||||
class="mr-1" />{/if}
|
||||
<span class="grow">
|
||||
{!pres_mgmt_loc.current.show__session_li_poc_field
|
||||
? 'Show POC Column'
|
||||
: 'Hide POC Column?'}
|
||||
</span>
|
||||
</button>
|
||||
<!-- POC column visibility is a per-event config (Config page), not a
|
||||
local toggle — removed 2026-06-16, see
|
||||
PROJECT__AE_Events_PressMgmt_Config_Cleanup.md -->
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
@@ -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}></Comp_event_session_obj_li>
|
||||
{/if}
|
||||
{:else if pres_mgmt_loc.current.show_content__location_devices_sessions == 'devices'}
|
||||
|
||||
@@ -485,7 +485,8 @@ if (
|
||||
<Comp_event_session_obj_li_wrapper
|
||||
{lq__event_session_obj_li}
|
||||
hide__session_location={pres_mgmt_loc.current.hide__session_li_location_field}
|
||||
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}
|
||||
hide__launcher_link_legacy={pres_mgmt_loc.current.hide__launcher_link_legacy}
|
||||
hide__launcher_link={pres_mgmt_loc.current.hide__launcher_link}
|
||||
hide__location_link={pres_mgmt_loc.current.hide__location_link}
|
||||
|
||||
@@ -70,6 +70,7 @@ const cfg_defaults: PressMgmtRemoteCfg = {
|
||||
show__copy_access_link: false,
|
||||
show__email_access_link: false,
|
||||
show__launcher_link: false,
|
||||
show__session_li_poc_field: false,
|
||||
require__presenter_agree: false,
|
||||
require__session_agree: false,
|
||||
limit__navigation: false,
|
||||
@@ -378,6 +379,7 @@ function toggle(key: string) {
|
||||
{ field: 'hide__session_location' as const, label: 'Hide Location' },
|
||||
{ field: 'hide__session_msg' as const, label: 'Hide Message' },
|
||||
{ field: 'hide__session_poc' as const, label: 'Hide POC' },
|
||||
{ field: 'show__session_li_poc_field' as const, label: 'Show POC Column in Lists/Tables' },
|
||||
{ field: 'hide__session_poc_biography' as const, label: 'Hide POC Biography' },
|
||||
{ field: 'hide__session_poc_profile' as const, label: 'Hide POC Profile' },
|
||||
{ field: 'hide__session_poc_profile_pic' as const, label: 'Hide POC Profile Pic' }
|
||||
@@ -388,6 +390,10 @@ function toggle(key: string) {
|
||||
</label>
|
||||
{/each}
|
||||
</div>
|
||||
<p class="text-surface-500 border-surface-200-800 border-t px-4 py-2 text-xs">
|
||||
<strong>Hide POC</strong> is the master switch — when on, POC is hidden everywhere
|
||||
(session detail and list/table column) regardless of the column setting below it.
|
||||
</p>
|
||||
{/if}
|
||||
</section>
|
||||
|
||||
|
||||
@@ -540,27 +540,9 @@ import {
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<!-- Show/Hide the POC column in tables and lists -->
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
pres_mgmt_loc.current.show__session_li_poc_field =
|
||||
!pres_mgmt_loc.current.show__session_li_poc_field;
|
||||
}}
|
||||
class="btn btn-sm ae_btn_surface w-full justify-between text-center"
|
||||
title="Toggle showing the POC column in session lists and tables">
|
||||
{#if !pres_mgmt_loc.current.show__session_li_poc_field}<ToggleLeft
|
||||
size="1em"
|
||||
class="m-1" />{:else}<ToggleRight
|
||||
size="1em"
|
||||
class="m-1" />{/if}
|
||||
<span class="grow">
|
||||
<!-- <span class="fas fa-user-tie m-1"></span> -->
|
||||
{!pres_mgmt_loc.current.show__session_li_poc_field
|
||||
? 'Show POC Column'
|
||||
: 'Hide POC Column?'}
|
||||
</span>
|
||||
</button>
|
||||
<!-- POC column visibility is a per-event config (Config page), not a
|
||||
local toggle — removed 2026-06-16, see
|
||||
PROJECT__AE_Events_PressMgmt_Config_Cleanup.md -->
|
||||
|
||||
<!-- These are related to more content showing in lists. -->
|
||||
<span
|
||||
|
||||
Reference in New Issue
Block a user