diff --git a/src/lib/elements/element_manage_event_file_li.svelte b/src/lib/elements/element_manage_event_file_li.svelte index 9a644dc6..c130b056 100644 --- a/src/lib/elements/element_manage_event_file_li.svelte +++ b/src/lib/elements/element_manage_event_file_li.svelte @@ -17,7 +17,6 @@ import { slct_trigger } from '$lib/stores/ae_stores'; import { - events_loc, events_sess, events_slct, events_trigger diff --git a/src/lib/stores/ae_events_stores.ts b/src/lib/stores/ae_events_stores.ts index a50c432f..ccd4c2ec 100644 --- a/src/lib/stores/ae_events_stores.ts +++ b/src/lib/stores/ae_events_stores.ts @@ -1,13 +1,12 @@ -// store_versions MUST be first import — its side-effect wipes stale localStorage -// before svelte-persisted-store hydrates from it. -import { AE_EVENTS_LOC_VERSION } from '$lib/stores/store_versions'; - -import { persisted } from 'svelte-persisted-store'; import { writable } from 'svelte/store'; import type { Writable } from 'svelte/store'; import type { key_val } from '$lib/stores/ae_stores'; +// Static display title for the Events module. Always this value — nothing writes to it. +// Use this constant instead of $events_loc.title (which is being retired). +export const EVENTS_MODULE_TITLE = `OSIT's Æ Events`; + import { badges_sess_defaults } from '$lib/stores/ae_events_stores__badges_defaults'; import { launcher_sess_defaults } from '$lib/stores/ae_events_stores__launcher_defaults'; import { leads_sess_defaults } from '$lib/stores/ae_events_stores__leads_defaults'; @@ -18,38 +17,10 @@ import { pres_mgmt_sess_defaults } from '$lib/stores/ae_events_stores__pres_mgmt // events_session_data_struct.ver. See store_versions.ts for the schema-level wipe mechanism. const ver = '2025-10-16_2139'; -/* *** BEGIN *** Initialize events_local_data_struct */ -// Persisted to localStorage. Retains user preferences and event-specific config across -// browser sessions. See store_versions.ts for the schema-level invalidation mechanism. -const events_local_data_struct: key_val = { - __version: AE_EVENTS_LOC_VERSION, // Schema version gate — see store_versions.ts - ver: ver, // Deployment stamp — compared against events_sess.ver to trigger reloads. - - name: 'Aether - Events', - title: `OSIT's Æ Events`, - - // all, disabled, enabled - qry__enabled: 'enabled', - // all, hidden, not_hidden - qry__hidden: 'not_hidden', - qry__limit: 20, - qry__offset: 0, - - // 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. -}; - -export const events_loc: Writable = persisted( - 'ae_events_loc', - events_local_data_struct -); - /* *** BEGIN *** Initialize events_session_data_struct */ // In-memory only (writable, not persisted). Resets on page load. const events_session_data_struct: key_val = { - // Deployment stamp — compared against events_loc.ver in events/+layout.svelte. + // Deployment version stamp — bump alongside ver above when pushing breaking changes. ver: ver, log_lvl: 1, diff --git a/src/routes/events/+layout.svelte b/src/routes/events/+layout.svelte index 629bb9e0..a2ce3efd 100644 --- a/src/routes/events/+layout.svelte +++ b/src/routes/events/+layout.svelte @@ -5,15 +5,11 @@ let log_lvl: number = $state(0); // *** Import Svelte specific import { untrack } from 'svelte'; // import { browser } from '$app/environment'; -import { goto } from '$app/navigation'; // *** Import other supporting libraries // import * as icons from '@lucide/svelte'; import { - Brain, House, - Library, - RefreshCw, Satellite, ArrowUp, ArrowDown @@ -24,11 +20,9 @@ import type { key_val } from '$lib/stores/ae_stores'; import { ae_loc, ae_sess, ae_api, slct } from '$lib/stores/ae_stores'; import Element_data_store from '$lib/elements/element_data_store.svelte'; import { - events_loc, + EVENTS_MODULE_TITLE, events_sess, - events_slct, - events_trigger, - events_trig_kv + events_slct } from '$lib/stores/ae_events_stores'; interface Props { @@ -42,10 +36,10 @@ let { data, children }: Props = $props(); // Use effects for store initializations to prevent render-phase updates $effect(() => { untrack(() => { - $events_loc.qry__enabled = 'enabled'; - $events_loc.qry__hidden = 'not_hidden'; - $events_loc.qry__limit = 15; - $events_loc.qry__offset = 0; + $events_sess.qry__enabled = 'enabled'; + $events_sess.qry__hidden = 'not_hidden'; + $events_sess.qry__limit = 15; + $events_sess.qry__offset = 0; }); }); @@ -132,70 +126,10 @@ function clear_sess() { - Æ: Events - {$events_loc.title ?? 'Æ loading...'} + Æ: Events - {EVENTS_MODULE_TITLE} -{#if $events_loc?.ver && $events_loc?.ver !== $events_sess?.ver} -
- -
-{/if} - diff --git a/src/routes/events/[event_id]/(badges)/badges/+layout.svelte b/src/routes/events/[event_id]/(badges)/badges/+layout.svelte index 470c5040..437b6f9f 100644 --- a/src/routes/events/[event_id]/(badges)/badges/+layout.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/+layout.svelte @@ -43,9 +43,9 @@ function parse_scroll() { max_length: 12 })} - Badges v3 - - {$events_loc?.title} + {EVENTS_MODULE_TITLE} --> - + {@render children?.()} diff --git a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/print/+page.svelte b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/print/+page.svelte index 81b76a44..09e9b3d2 100644 --- a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/print/+page.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/print/+page.svelte @@ -14,7 +14,7 @@ import { browser } from '$app/environment'; import { fade } from 'svelte/transition'; import { ae_loc, ae_sess } from '$lib/stores/ae_stores'; import { db_events } from '$lib/ae_events/db_events'; -import { events_loc } from '$lib/stores/ae_events_stores'; +import { EVENTS_MODULE_TITLE } from '$lib/stores/ae_events_stores'; import { page } from '$app/state'; import { ArrowLeft, Contact, Eye, LoaderCircle, Mail, PrinterCheck, UserCheck } from '@lucide/svelte'; import { ae_util } from '$lib/ae_utils/ae_utils'; @@ -93,7 +93,7 @@ function send_review_email() { const email = is_trusted ? (badge?.email ?? '(no email on file)') : obscure_email(badge?.email); - const event_name = $events_loc?.title ?? 'this event'; + const event_name = EVENTS_MODULE_TITLE; alert( `PLACEHOLDER: An email will be sent to ${name} at ${email}. Use that link to review your ${event_name} badge.` ); @@ -333,7 +333,7 @@ $effect(() => { {$lq__event_badge_obj?.full_name_override ?? $lq__event_badge_obj?.full_name ?? '—'} - {$events_loc?.title ? ` — ${$events_loc.title}` : ''} + — {EVENTS_MODULE_TITLE} { {/if} - {#if badge_type_display || $events_loc?.title} -

- {badge_type_display}{badge_type_display && - $events_loc?.title - ? ' · ' - : ''}{$events_loc?.title ?? ''} -

- {:else if is_printed && $lq__event_badge_obj.print_last_datetime} -

- Last printed {ae_util.iso_datetime_formatter($lq__event_badge_obj.print_last_datetime, 'date_full_no_year')} {ae_util.iso_datetime_formatter($lq__event_badge_obj.print_last_datetime, 'time_12_long')} -

- {/if} +

+ {badge_type_display}{badge_type_display ? ' · ' : ''}{EVENTS_MODULE_TITLE} +

diff --git a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/review/+page.svelte b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/review/+page.svelte index 27084135..6e9e4c65 100644 --- a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/review/+page.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/review/+page.svelte @@ -25,7 +25,7 @@ import { liveQuery } from 'dexie'; import { ae_loc } from '$lib/stores/ae_stores'; import { db_events } from '$lib/ae_events/db_events'; -import { events_loc } from '$lib/stores/ae_events_stores'; +import { EVENTS_MODULE_TITLE } from '$lib/stores/ae_events_stores'; import { events_func } from '$lib/ae_events/ae_events_functions'; import { default_authenticated_can_edit, @@ -175,7 +175,7 @@ function send_review_email() { const email = is_trusted ? (badge?.email ?? '(no email on file)') : obscure_email(badge?.email); - const event_name = $events_loc?.title ?? 'this event'; + const event_name = EVENTS_MODULE_TITLE; alert( `PLACEHOLDER: An email will be sent to ${name} at ${email}. Use that link to review your ${event_name} badge.` ); @@ -209,7 +209,7 @@ let can_edit_fields: string[] = $derived.by(() => { {$lq__event_badge_obj?.full_name_override ?? $lq__event_badge_obj?.full_name ?? '—'} - {$events_loc?.title ? ` — ${$events_loc.title}` : ''} + — {EVENTS_MODULE_TITLE} diff --git a/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_obj_li.svelte b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_obj_li.svelte index 6a166745..c62dbafd 100644 --- a/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_obj_li.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_obj_li.svelte @@ -22,7 +22,7 @@ let { }: Props = $props(); import { ae_loc } from '$lib/stores/ae_stores'; -import { events_loc } from '$lib/stores/ae_events_stores'; +import { EVENTS_MODULE_TITLE } from '$lib/stores/ae_events_stores'; import { badges_loc } from '$lib/stores/ae_events_stores__badges.svelte'; import { ae_util } from '$lib/ae_utils/ae_utils'; import { @@ -97,7 +97,7 @@ function do_send_review_email(event_badge_obj: any) { const email = is_trusted ? (event_badge_obj?.email ?? '(no email on file)') : obscure_email(event_badge_obj?.email); - const event_name = $events_loc?.title ?? 'this event'; + const event_name = EVENTS_MODULE_TITLE; alert( `PLACEHOLDER: An email will be sent to ${name} at ${email}. Use that link to review your ${event_name} badge.` ); diff --git a/src/routes/events/[event_id]/(badges)/badges/reports/+page.svelte b/src/routes/events/[event_id]/(badges)/badges/reports/+page.svelte index 1e7a831b..d5a1abfc 100644 --- a/src/routes/events/[event_id]/(badges)/badges/reports/+page.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/reports/+page.svelte @@ -11,7 +11,7 @@ import { page } from '$app/state'; import { ae_loc } from '$lib/stores/ae_stores'; import { db_events } from '$lib/ae_events/db_events'; -import { events_loc } from '$lib/stores/ae_events_stores'; +import { EVENTS_MODULE_TITLE } from '$lib/stores/ae_events_stores'; import { ArrowLeft, TrendingUp, Type, Gauge, FileSpreadsheet, LoaderCircle } from '@lucide/svelte'; import Reports_badge_long_names from './reports_badge_long_names.svelte'; @@ -47,7 +47,7 @@ let reprint_count = $derived( - Badge Reports — {$lq__event_obj?.name ?? '…'} — {$events_loc?.title ?? 'Æ'} + Badge Reports — {$lq__event_obj?.name ?? '…'} — {EVENTS_MODULE_TITLE} diff --git a/src/routes/events/[event_id]/(launcher)/cfg_components/launcher_cfg_section.svelte b/src/routes/events/[event_id]/(launcher)/cfg_components/launcher_cfg_section.svelte index 7c593e3a..c4f8d7bb 100644 --- a/src/routes/events/[event_id]/(launcher)/cfg_components/launcher_cfg_section.svelte +++ b/src/routes/events/[event_id]/(launcher)/cfg_components/launcher_cfg_section.svelte @@ -1,6 +1,5 @@