fix(pres_mgmt): presenter QR follows session QR global-default pattern
show__presenter_qr (admin) is meant to be the global default for everyone, signed in or not. show_content__presenter_qr is a trusted-staff-only local override for when the admin hasn't enabled it globally. Presenter QR was still on the old logic requiring show_content__presenter_qr to also be true even when the admin enabled it for everyone — non-trusted users (presenters) have no way to set that flag, so QR never appeared for them. - presenter_view.svelte: generation effect + display block now use show__presenter_qr || (trusted_access && show_content__presenter_qr), matching the session_view.svelte fix from earlier today - presenter_page_menu.svelte: QR toggle was gated to administrator_access, hiding it from plain Trusted onsite staff; loosened to trusted_access and dropped the redundant `|| trusted_access` (now only shown when admin hasn't already enabled QR globally) - ae_comp__events_menu_opts.svelte: both session and presenter QR toggles were visible to all authenticated_access users whenever admin had enabled QR globally, even though the toggle had no effect for them; now gated to trusted_access && !show__*_qr, matching session_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:
@@ -175,14 +175,17 @@ async function on_delete(method: 'delete' | 'disable') {
|
||||
|
||||
<div class="flex flex-col gap-4 p-4">
|
||||
<!-- Presenter-specific display options -->
|
||||
{#if $ae_loc.administrator_access}
|
||||
{#if $ae_loc.trusted_access}
|
||||
<section>
|
||||
<h4
|
||||
class="text-surface-500 mb-2 text-xs font-semibold tracking-wider uppercase">
|
||||
Display
|
||||
</h4>
|
||||
<div class="flex flex-row flex-wrap gap-2">
|
||||
{#if pres_mgmt_loc.current.show__presenter_qr || $ae_loc.trusted_access}
|
||||
<!-- QR Code toggle — only shown to trusted staff and only when
|
||||
admin has NOT already enabled QR globally (if they have,
|
||||
it shows automatically without needing this toggle) -->
|
||||
{#if !pres_mgmt_loc.current.show__presenter_qr}
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
|
||||
@@ -109,8 +109,14 @@ $effect(() => {
|
||||
console.log(`$lq__event_presenter_obj:`, $lq__event_presenter_obj);
|
||||
}
|
||||
|
||||
if (pres_mgmt_loc.current.show_content__presenter_qr &&
|
||||
(pres_mgmt_loc.current.show__presenter_qr || $ae_loc.trusted_access)) {
|
||||
// Generate QR when admin has enabled it (show__presenter_qr) OR trusted staff
|
||||
// has turned on their local override (show_content__presenter_qr).
|
||||
// show_content__presenter_qr is NOT required when show__presenter_qr is true —
|
||||
// non-trusted users (presenters) have no way to toggle it.
|
||||
if (
|
||||
pres_mgmt_loc.current.show__presenter_qr ||
|
||||
($ae_loc.trusted_access && pres_mgmt_loc.current.show_content__presenter_qr)
|
||||
) {
|
||||
if (
|
||||
$lq__event_presenter_obj.updated_on ==
|
||||
$events_sess.pres_mgmt.presenter__updated_on
|
||||
@@ -209,7 +215,7 @@ $effect(() => {
|
||||
{#await ae_promises.generate_qr_code_url}
|
||||
Generating...
|
||||
{:then result}
|
||||
{#if ae_promises.generate_qr_code_url && (pres_mgmt_loc.current.show__presenter_qr || $ae_loc.trusted_access)}
|
||||
{#if ae_promises.generate_qr_code_url && (pres_mgmt_loc.current.show__presenter_qr || ($ae_loc.trusted_access && pres_mgmt_loc.current.show_content__presenter_qr))}
|
||||
<div
|
||||
class="group float-right m-1 flex flex-col items-center justify-center p-1 outline outline-gray-200 transition-all">
|
||||
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
||||
|
||||
@@ -393,7 +393,10 @@ import {
|
||||
|
||||
{#if $ae_loc.authenticated_access}
|
||||
<div class="flex flex-col items-end justify-center gap-1">
|
||||
{#if pres_mgmt_loc.current.show__session_qr || $ae_loc.trusted_access}
|
||||
<!-- Session QR toggle — only shown to trusted staff and only when
|
||||
admin has NOT already enabled QR globally (if they have, it
|
||||
shows automatically for everyone without needing this toggle) -->
|
||||
{#if $ae_loc.trusted_access && !pres_mgmt_loc.current.show__session_qr}
|
||||
{#if pres_mgmt_loc.current.show_content__session_qr}
|
||||
<button
|
||||
type="button"
|
||||
@@ -425,7 +428,10 @@ import {
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
{#if pres_mgmt_loc.current.show__presenter_qr || $ae_loc.trusted_access}
|
||||
<!-- Presenter QR toggle — only shown to trusted staff and only when
|
||||
admin has NOT already enabled QR globally (if they have, it
|
||||
shows automatically for everyone without needing this toggle) -->
|
||||
{#if $ae_loc.trusted_access && !pres_mgmt_loc.current.show__presenter_qr}
|
||||
{#if pres_mgmt_loc.current.show_content__presenter_qr}
|
||||
<button
|
||||
type="button"
|
||||
|
||||
Reference in New Issue
Block a user