diff --git a/src/routes/events/[event_id]/(pres_mgmt)/presenter/[presenter_id]/presenter_page_menu.svelte b/src/routes/events/[event_id]/(pres_mgmt)/presenter/[presenter_id]/presenter_page_menu.svelte index 9e13b67d..af17a0c3 100644 --- a/src/routes/events/[event_id]/(pres_mgmt)/presenter/[presenter_id]/presenter_page_menu.svelte +++ b/src/routes/events/[event_id]/(pres_mgmt)/presenter/[presenter_id]/presenter_page_menu.svelte @@ -24,6 +24,17 @@ import AE_Record_Controls from '$lib/ae_elements/AE_Record_Controls.svelte'; let show_modal = $state(false); let show_help = $state(false); +// WHY: auth__kv.presenter[id] is only set when a sign-in link is clicked for that +// specific presenter record. A person presenting in multiple sessions would need to +// click every link. The person_id match covers them across all their presenter records +// once they've signed in via any one link. +let presenter_agree_enabled = $derived( + $ae_loc.trusted_access || + !!events_auth_loc.current.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id ?? ''] || + (!!events_auth_loc.current.auth__person.id && + events_auth_loc.current.auth__person.id === $lq__event_presenter_obj?.person_id) +); + async function on_toggle(field: string, new_val: boolean) { await api.update_ae_obj({ api_cfg: $ae_api, @@ -100,10 +111,7 @@ async function on_delete(method: 'delete' | 'disable') { {#if $lq__event_presenter_obj?.agree}