feat(stores): promote events auth state to Svelte 5 PersistedState
Creates ae_events_stores__auth.svelte.ts with PersistedState keyed 'ae_events_auth_loc' for auth__person and auth__kv (presenter/session sign-in state). Migrated 10 component files from $events_loc.auth__* to events_auth_loc.current.auth__*. Also fixed stale pres_mgmt stragglers: $events_loc.pres_mgmt.* refs in presenter_obj_li.svelte, presenter_page_menu.svelte, and [presenter_id]/ +page.svelte now use pres_mgmt_loc.current.* directly. show_details boolean moved from events_loc to leads_loc (it belongs in the leads module — one bind in ae_tab__manage.svelte). auth__person, auth__kv, show_details, events_cfg_json, event_id removed from events_local_data_struct. events_loc now only carries ver, title, and qry__* prefs. svelte-check: 0 errors, 0 warnings. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -30,7 +30,6 @@ import {
|
||||
} from '$lib/stores/ae_stores';
|
||||
// import { core_func } from '$lib/ae_core/ae_core_functions';
|
||||
// Ideally the Event related stores should not be imported here?
|
||||
import { events_loc } from '$lib/stores/ae_events_stores';
|
||||
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
|
||||
// import { db_events } from "$lib/db_events";
|
||||
|
||||
|
||||
@@ -28,10 +28,6 @@ const events_local_data_struct: key_val = {
|
||||
name: 'Aether - Events',
|
||||
title: `OSIT's Æ Events`,
|
||||
|
||||
events_cfg_json: {},
|
||||
|
||||
event_id: null,
|
||||
|
||||
// all, disabled, enabled
|
||||
qry__enabled: 'enabled',
|
||||
// all, hidden, not_hidden
|
||||
@@ -39,27 +35,9 @@ const events_local_data_struct: key_val = {
|
||||
qry__limit: 20,
|
||||
qry__offset: 0,
|
||||
|
||||
// The show details is intended for things like meta data and additional details that are not always needed.
|
||||
show_details: false,
|
||||
|
||||
auth__person: {}, // allow, id, name, email, passcode, etc
|
||||
// The auth__entered_key (usually email or person_id) and auth__entered_passcode is found under events_sess.entered_key and events_sess.entered_passcode because it should be temporary.
|
||||
// auth__entered_passcode: null,
|
||||
|
||||
// auth__kv tracks which IDs the browser client is permitted to access.
|
||||
// Each entry is an ID mapped to true, false, 'read', or 'write'.
|
||||
// Keys should be no older than a configurable max age (checked on read).
|
||||
auth__kv: {
|
||||
event: {},
|
||||
exhibit: {},
|
||||
location: {},
|
||||
session: {},
|
||||
presentation: {},
|
||||
presenter: {},
|
||||
person: {}
|
||||
},
|
||||
|
||||
// Event Presentation Launcher — see ae_events_stores__launcher_defaults.ts
|
||||
// auth__person and auth__kv have been promoted to events_auth_loc (ae_events_stores__auth.svelte.ts).
|
||||
// show_details has been moved to leads_loc (ae_events_stores__leads_defaults.ts).
|
||||
// events_cfg_json and event_id were unused — removed.
|
||||
// badges, leads, pres_mgmt, launcher have all been promoted to their own PersistedState stores.
|
||||
};
|
||||
|
||||
|
||||
30
src/lib/stores/ae_events_stores__auth.svelte.ts
Normal file
30
src/lib/stores/ae_events_stores__auth.svelte.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { PersistedState } from 'runed';
|
||||
|
||||
const events_auth_loc_defaults = {
|
||||
auth__person: {
|
||||
id: null as string | null,
|
||||
person_id: null as string | null,
|
||||
entered_key: null as string | null,
|
||||
email: null as string | null,
|
||||
full_name: null as string | null,
|
||||
presenter_id: null as string | null,
|
||||
presentation_id: null as string | null,
|
||||
session_id: null as string | null
|
||||
},
|
||||
auth__kv: {
|
||||
event: {} as Record<string, any>,
|
||||
exhibit: {} as Record<string, any>,
|
||||
location: {} as Record<string, any>,
|
||||
session: {} as Record<string, any>,
|
||||
presentation: {} as Record<string, any>,
|
||||
presenter: {} as Record<string, any>,
|
||||
person: {} as Record<string, any>
|
||||
}
|
||||
};
|
||||
|
||||
export const events_auth_loc = new PersistedState('ae_events_auth_loc', events_auth_loc_defaults, {
|
||||
serializer: {
|
||||
serialize: JSON.stringify,
|
||||
deserialize: (raw: string) => ({ ...events_auth_loc_defaults, ...JSON.parse(raw) })
|
||||
}
|
||||
});
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
export interface LeadsLocState {
|
||||
__version: number;
|
||||
show_details: boolean; // Show extra metadata/details in the leads tab (was events_loc.show_details)
|
||||
show_option__paid_tab: boolean;
|
||||
show_content__scan_alert: boolean;
|
||||
show_content__scan_requirements: boolean;
|
||||
@@ -80,6 +81,7 @@ export interface LeadsSessState {
|
||||
// Persisted leads config — survives browser sessions.
|
||||
export const leads_loc_defaults: LeadsLocState = {
|
||||
__version: 1,
|
||||
show_details: false, // Show extra metadata/details in the leads tab (was events_loc.show_details)
|
||||
show_option__paid_tab: true,
|
||||
show_content__scan_alert: true, // Workaround for QR scanner edge-case bug.
|
||||
show_content__scan_requirements: true,
|
||||
|
||||
@@ -7,7 +7,7 @@ import { page } from '$app/state';
|
||||
import { liveQuery } from 'dexie';
|
||||
import { db_events } from '$lib/ae_events/db_events';
|
||||
import { ae_api, ae_loc } from '$lib/stores/ae_stores';
|
||||
import { events_loc, events_sess } from '$lib/stores/ae_events_stores';
|
||||
import { events_sess } from '$lib/stores/ae_events_stores';
|
||||
import { leads_loc } from '$lib/stores/ae_events_stores__leads.svelte';
|
||||
import { events_func } from '$lib/ae_events/ae_events_functions';
|
||||
import Element_ae_obj_field_editor from '$lib/elements/element_ae_obj_field_editor.svelte';
|
||||
@@ -605,7 +605,7 @@ function handle_signout() {
|
||||
<input
|
||||
type="checkbox"
|
||||
class="checkbox"
|
||||
bind:checked={$events_loc.show_details} />
|
||||
bind:checked={leads_loc.current.show_details} />
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -33,6 +33,7 @@ import {
|
||||
// events_trigger
|
||||
} from '$lib/stores/ae_events_stores';
|
||||
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
|
||||
import { events_auth_loc } from '$lib/stores/ae_events_stores__auth.svelte';
|
||||
import { events_func } from '$lib/ae_events/ae_events_functions';
|
||||
|
||||
import Comp_event_files_upload from '../../../ae_comp__event_files_upload.svelte';
|
||||
@@ -593,10 +594,10 @@ if (
|
||||
<Element_manage_event_file_li_wrap
|
||||
link_to_type={'event'}
|
||||
link_to_id={$lq__event_obj?.event_id}
|
||||
allow_basic={$events_loc.auth__kv.session[
|
||||
allow_basic={events_auth_loc.current.auth__kv.session[
|
||||
$lq__event_obj?.event_id
|
||||
]}
|
||||
allow_moderator={$events_loc.auth__kv.session[
|
||||
allow_moderator={events_auth_loc.current.auth__kv.session[
|
||||
$lq__event_obj?.event_id
|
||||
]}
|
||||
container_class_li={''} />
|
||||
|
||||
@@ -33,6 +33,7 @@ import {
|
||||
events_trigger
|
||||
} from '$lib/stores/ae_events_stores';
|
||||
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
|
||||
import { events_auth_loc } from '$lib/stores/ae_events_stores__auth.svelte';
|
||||
import { events_func } from '$lib/ae_events/ae_events_functions';
|
||||
|
||||
import Comp_event_files_upload from '../../../../ae_comp__event_files_upload.svelte';
|
||||
@@ -108,7 +109,7 @@ let lq__event_presentation_obj = $derived(
|
||||
let lq__auth__event_presenter_obj = $derived(
|
||||
liveQuery(async () => {
|
||||
let results = await db_events.presenter.get(
|
||||
$events_loc.auth__person?.presenter_id ?? null
|
||||
events_auth_loc.current.auth__person?.presenter_id ?? null
|
||||
);
|
||||
|
||||
return results;
|
||||
@@ -201,7 +202,7 @@ let lq__auth__event_presenter_obj = $derived(
|
||||
<span
|
||||
class="flex flex-col items-end justify-center gap-0.25 font-normal">
|
||||
<span class="text-sm text-gray-600 dark:text-gray-400">
|
||||
{#if !$ae_loc.trusted_access && !$events_loc.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id] && !$events_loc.auth__kv.session[$lq__event_presenter_obj.event_session_id]}
|
||||
{#if !$ae_loc.trusted_access && !events_auth_loc.current.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id] && !events_auth_loc.current.auth__kv.session[$lq__event_presenter_obj.event_session_id]}
|
||||
<!-- Only show the domain name of the email address. -->
|
||||
<!-- ( -->
|
||||
<!-- {$lq__event_presenter_obj.email.replace(/@.*$/, '@...')} -->
|
||||
@@ -248,7 +249,7 @@ let lq__auth__event_presenter_obj = $derived(
|
||||
></MyClipboard>
|
||||
{/if}
|
||||
|
||||
{#if pres_mgmt_loc.current.require__presenter_agree && $events_loc?.pres_mgmt?.show__email_access_link && $lq__event_presenter_obj?.person_primary_email && ($ae_loc.public_access || !$events_loc.auth__person?.id)}
|
||||
{#if pres_mgmt_loc.current.require__presenter_agree && pres_mgmt_loc.current.show__email_access_link && $lq__event_presenter_obj?.person_primary_email && ($ae_loc.public_access || !events_auth_loc.current.auth__person?.id)}
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
@@ -348,7 +349,7 @@ let lq__auth__event_presenter_obj = $derived(
|
||||
</h3>
|
||||
|
||||
<!-- Yes... This is a duplicate of what is shown when they press "Presenter Files" button. It can be cleaned up later. -->
|
||||
{#if $ae_loc.trusted_access || $events_loc.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id]}
|
||||
{#if $ae_loc.trusted_access || events_auth_loc.current.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id]}
|
||||
<Comp_event_files_upload
|
||||
class_li="border border-surface-200-800 rounded-xl p-4 bg-surface-50-900 hover:bg-surface-100-900 transition-colors duration-200"
|
||||
link_to_type="event_presenter"
|
||||
@@ -379,13 +380,13 @@ let lq__auth__event_presenter_obj = $derived(
|
||||
<Element_manage_event_file_li_wrap
|
||||
link_to_type={'event_presenter'}
|
||||
link_to_id={$lq__event_presenter_obj?.event_presenter_id}
|
||||
allow_basic={$events_loc.auth__kv.presenter[
|
||||
allow_basic={events_auth_loc.current.auth__kv.presenter[
|
||||
$lq__event_presenter_obj?.event_presenter_id
|
||||
] ||
|
||||
$events_loc.auth__kv.presenter[
|
||||
events_auth_loc.current.auth__kv.presenter[
|
||||
$lq__event_presenter_obj?.event_presenter_id
|
||||
]}
|
||||
allow_moderator={$events_loc.auth__kv.presenter[
|
||||
allow_moderator={events_auth_loc.current.auth__kv.presenter[
|
||||
$lq__event_presenter_obj?.event_presenter_id
|
||||
]}
|
||||
container_class_li={''} />
|
||||
@@ -404,7 +405,7 @@ let lq__auth__event_presenter_obj = $derived(
|
||||
</span>
|
||||
</h3>
|
||||
|
||||
{#if $ae_loc.public_access || $events_loc.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id]}
|
||||
{#if $ae_loc.public_access || events_auth_loc.current.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id]}
|
||||
<Comp_event_files_upload
|
||||
class_li="border border-surface-200-800 rounded-xl p-4 bg-surface-50-900 hover:bg-surface-100-900 transition-colors duration-200"
|
||||
link_to_type="event_presenter"
|
||||
@@ -437,10 +438,10 @@ let lq__auth__event_presenter_obj = $derived(
|
||||
link_to_type={'event_presenter'}
|
||||
link_to_id={$lq__event_presenter_obj?.event_presenter_id}
|
||||
allow_basic={$ae_loc.public_access ||
|
||||
$events_loc.auth__kv.presenter[
|
||||
events_auth_loc.current.auth__kv.presenter[
|
||||
$lq__event_presenter_obj?.event_presenter_id
|
||||
]}
|
||||
allow_moderator={$events_loc.auth__kv.presenter[
|
||||
allow_moderator={events_auth_loc.current.auth__kv.presenter[
|
||||
$lq__event_presenter_obj?.event_presenter_id
|
||||
]}
|
||||
container_class_li={''} />
|
||||
|
||||
@@ -29,11 +29,11 @@ import {
|
||||
} from '$lib/stores/ae_stores';
|
||||
// import { db_events } from "$lib/db_events";
|
||||
import {
|
||||
events_loc,
|
||||
events_sess,
|
||||
events_slct,
|
||||
events_trigger
|
||||
} from '$lib/stores/ae_events_stores';
|
||||
import { events_auth_loc } from '$lib/stores/ae_events_stores__auth.svelte';
|
||||
import { events_func } from '$lib/ae_events/ae_events_functions';
|
||||
import {
|
||||
Check,
|
||||
@@ -334,7 +334,7 @@ async function handle_update__event_presenter({
|
||||
<button
|
||||
type="button"
|
||||
disabled={!$ae_loc.administrator_access &&
|
||||
!$events_loc.auth__kv.presentation[
|
||||
!events_auth_loc.current.auth__kv.presentation[
|
||||
$lq__event_presenter_obj
|
||||
?.event_presentation_id_random
|
||||
]}
|
||||
@@ -403,7 +403,7 @@ async function handle_update__event_presenter({
|
||||
<button
|
||||
type="button"
|
||||
disabled={!$ae_loc.administrator_access &&
|
||||
!$events_loc.auth__kv.presentation[
|
||||
!events_auth_loc.current.auth__kv.presentation[
|
||||
$lq__event_presenter_obj
|
||||
?.event_presentation_id_random
|
||||
]}
|
||||
|
||||
@@ -11,8 +11,9 @@ import { goto } from '$app/navigation';
|
||||
import { Modal } from 'flowbite-svelte';
|
||||
import { Check, Info, Pencil, QrCode, Settings, X } from '@lucide/svelte';
|
||||
import { ae_loc, ae_api } from '$lib/stores/ae_stores';
|
||||
import { events_loc, events_sess, events_slct } from '$lib/stores/ae_events_stores';
|
||||
import { events_sess, events_slct } from '$lib/stores/ae_events_stores';
|
||||
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
|
||||
import { events_auth_loc } from '$lib/stores/ae_events_stores__auth.svelte';
|
||||
import { events_func } from '$lib/ae_events/ae_events_functions';
|
||||
|
||||
import { api } from '$lib/api/api';
|
||||
@@ -100,7 +101,7 @@ async function on_delete(method: 'delete' | 'disable') {
|
||||
<button
|
||||
type="button"
|
||||
disabled={!$ae_loc.trusted_access &&
|
||||
!$events_loc.auth__kv.presenter[
|
||||
!events_auth_loc.current.auth__kv.presenter[
|
||||
$lq__event_presenter_obj?.event_presenter_id
|
||||
]}
|
||||
onclick={() => {
|
||||
@@ -120,7 +121,7 @@ async function on_delete(method: 'delete' | 'disable') {
|
||||
<button
|
||||
type="button"
|
||||
disabled={!$ae_loc.trusted_access &&
|
||||
!$events_loc.auth__kv.presenter[
|
||||
!events_auth_loc.current.auth__kv.presenter[
|
||||
$lq__event_presenter_obj?.event_presenter_id
|
||||
]}
|
||||
onclick={() => {
|
||||
@@ -183,8 +184,7 @@ async function on_delete(method: 'delete' | 'disable') {
|
||||
}}
|
||||
class="btn btn-sm"
|
||||
class:ae_btn_surface={pres_mgmt_loc.current.show_content__presenter_qr}
|
||||
class:ae_btn_surface_outlined={!$events_loc
|
||||
.pres_mgmt.show_content__presenter_qr}>
|
||||
class:ae_btn_surface_outlined={!pres_mgmt_loc.current.show_content__presenter_qr}>
|
||||
<QrCode size="1em" class="mr-1" />
|
||||
{pres_mgmt_loc.current.show_content__presenter_qr
|
||||
? 'Hide QR Code'
|
||||
|
||||
@@ -35,12 +35,12 @@ import {
|
||||
} from '$lib/stores/ae_stores';
|
||||
// import { db_events } from "$lib/ae_events/db_events";
|
||||
import {
|
||||
events_loc,
|
||||
events_sess,
|
||||
events_slct,
|
||||
events_trigger
|
||||
} from '$lib/stores/ae_events_stores';
|
||||
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
|
||||
import { events_auth_loc } from '$lib/stores/ae_events_stores__auth.svelte';
|
||||
import { events_func } from '$lib/ae_events/ae_events_functions';
|
||||
import {
|
||||
Asterisk,
|
||||
@@ -507,10 +507,10 @@ $effect(() => {
|
||||
|
||||
<li
|
||||
class:hidden={!$ae_loc.trusted_access &&
|
||||
!$events_loc.auth__kv.presenter[
|
||||
!events_auth_loc.current.auth__kv.presenter[
|
||||
$lq__event_presenter_obj?.event_presenter_id
|
||||
] &&
|
||||
!$events_loc.auth__kv.session[
|
||||
!events_auth_loc.current.auth__kv.session[
|
||||
$lq__event_presenter_obj.event_session_id
|
||||
]}>
|
||||
<Element_ae_obj_field_editor
|
||||
@@ -1050,7 +1050,7 @@ $effect(() => {
|
||||
<li
|
||||
class:hidden={!$lq__event_presenter_obj.person_id ||
|
||||
(!$ae_loc.trusted_access &&
|
||||
!$events_loc.auth__kv.presenter[
|
||||
!events_auth_loc.current.auth__kv.presenter[
|
||||
$lq__event_presenter_obj?.event_presenter_id
|
||||
])}>
|
||||
<Element_ae_obj_field_editor
|
||||
@@ -1145,7 +1145,7 @@ $effect(() => {
|
||||
name="biography"
|
||||
id="presenter__biography"
|
||||
disabled={!$ae_loc.trusted_access &&
|
||||
!$events_loc.auth__kv.presenter[
|
||||
!events_auth_loc.current.auth__kv.presenter[
|
||||
$lq__event_presenter_obj?.event_presenter_id
|
||||
]}
|
||||
class="textarea ae_value event_presenter__biography font-mono"
|
||||
|
||||
@@ -33,13 +33,13 @@ import {
|
||||
slct_trigger
|
||||
} from '$lib/stores/ae_stores';
|
||||
import {
|
||||
events_loc,
|
||||
events_sess,
|
||||
events_slct,
|
||||
events_trigger,
|
||||
events_trig_kv
|
||||
} from '$lib/stores/ae_events_stores';
|
||||
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
|
||||
import { events_auth_loc } from '$lib/stores/ae_events_stores__auth.svelte';
|
||||
import { events_func } from '$lib/ae_events/ae_events_functions';
|
||||
import { ae_util } from '$lib/ae_utils/ae_utils';
|
||||
import {
|
||||
@@ -186,7 +186,7 @@ let ae_tmp: key_val = $state({});
|
||||
{/if}
|
||||
</a>
|
||||
|
||||
{#if $events_loc?.pres_mgmt?.show__email_access_link && event_presenter_obj?.person_primary_email && ($ae_loc.administrator_access || !$events_loc.auth__person?.id)}
|
||||
{#if pres_mgmt_loc.current.show__email_access_link && event_presenter_obj?.person_primary_email && ($ae_loc.administrator_access || !events_auth_loc.current.auth__person?.id)}
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
@@ -249,7 +249,7 @@ let ae_tmp: key_val = $state({});
|
||||
<button
|
||||
type="button"
|
||||
disabled={!$ae_loc.trusted_access &&
|
||||
!$events_loc.auth__kv.presenter[
|
||||
!events_auth_loc.current.auth__kv.presenter[
|
||||
event_presenter_obj.event_presenter_id
|
||||
]}
|
||||
onclick={() => {
|
||||
@@ -275,7 +275,7 @@ let ae_tmp: key_val = $state({});
|
||||
<button
|
||||
type="button"
|
||||
disabled={!$ae_loc.trusted_access &&
|
||||
!$events_loc.auth__kv.presenter[
|
||||
!events_auth_loc.current.auth__kv.presenter[
|
||||
event_presenter_obj.event_presenter_id
|
||||
]}
|
||||
onclick={() => {
|
||||
|
||||
@@ -23,11 +23,11 @@ import { liveQuery } from 'dexie';
|
||||
import { db_events } from '$lib/ae_events/db_events';
|
||||
import { ae_snip, ae_loc, ae_api, slct } from '$lib/stores/ae_stores';
|
||||
import {
|
||||
events_loc,
|
||||
events_sess,
|
||||
events_slct
|
||||
} from '$lib/stores/ae_events_stores';
|
||||
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
|
||||
import { events_auth_loc } from '$lib/stores/ae_events_stores__auth.svelte';
|
||||
import { events_func } from '$lib/ae_events/ae_events_functions';
|
||||
|
||||
import Session_view from './session_view.svelte';
|
||||
@@ -98,7 +98,7 @@ let lq__event_presenter_obj = $derived.by(() => {
|
||||
});
|
||||
|
||||
let lq__auth__event_presenter_obj = $derived.by(() => {
|
||||
const pid = $events_loc.auth__person?.presenter_id;
|
||||
const pid = events_auth_loc.current.auth__person?.presenter_id;
|
||||
return liveQuery(async () => {
|
||||
if (!pid) return null;
|
||||
return await db_events.presenter.get(pid);
|
||||
@@ -178,7 +178,7 @@ if (!$events_sess.pres_mgmt) $events_sess.pres_mgmt = {};
|
||||
{#if pres_mgmt_loc.current.show_content__session_view === 'manage_files' && $ae_loc.authenticated_access}
|
||||
<!-- Session Files Section -->
|
||||
<div>
|
||||
{#if $ae_loc.trusted_access || $events_loc.auth__kv.session[url_session_id]}
|
||||
{#if $ae_loc.trusted_access || events_auth_loc.current.auth__kv.session[url_session_id]}
|
||||
<Comp_event_files_upload
|
||||
class_li="border border-surface-200-800 rounded-xl p-4 bg-surface-50-900 hover:bg-surface-100-900 transition-colors duration-200"
|
||||
link_to_type="event_session"
|
||||
@@ -202,9 +202,9 @@ if (!$events_sess.pres_mgmt) $events_sess.pres_mgmt = {};
|
||||
link_to_type="event_session"
|
||||
link_to_id={url_session_id}
|
||||
allow_basic={$ae_loc.trusted_access ||
|
||||
!!$events_loc.auth__kv.session[url_session_id]}
|
||||
!!events_auth_loc.current.auth__kv.session[url_session_id]}
|
||||
allow_moderator={$ae_loc.trusted_access ||
|
||||
!!$events_loc.auth__kv.session[url_session_id]}
|
||||
!!events_auth_loc.current.auth__kv.session[url_session_id]}
|
||||
container_class_li={''} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -21,12 +21,12 @@ import {
|
||||
slct_trigger
|
||||
} from '$lib/stores/ae_stores';
|
||||
import {
|
||||
events_loc,
|
||||
events_sess,
|
||||
events_slct,
|
||||
events_trigger
|
||||
} from '$lib/stores/ae_events_stores';
|
||||
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
|
||||
import { events_auth_loc } from '$lib/stores/ae_events_stores__auth.svelte';
|
||||
import { events_func } from '$lib/ae_events/ae_events_functions';
|
||||
|
||||
// Import components and elements
|
||||
@@ -312,7 +312,7 @@ async function handle_submit_form(event: SubmitEvent) {
|
||||
<button
|
||||
type="button"
|
||||
disabled={!$ae_loc.administrator_access &&
|
||||
!$events_loc.auth__kv.session[
|
||||
!events_auth_loc.current.auth__kv.session[
|
||||
$lq__event_session_obj?.event_session_id
|
||||
] === true}
|
||||
onclick={() => {
|
||||
|
||||
@@ -23,12 +23,12 @@ import {
|
||||
slct_trigger
|
||||
} from '$lib/stores/ae_stores';
|
||||
import {
|
||||
events_loc,
|
||||
events_sess,
|
||||
events_slct,
|
||||
events_trigger
|
||||
} from '$lib/stores/ae_events_stores';
|
||||
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
|
||||
import { events_auth_loc } from '$lib/stores/ae_events_stores__auth.svelte';
|
||||
import { events_func } from '$lib/ae_events/ae_events_functions';
|
||||
// import { db_events } from "$lib/db_events";
|
||||
import MyClipboard from '$lib/app_components/e_app_clipboard.svelte';
|
||||
@@ -131,7 +131,7 @@ let clipboard_success = $state(false);
|
||||
name="biography"
|
||||
id="session_poc__biography"
|
||||
disabled={!$ae_loc.trusted_access &&
|
||||
!$events_loc.auth__kv.session[
|
||||
!events_auth_loc.current.auth__kv.session[
|
||||
$lq__event_session_obj?.event_session_id_random
|
||||
]}
|
||||
class="textarea ae_value event_session__biography font-mono"
|
||||
|
||||
@@ -17,8 +17,9 @@ import { goto } from '$app/navigation';
|
||||
import { Modal } from 'flowbite-svelte';
|
||||
import { Clock, Info, Send, Settings, ToggleLeft, ToggleRight, X } from '@lucide/svelte';
|
||||
import { ae_loc, ae_api } from '$lib/stores/ae_stores';
|
||||
import { events_loc, events_slct } from '$lib/stores/ae_events_stores';
|
||||
import { events_slct } from '$lib/stores/ae_events_stores';
|
||||
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
|
||||
import { events_auth_loc } from '$lib/stores/ae_events_stores__auth.svelte';
|
||||
import { events_func } from '$lib/ae_events/ae_events_functions';
|
||||
|
||||
import { api } from '$lib/api/api';
|
||||
@@ -132,7 +133,7 @@ async function toggle_hide_launcher() {
|
||||
|
||||
<span
|
||||
class="ae_menu__action_options"
|
||||
class:hidden={!$events_loc.auth__person?.id}>
|
||||
class:hidden={!events_auth_loc.current.auth__person?.id}>
|
||||
{#if $lq__event_session_obj?.event_id}
|
||||
<Sign_in_out
|
||||
{data}
|
||||
|
||||
@@ -27,12 +27,12 @@ import {
|
||||
slct_trigger
|
||||
} from '$lib/stores/ae_stores';
|
||||
import {
|
||||
events_loc,
|
||||
events_sess,
|
||||
events_slct,
|
||||
events_trigger,
|
||||
events_trig_kv
|
||||
} from '$lib/stores/ae_events_stores';
|
||||
import { events_auth_loc } from '$lib/stores/ae_events_stores__auth.svelte';
|
||||
import { LogIn, X } from '@lucide/svelte';
|
||||
onMount(() => {
|
||||
console.log('Browser environment detected.');
|
||||
@@ -110,16 +110,16 @@ function session_sign_in() {
|
||||
$ae_loc.public_access = true;
|
||||
$ae_loc.authenticated_access = true;
|
||||
|
||||
$events_loc.auth__person.id = $events_sess.auth__person.id; // person_id
|
||||
$events_loc.auth__person.person_id = $events_sess.auth__person.id;
|
||||
$events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // need to verify entered_key...
|
||||
events_auth_loc.current.auth__person.id = $events_sess.auth__person.id; // person_id
|
||||
events_auth_loc.current.auth__person.person_id = $events_sess.auth__person.id;
|
||||
events_auth_loc.current.auth__person.entered_key = $events_sess.auth__entered_key; // need to verify entered_key...
|
||||
|
||||
$events_loc.auth__kv.person[$events_sess.auth__person.person_id] = true;
|
||||
$events_loc.auth__kv.session[$events_sess.auth__person.session_id] = true;
|
||||
$events_loc.auth__kv.presentation[
|
||||
events_auth_loc.current.auth__kv.person[$events_sess.auth__person.person_id] = true;
|
||||
events_auth_loc.current.auth__kv.session[$events_sess.auth__person.session_id] = true;
|
||||
events_auth_loc.current.auth__kv.presentation[
|
||||
$events_sess.auth__person.presentation_id
|
||||
] = false; // Set to false for session POC (LCI Champions).
|
||||
$events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] =
|
||||
events_auth_loc.current.auth__kv.presenter[$events_sess.auth__person.presenter_id] =
|
||||
false; // Set to false for session POC (LCI Champions).
|
||||
|
||||
// Setting again here... just because for now.
|
||||
@@ -141,31 +141,31 @@ function presenter_sign_in() {
|
||||
|
||||
$ae_loc.person_id = $events_sess.auth__person.id;
|
||||
|
||||
$events_loc.auth__person.id = $events_sess.auth__person.id; // person_id
|
||||
$events_loc.auth__person.person_id = $events_sess.auth__person.id;
|
||||
// $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case
|
||||
events_auth_loc.current.auth__person.id = $events_sess.auth__person.id; // person_id
|
||||
events_auth_loc.current.auth__person.person_id = $events_sess.auth__person.id;
|
||||
// events_auth_loc.current.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case
|
||||
// $lq__auth__event_presenter_obj.full_name
|
||||
// $events_loc.auth__person.email = 'test@example.com';
|
||||
// $events_loc.auth__person.full_name = 'Test Person';
|
||||
$events_loc.auth__person.presenter_id =
|
||||
// events_auth_loc.current.auth__person.email = 'test@example.com';
|
||||
// events_auth_loc.current.auth__person.full_name = 'Test Person';
|
||||
events_auth_loc.current.auth__person.presenter_id =
|
||||
$events_sess.auth__person.presenter_id;
|
||||
|
||||
$events_loc.auth__kv.person[$events_sess.auth__person.person_id] = true;
|
||||
// $events_loc.auth__kv.session[$events_sess.auth__person.session_id] = 'read'; // Set to 'read' for presenters.
|
||||
$events_loc.auth__kv.session[event_session_id] = 'read'; // Set to 'read' for presenters.
|
||||
$events_loc.auth__kv.presentation[
|
||||
events_auth_loc.current.auth__kv.person[$events_sess.auth__person.person_id] = true;
|
||||
// events_auth_loc.current.auth__kv.session[$events_sess.auth__person.session_id] = 'read'; // Set to 'read' for presenters.
|
||||
events_auth_loc.current.auth__kv.session[event_session_id] = 'read'; // Set to 'read' for presenters.
|
||||
events_auth_loc.current.auth__kv.presentation[
|
||||
$events_sess.auth__person.presentation_id
|
||||
] = true; // true implies read/write access
|
||||
$events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] =
|
||||
events_auth_loc.current.auth__kv.presenter[$events_sess.auth__person.presenter_id] =
|
||||
true; // true implies read/write access
|
||||
|
||||
// Setting again here... just because for now.
|
||||
// $events_slct.auth__event_presentation_id = $events_sess.auth__person.presentation_id;
|
||||
// $events_slct.auth__event_presenter_id = $events_sess.auth__person.presenter_id;
|
||||
|
||||
$events_loc.auth__person.presentation_id =
|
||||
events_auth_loc.current.auth__person.presentation_id =
|
||||
$events_sess.auth__person.presentation_id;
|
||||
$events_loc.auth__person.presenter_id =
|
||||
events_auth_loc.current.auth__person.presenter_id =
|
||||
$events_sess.auth__person.presenter_id;
|
||||
}
|
||||
|
||||
@@ -173,19 +173,20 @@ function sign_out() {
|
||||
$ae_loc.authenticated_access = false;
|
||||
$ae_loc.access_type = 'anonymous';
|
||||
|
||||
$events_loc.auth__person = {
|
||||
events_auth_loc.current.auth__person = {
|
||||
id: null,
|
||||
email: null,
|
||||
full_name: null,
|
||||
entered_key: null,
|
||||
entered_passcode: null,
|
||||
person_id: null,
|
||||
presenter_id: null,
|
||||
presentation_id: null,
|
||||
session_id: null
|
||||
};
|
||||
$events_loc.auth__kv = {
|
||||
events_auth_loc.current.auth__kv = {
|
||||
event: {},
|
||||
exhibit: {},
|
||||
location: {},
|
||||
session: {},
|
||||
presentation: {},
|
||||
presenter: {},
|
||||
@@ -199,7 +200,7 @@ function sign_out() {
|
||||
</script>
|
||||
|
||||
<span>
|
||||
{#if $events_loc.auth__person?.id}
|
||||
{#if events_auth_loc.current.auth__person?.id}
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm preset-tonal-warning"
|
||||
|
||||
@@ -28,13 +28,13 @@ import {
|
||||
} from '$lib/stores/ae_stores';
|
||||
import { events_func } from '$lib/ae_events/ae_events_functions';
|
||||
import {
|
||||
events_loc,
|
||||
events_sess,
|
||||
events_slct,
|
||||
events_trigger,
|
||||
events_trig_kv
|
||||
} from '$lib/stores/ae_events_stores';
|
||||
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
|
||||
import { events_auth_loc } from '$lib/stores/ae_events_stores__auth.svelte';
|
||||
import Element_ae_obj_field_editor from '$lib/elements/element_ae_obj_field_editor.svelte';
|
||||
import Comp_event_presenter_obj_li from '../events/[event_id]/(pres_mgmt)/presenter/ae_comp__event_presenter_obj_li_wrapper.svelte';
|
||||
import Element_manage_event_file_li_wrap from '$lib/elements/element_manage_event_file_li_all.svelte';
|
||||
@@ -384,13 +384,13 @@ import {
|
||||
<Element_manage_event_file_li_wrap
|
||||
link_to_type={'event_presentation'}
|
||||
link_to_id={event_presentation_obj?.event_presentation_id}
|
||||
allow_basic={$events_loc.auth__kv.session[
|
||||
allow_basic={events_auth_loc.current.auth__kv.session[
|
||||
$events_slct.event_session_id
|
||||
] ||
|
||||
$events_loc.auth__kv.presenter[
|
||||
events_auth_loc.current.auth__kv.presenter[
|
||||
$events_slct.event_presenter_id
|
||||
]}
|
||||
allow_moderator={$events_loc.auth__kv.session[
|
||||
allow_moderator={events_auth_loc.current.auth__kv.session[
|
||||
$events_slct.event_session_id
|
||||
]}
|
||||
container_class_li={''} />
|
||||
|
||||
Reference in New Issue
Block a user