From d8b7ad61b366d86927603818fd861e5a947f090b Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Mon, 6 Oct 2025 18:43:33 -0400 Subject: [PATCH] Significant work on getting badges ready again. --- package.json | 2 +- src/lib/ae_events_stores.ts | 3 + .../[event_id]/(badges)/badges/+layout.svelte | 48 +- .../[event_id]/(badges)/badges/+page.svelte | 128 +++++ .../(badges)/badges/[badge_id]/+page.svelte | 114 ++++ .../badges/ae_comp__badge_obj_li.svelte | 243 ++++++++ .../badges/ae_comp__badge_search.svelte | 521 ++++++++++++++++++ ..._comp__event_session_obj_li_wrapper.svelte | 5 +- src/routes/journals/+layout.svelte | 2 +- .../journals/[journal_id]/+layout.svelte | 2 +- src/routes/journals/hold+layout.svelte | 2 +- 11 files changed, 1059 insertions(+), 11 deletions(-) create mode 100644 src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_obj_li.svelte create mode 100644 src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_search.svelte diff --git a/package.json b/package.json index afbba67b..a0527d0f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "osit-aether-app-svelte", - "version": "3.7.0", + "version": "3.7.1", "description": "One Sky IT's Aether App created with Svelte, SvelteKit, Tailwind CSS, Lucide, Font Awesome, and Skeleton UI. -Scott Idem", "homepage": "https://oneskyit.com/", "private": true, diff --git a/src/lib/ae_events_stores.ts b/src/lib/ae_events_stores.ts index 0a77a252..a3ce5727 100644 --- a/src/lib/ae_events_stores.ts +++ b/src/lib/ae_events_stores.ts @@ -89,6 +89,9 @@ let events_local_data_struct: key_val = { // 'theme_mode': 'dark', // 'theme_name': 'wintry', + 'fulltext_search_qry_str': null, + 'status_qry__search': null, + 'classes__form': 'border border-surface-200 p-4 space-y-4 rounded-container', }, diff --git a/src/routes/events/[event_id]/(badges)/badges/+layout.svelte b/src/routes/events/[event_id]/(badges)/badges/+layout.svelte index 377b4cc0..519ceadd 100644 --- a/src/routes/events/[event_id]/(badges)/badges/+layout.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/+layout.svelte @@ -1,18 +1,19 @@ + + + + + Badges - + {ae_util.shorten_string({string: $lq__event_obj?.name ?? '-- not set --', max_length: 12})} + - OSIT's Æ Events + + + + + + + + + + + + + + + +{#if event_badge_id_li && event_badge_id_li?.length > 0} + + +{:else} +

No badges found for this event.

+{/if} \ No newline at end of file diff --git a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/+page.svelte b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/+page.svelte index e69de29b..ef9a1449 100644 --- a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/+page.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/+page.svelte @@ -0,0 +1,114 @@ + + + + + + Badges - + {ae_util.shorten_string({string: $lq__event_badge_obj?.full_name ?? '-- not set --', max_length: 12})} + - OSIT's Æ Events + + + + + + +event {data.params.event_id} / badge {data.params.badge_id} + +{#if $lq__event_badge_obj} +
+

+ Badge: + {#if $lq__event_badge_obj.full_name} + {$lq__event_badge_obj.full_name} + {:else if $lq__event_badge_obj.given_name} + {$lq__event_badge_obj.given_name} + {:else} + -- no name -- + {/if} +

+ + + Back to Search + +
+ +
+        {JSON.stringify($lq__event_badge_obj, null, 2)}
+    
+{:else} +

No IDB record found for ID: {event_badge_id}

+{/if} 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 new file mode 100644 index 00000000..3d088fa2 --- /dev/null +++ b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_obj_li.svelte @@ -0,0 +1,243 @@ + + + +
+ +{#if event_badge_id_li?.length && $lq__event_badge_obj_li && $lq__event_badge_obj_li?.length} +
+

Results:

+
+ + {$lq__event_badge_obj_li.length}× +
+
+ + + + + + +{:else} +
+

No badges available to show in table.

+
+{/if} +
\ No newline at end of file diff --git a/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_search.svelte b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_search.svelte new file mode 100644 index 00000000..eb537b72 --- /dev/null +++ b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_search.svelte @@ -0,0 +1,521 @@ + + + +
+ + + + + +{#if $events_sess.badges.show_form__search} +
{ + // ae_triggers.event_badge_qry = 'load__event_badge_obj_li'; + ae_triggers.event_badge_qry = true; + })} + autocomplete="off" + class=" + form grow + flex flex-row flex-wrap gap-1 items-center justify-center + w-full + " + > + + + + + + +{#if $ae_loc.trusted_access && badge_type_code_li} + + +{/if} + + + + { + if ($events_loc.badges.fulltext_search_qry_str.length >= 7) { + ae_triggers.event_badge_qry = true; + } + }} + autofocus + suggest="off" + data-lpignore="true" + /> + + + +
+ + +{:else if $events_sess.badges.show_form__scan} + Not implemented yet. +{/if} + + +
+ {#if $events_sess.badges.show_form__search} + + {:else if $events_sess.badges.show_form__scan} + + {/if} +
+ +
\ No newline at end of file diff --git a/src/routes/events/ae_comp__event_session_obj_li_wrapper.svelte b/src/routes/events/ae_comp__event_session_obj_li_wrapper.svelte index 4981379d..aa7dc343 100644 --- a/src/routes/events/ae_comp__event_session_obj_li_wrapper.svelte +++ b/src/routes/events/ae_comp__event_session_obj_li_wrapper.svelte @@ -36,7 +36,7 @@ if (log_lvl > 1) { let dq__where_type_id_val: string = `${link_to_type}_id_random`; let dq__where_eq_id_val: string = link_to_id ?? ''; -// *** Functions and Logic + let lq__event_session_obj_li = $derived(liveQuery(async () => { if (link_to_type && link_to_id) { let results = await db_events.session @@ -56,6 +56,9 @@ let lq__event_session_obj_li = $derived(liveQuery(async () => { return null; } })); + +// *** Functions and Logic + diff --git a/src/routes/journals/+layout.svelte b/src/routes/journals/+layout.svelte index 7cba76c0..1bd4e54e 100644 --- a/src/routes/journals/+layout.svelte +++ b/src/routes/journals/+layout.svelte @@ -253,7 +253,7 @@ function scroll_container() { pb-48 " > - {@render children()} + {@render children?.()} diff --git a/src/routes/journals/[journal_id]/+layout.svelte b/src/routes/journals/[journal_id]/+layout.svelte index b39f9df3..350823a8 100644 --- a/src/routes/journals/[journal_id]/+layout.svelte +++ b/src/routes/journals/[journal_id]/+layout.svelte @@ -421,7 +421,7 @@ let lq__journal_obj = $derived(liveQuery(async () => { -{@render children()} +{@render children?.()} diff --git a/src/routes/journals/hold+layout.svelte b/src/routes/journals/hold+layout.svelte index e1131bc9..dbe33f68 100644 --- a/src/routes/journals/hold+layout.svelte +++ b/src/routes/journals/hold+layout.svelte @@ -59,7 +59,7 @@ import { notes_loc, notes_slct, notes_trigger } from '$lib/ae_journals/ae_journa
- {@render children()} + {@render children?.()}
\ No newline at end of file