Significant work on getting badges ready again.

This commit is contained in:
Scott Idem
2025-10-06 18:43:33 -04:00
parent 88e4ab119d
commit d8b7ad61b3
11 changed files with 1059 additions and 11 deletions

View File

@@ -0,0 +1,128 @@
<script lang="ts">
interface Props {
/** @type {import('./$types').PageData} */
data: any;
log_lvl?: number;
}
let {
data,
log_lvl = 0
}: Props = $props();
// *** Import Svelte specific
// import { goto } from '$app/navigation';
// *** Import other supporting libraries
// import { browser } from '$app/environment';
import { liveQuery } from "dexie";
// *** Import Aether specific variables and functions
// import type { key_val } from '$lib/ae_stores';
import { ae_util } from '$lib/ae_utils/ae_utils';
// import { core_func } from '$lib/ae_core_functions';
import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores';
// import Element_ae_crud from '$lib/element_ae_crud
// import Element_data_store from '$lib/element_data_store_v2.svelte';
// import MyClipboard from '$lib/e_app_clipboard.svelte';
import { db_events } from "$lib/ae_events/db_events";
// import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores';
import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores';
// import { events_func } from '$lib/ae_events_functions';
import Comp_badge_search from './ae_comp__badge_search.svelte';
import Comp_badge_obj_li from './ae_comp__badge_obj_li.svelte';
// *** Variables
// let test_event_id = data.params.event_id;
// console.log(`Data Params: event_id=${test_event_id}`);
let url_test_val = data.url.searchParams.get('test_val');
console.log(`URL test_val = ${url_test_val}`);
let lq__event_obj = $derived(liveQuery(async () => {
if (log_lvl) {
console.log(`*** LiveQuery: lq__event_obj *** event_id=${$events_slct.event_id}`);
}
let results = await db_events.event
.get($events_slct?.event_id ?? '');
return results;
}));
let event_badge_id_li: Array<string> = $state([]);
// let dq__where_type_id_val: string = `event_id_random`;
// let dq__where_eq_id_val: string = $events_slct?.event_id ?? '';
// let lq__event_badge_obj_li = $derived(liveQuery(async () => {
// if (event_badge_id_li.length > 0) {
// let results = await db_events.badge
// .bulkGet(event_badge_id_li);
// return results;
// } else {
// let results = await db_events.badge
// .where(dq__where_type_id_val)
// .equals(dq__where_eq_id_val)
// .sortBy('given_name')
// // This should be sorted by a custom sort field
// return results;
// }
// }));
// *** Functions and Logic
// if (browser) {
// console.log('Browser environment detected.');
// let url_test_val = data.url.searchParams.get('test_val');
// console.log(`URL test_val = ${url_test_val}`);
// }
</script>
<svelte:head>
<title>
Badges -
{ae_util.shorten_string({string: $lq__event_obj?.name ?? '-- not set --', max_length: 12})}
- OSIT's &AElig; Events
</title>
</svelte:head>
<!-- badges +page: Where is here??? -->
<!-- event_badge_obj_li={$lq__event_badge_obj_li} -->
<Comp_badge_search
event_id={$events_slct?.event_id ?? ''}
bind:event_badge_id_li={event_badge_id_li}
log_lvl={1}
>
</Comp_badge_search>
<!-- {#await $lq__event_badge_obj_li}
Loading....
{:then event_badge_obj_li}
{/await} -->
{#if event_badge_id_li && event_badge_id_li?.length > 0}
<Comp_badge_obj_li
event_badge_id_li={event_badge_id_li}
log_lvl={1}
>
</Comp_badge_obj_li>
{:else}
<p class="p-4 italic text-sm text-surface-400">No badges found for this event.</p>
{/if}