pres_mgmt: config schema cleanup phase 2
- Add show__session_qr + show__presenter_qr to PressMgmtRemoteCfg and sync function; QR toggles now gated on remote admin enable (trusted_access can still override) - Remove hide__launcher_link_legacy everywhere (Flask launcher fully retired) - Remove limit__options (YAGNI) - Implement limit__navigation: hides Session Search nav link for non-trusted users - Wire hide__report_kv into reports page: all 8 report tabs now use synced store with canonical slug names and edit_mode bypass; config UI now uses structured toggles instead of raw JSON textarea - Gate hide__launcher_link local toggle on show__launcher_link || trusted_access - Config UI: add show__session_qr + show__presenter_qr to opt-in features section - Menu opts: add Query Limits / Display & Search / Staff Options section labels - Bump AE_PRES_MGMT_LOC_VERSION to 2 (schema change forces localStorage reset) - svelte-check: 0 errors
This commit is contained in:
@@ -76,6 +76,7 @@ import {
|
||||
class:hidden={!pres_mgmt_loc.current.expand__menu_opts}>
|
||||
{#if $ae_loc.authenticated_access}
|
||||
<div class="flex flex-col items-end justify-center gap-1">
|
||||
<p class="text-surface-500 w-full text-right text-xs font-semibold uppercase tracking-wide">Query Limits</p>
|
||||
<span class="flex flex-col items-end justify-center gap-1">
|
||||
<!-- Max person select options -->
|
||||
<span
|
||||
@@ -252,6 +253,7 @@ import {
|
||||
{/if}
|
||||
|
||||
<div class="flex flex-col flex-wrap items-center justify-evenly gap-1">
|
||||
<p class="text-surface-500 w-full text-center text-xs font-semibold uppercase tracking-wide">Display & Search</p>
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
@@ -340,6 +342,7 @@ import {
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col items-center justify-center gap-1">
|
||||
<p class="text-surface-500 w-full text-center text-xs font-semibold uppercase tracking-wide">Staff Options</p>
|
||||
{#if $ae_loc.trusted_access}
|
||||
<div class="flex flex-col items-center justify-center gap-1">
|
||||
{#if pres_mgmt_loc.current.show__copy_access_link}
|
||||
@@ -390,64 +393,68 @@ import {
|
||||
|
||||
{#if $ae_loc.authenticated_access}
|
||||
<div class="flex flex-col items-end justify-center gap-1">
|
||||
{#if pres_mgmt_loc.current.show_content__session_qr}
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
pres_mgmt_loc.current.show_content__session_qr = false;
|
||||
}}
|
||||
class="btn btn-sm ae_btn_surface w-full justify-between text-center"
|
||||
title="Showing Session QR Code">
|
||||
<ToggleRight size="1em" class="m-1" />
|
||||
<span class="grow">
|
||||
<QrCode size="1em" class="m-1" />
|
||||
Hide Session QR
|
||||
</span>
|
||||
</button>
|
||||
{:else}
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
pres_mgmt_loc.current.show_content__session_qr = true;
|
||||
}}
|
||||
class="btn btn-sm ae_btn_surface_outlined w-full justify-between text-center"
|
||||
title="Show Session QR Code">
|
||||
<ToggleLeft size="1em" class="m-1" />
|
||||
<span class="grow">
|
||||
<QrCode size="1em" class="m-1" />
|
||||
Show Session QR Code?
|
||||
</span>
|
||||
</button>
|
||||
{#if pres_mgmt_loc.current.show__session_qr || $ae_loc.trusted_access}
|
||||
{#if pres_mgmt_loc.current.show_content__session_qr}
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
pres_mgmt_loc.current.show_content__session_qr = false;
|
||||
}}
|
||||
class="btn btn-sm ae_btn_surface w-full justify-between text-center"
|
||||
title="Showing Session QR Code">
|
||||
<ToggleRight size="1em" class="m-1" />
|
||||
<span class="grow">
|
||||
<QrCode size="1em" class="m-1" />
|
||||
Hide Session QR
|
||||
</span>
|
||||
</button>
|
||||
{:else}
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
pres_mgmt_loc.current.show_content__session_qr = true;
|
||||
}}
|
||||
class="btn btn-sm ae_btn_surface_outlined w-full justify-between text-center"
|
||||
title="Show Session QR Code">
|
||||
<ToggleLeft size="1em" class="m-1" />
|
||||
<span class="grow">
|
||||
<QrCode size="1em" class="m-1" />
|
||||
Show Session QR Code?
|
||||
</span>
|
||||
</button>
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
{#if pres_mgmt_loc.current.show_content__presenter_qr}
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
pres_mgmt_loc.current.show_content__presenter_qr = false;
|
||||
}}
|
||||
class="btn btn-sm ae_btn_surface w-full justify-between text-center"
|
||||
title="Showing Presenter QR Code">
|
||||
<ToggleRight size="1em" class="m-1" />
|
||||
<span class="grow">
|
||||
<QrCode size="1em" class="m-1" />
|
||||
Hide Presenter QR
|
||||
</span>
|
||||
</button>
|
||||
{:else}
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
pres_mgmt_loc.current.show_content__presenter_qr = true;
|
||||
}}
|
||||
class="btn btn-sm ae_btn_surface_outlined w-full justify-between text-center"
|
||||
title="Show Presenter QR Code">
|
||||
<ToggleLeft size="1em" class="m-1" />
|
||||
<span class="grow">
|
||||
<QrCode size="1em" class="m-1" />
|
||||
Show Presenter QR Code?
|
||||
</span>
|
||||
</button>
|
||||
{#if pres_mgmt_loc.current.show__presenter_qr || $ae_loc.trusted_access}
|
||||
{#if pres_mgmt_loc.current.show_content__presenter_qr}
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
pres_mgmt_loc.current.show_content__presenter_qr = false;
|
||||
}}
|
||||
class="btn btn-sm ae_btn_surface w-full justify-between text-center"
|
||||
title="Showing Presenter QR Code">
|
||||
<ToggleRight size="1em" class="m-1" />
|
||||
<span class="grow">
|
||||
<QrCode size="1em" class="m-1" />
|
||||
Hide Presenter QR
|
||||
</span>
|
||||
</button>
|
||||
{:else}
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
pres_mgmt_loc.current.show_content__presenter_qr = true;
|
||||
}}
|
||||
class="btn btn-sm ae_btn_surface_outlined w-full justify-between text-center"
|
||||
title="Show Presenter QR Code">
|
||||
<ToggleLeft size="1em" class="m-1" />
|
||||
<span class="grow">
|
||||
<QrCode size="1em" class="m-1" />
|
||||
Show Presenter QR Code?
|
||||
</span>
|
||||
</button>
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
@@ -455,47 +462,29 @@ import {
|
||||
|
||||
{#if $ae_loc.authenticated_access}
|
||||
<div class="flex flex-col items-center justify-center gap-1">
|
||||
<!-- Show/Hide launcher links (new version) -->
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
pres_mgmt_loc.current.hide__launcher_link =
|
||||
!pres_mgmt_loc.current.hide__launcher_link;
|
||||
}}
|
||||
class="btn btn-sm ae_btn_surface w-full justify-between text-center">
|
||||
{#if pres_mgmt_loc.current.hide__launcher_link}<ToggleLeft
|
||||
size="1em"
|
||||
class="m-1" />{:else}<ToggleRight
|
||||
size="1em"
|
||||
class="m-1" />{/if}
|
||||
<span class="grow">
|
||||
<Plane size="1em" class="m-1" />
|
||||
{pres_mgmt_loc.current.hide__launcher_link
|
||||
? 'Show Launcher Links'
|
||||
: 'Hide Launcher Links?'}
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<!-- Show/Hide launcher links (legacy version) -->
|
||||
<!-- <button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
pres_mgmt_loc.current.hide__launcher_link_legacy =
|
||||
!pres_mgmt_loc.current.hide__launcher_link_legacy;
|
||||
}}
|
||||
class="btn btn-sm ae_btn_surface w-full justify-between text-center">
|
||||
{#if pres_mgmt_loc.current.hide__launcher_link_legacy}<ToggleLeft
|
||||
size="1em"
|
||||
class="m-1" />{:else}<ToggleRight
|
||||
size="1em"
|
||||
class="m-1" />{/if}
|
||||
<span class="grow">
|
||||
<Send size="1em" class="m-1" />
|
||||
{pres_mgmt_loc.current.hide__launcher_link_legacy
|
||||
? 'Show Legacy Launcher Links'
|
||||
: 'Hide Legacy Launcher Links?'}
|
||||
</span>
|
||||
</button> -->
|
||||
<!-- Show/Hide launcher links — only visible when admin has enabled launcher (show__launcher_link)
|
||||
OR user has trusted_access (staff onsite override) -->
|
||||
{#if pres_mgmt_loc.current.show__launcher_link || $ae_loc.trusted_access}
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
pres_mgmt_loc.current.hide__launcher_link =
|
||||
!pres_mgmt_loc.current.hide__launcher_link;
|
||||
}}
|
||||
class="btn btn-sm ae_btn_surface w-full justify-between text-center">
|
||||
{#if pres_mgmt_loc.current.hide__launcher_link}<ToggleLeft
|
||||
size="1em"
|
||||
class="m-1" />{:else}<ToggleRight
|
||||
size="1em"
|
||||
class="m-1" />{/if}
|
||||
<span class="grow">
|
||||
<Plane size="1em" class="m-1" />
|
||||
{pres_mgmt_loc.current.hide__launcher_link
|
||||
? 'Show Launcher Links'
|
||||
: 'Hide Launcher Links?'}
|
||||
</span>
|
||||
</button>
|
||||
{/if}
|
||||
|
||||
<!-- Show/Hide links to the location (room) -->
|
||||
<button
|
||||
|
||||
Reference in New Issue
Block a user