The badge view ID now correctly renders a badge! This took way too long. So many $ were removed and things missed.

This commit is contained in:
Scott Idem
2026-01-16 13:07:28 -05:00
parent 07572e0f5c
commit 5ee17c2925
5 changed files with 65 additions and 45 deletions

View File

@@ -96,6 +96,14 @@ export async function load_ae_obj_id__event({
log_lvl
});
}
if (inc_template_li) {
ae_promises.load__event_obj.event_badge_template_obj_li =
await load_ae_obj_li__event_badge_template({
api_cfg,
event_id,
log_lvl
});
}
}
return ae_promises.load__event_obj;

View File

@@ -197,6 +197,9 @@ export interface Badge_template {
id: string;
// id_random: string;
event_badge_template_id?: null | string;
event_badge_template_id_random?: null | string;
event_id: string;
event_id_random: string;
@@ -824,7 +827,7 @@ export class MySubClassedDexie extends Dexie {
enable, hide, priority, sort, group, notes, created_on, updated_on`,
badge_template: `
id, event_id, event_id_random`,
id, id_random, event_badge_template_id, badge_template_id, event_id, event_id_random`,
device: `
id, id_random, event_device_id_random, event_device_id,

View File

@@ -58,6 +58,30 @@
})
);
let lq__event_badge_template_obj = $derived(
liveQuery(async () => {
let results = await db_events.badge_template.get($lq__event_badge_obj?.event_badge_template_id ?? ''); // null or undefined does not reset things like '' does
if (log_lvl) {
console.log(
`*** LiveQuery: lq__event_badge_template_obj *** event_badge_template_id=${
$lq__event_badge_obj?.event_badge_template_id ?? ''
}`,
results
);
}
// Check if results are different than the current session version stored under $events_slct
// if ($events_slct.event_badge_obj && results) {
// if (JSON.stringify($events_slct.event_badge_obj) !== JSON.stringify(results)) {
// $events_slct.event_badge_obj = { ...results };
// }
// }
return results;
})
);
let is_review_mode: boolean = $state(false);
// *** Functions and Logic
@@ -134,6 +158,7 @@
{event_badge_id}
lq__event_badge_obj={lq__event_badge_obj}
{is_review_mode}
lq__event_badge_template_obj={lq__event_badge_template_obj}
/>
{/if}
{:else}

View File

@@ -3,6 +3,7 @@
event_id: string;
event_badge_id: string;
lq__event_badge_obj?: any;
lq__event_badge_template_obj?: any;
update_status?: string;
update_complete?: boolean;
is_review_mode?: boolean;
@@ -13,6 +14,7 @@
event_id,
event_badge_id,
lq__event_badge_obj,
lq__event_badge_template_obj,
update_status = $bindable('idle'),
update_complete = $bindable(true),
is_review_mode = false,
@@ -109,7 +111,7 @@
$lq__event_badge_obj.affiliations_override ?? $lq__event_badge_obj.affiliations;
editable_location_override =
$lq__event_badge_obj.location_override ?? $lq__event_badge_obj.location;
editable_allow_tracking = lq__event_badge_obj.allow_tracking ?? null;
editable_allow_tracking = $lq__event_badge_obj.allow_tracking ?? null;
editable_email = $lq__event_badge_obj.email ?? null;
editable_badge_type_code = $lq__event_badge_obj.badge_type_code ?? null;
@@ -175,35 +177,6 @@
// WARNING: This does not currently take into account the total lengths of the strings, only the longest part when split by spaces. This help with wrapping in the tighter spaces of the badge.
let lq__event_badge_template_obj = $derived(
liveQuery(async () => {
let results = await db_events.badge_template.get($lq__event_badge_obj?.event_badge_id ?? ''); // null or undefined does not reset things like '' does
// Check if results are different than the current session version stored under $events_slct
// if ($events_slct.event_badge_obj && results) {
// if (JSON.stringify($events_slct.event_badge_obj) !== JSON.stringify(results)) {
// $events_slct.event_badge_obj = { ...results };
// }
// }
return results;
})
);
// let lq__event_badge_template_obj: any = $state(null);
// $effect(() => {
// if ($lq__event_badge_obj?.event_badge_template_id) {
// const sub = liveQuery(() =>
// db_events.badge_template.get($lq__event_badge_obj.event_badge_template_id)
// ).subscribe((val) => {
// lq__event_badge_template_obj = val;
// });
// return () => sub.unsubscribe();
// } else {
// lq__event_badge_template_obj = null;
// }
// });
$effect(() => {
// Re-calculate font sizes based on potentially edited values
@@ -370,8 +343,8 @@
}
async function handle_save_changes() {
if (!$lq__event_badge_obj?.event_badge_id_random) {
console.error('Cannot save changes: event_badge_id_random is missing.');
if (!$lq__event_badge_obj?.event_badge_id) {
console.error('Cannot save changes: event_badge_id is missing.');
return;
}
@@ -431,7 +404,7 @@
await events_func.update_ae_obj__event_badge({
api_cfg: $ae_api,
event_id: event_id,
event_badge_id: $lq__event_badge_obj.event_badge_id_random,
event_badge_id: $lq__event_badge_obj.event_badge_id,
data_kv: data_to_update,
log_lvl: log_lvl
});
@@ -476,12 +449,12 @@
<!--
onclick={() => {
$slct.event_badge_obj = event_badge_obj;
$slct.event_badge_id = $lq__event_badge_obj.event_badge_id_random;
$slct.event_badge_id = $lq__event_badge_obj.event_badge_id;
slct_this_badge = true
}}
onkeypress={() => {
// event_badge_obj = event_badge_obj;
// event_badge_id = $lq__event_badge_obj.event_badge_id_random;
// event_badge_id = $lq__event_badge_obj.event_badge_id;
// slct_this_badge = true
}} -->
@@ -506,6 +479,15 @@ onkeypress={() => {
max-w-[8.5in] overflow-visible
"
>
<!-- <pre>
{$lq__event_badge_obj?.event_id}
{$lq__event_badge_obj?.event_badge_id}
{$lq__event_badge_obj?.event_badge_template_id}
{$lq__event_badge_template_obj?.id}
{$lq__event_badge_template_obj?.name}
</pre> -->
{#if $lq__event_badge_obj && $lq__event_badge_template_obj}
<!-- max-w-lg -->
<!-- *** badge_front section start *** -->
@@ -849,7 +831,6 @@ onkeypress={() => {
class="badge_footer
{editable_badge_type_code?.toLowerCase()}
justify-self-end
min-h-[.25in]
max-h-[.50in]
max-w-full
m-0 p-0
@@ -907,7 +888,7 @@ onkeypress={() => {
Generating...
{:then result}
{#if initial_loading_promise}
<img class="mecard_qr qr_code" style="" src="/event/qr_image/event_badge_obj_{$lq__event_badge_obj.event_badge_id_random}?qr_filename=attendee_qr.png" alt="missing QR code">
<img class="mecard_qr qr_code" style="" src="/event/qr_image/event_badge_obj_{$lq__event_badge_obj.event_badge_id}?qr_filename=attendee_qr.png" alt="missing QR code">
{/if}
{/await}
</div>
@@ -917,7 +898,7 @@ onkeypress={() => {
Generating...
{:then result}
{#if initial_loading_promise}
<img class="qr_code mecard_qr" style="" src="/event/qr_image/event_badge_mecard_{$lq__event_badge_obj.event_badge_id_random}?qr_filename=attendee_qr.png" alt="missing QR code">
<img class="qr_code mecard_qr" style="" src="/event/qr_image/event_badge_mecard_{$lq__event_badge_obj.event_badge_id}?qr_filename=attendee_qr.png" alt="missing QR code">
{/if}
{/await} -->
@@ -939,7 +920,7 @@ onkeypress={() => {
hide_qr ? (hide_qr = false) : (hide_qr = true);
}}
/>
<!-- src="{$cfg.api['base_url']}/qr/{$ae_loc.account_id}/{$lq__event_badge_obj.event_badge_id_random}?filename=qr_{$ae_loc.account_id}_{$lq__event_badge_obj.event_badge_id_random}_mecard.png" -->
<!-- src="{$cfg.api['base_url']}/qr/{$ae_loc.account_id}/{$lq__event_badge_obj.event_badge_id}?filename=qr_{$ae_loc.account_id}_{$lq__event_badge_obj.event_badge_id}_mecard.png" -->
{/if}
{/await}
{/if}
@@ -954,7 +935,6 @@ onkeypress={() => {
class="badge_back
flex flex-col gap-1
items-center justify-between
min-h-[6.0in]
max-h-[6.0in]
w-[4in]
max-w-fit
@@ -979,7 +959,6 @@ onkeypress={() => {
<div
class="badge_back_header
image
min-h-[1.00in]
max-h-[1.00in]
max-w-full
m-0 p-0
@@ -1189,7 +1168,7 @@ onkeypress={() => {
z-10
"
>
{$lq__event_badge_obj.event_badge_id_random}
{$lq__event_badge_obj.event_badge_id}
</span>
</div>
{#await qr_data_url}
@@ -1222,7 +1201,7 @@ onkeypress={() => {
italic
"
>
{#if allow_tracking}
{#if $lq__event_badge_obj.allow_tracking}
<p>
This was <strong>allowed</strong> at the time your badge
was printed. You may opt-out at anytime.
@@ -1413,6 +1392,9 @@ onkeypress={() => {
<!-- End if for $lq__event_badge_template_obj -->
</section>
<div>
<h1 class="text-lg font-bold mt-4">Debug Information</h1>
<pre
class="whitespace-pre-wrap break-words text-xs max-h-32 overflow-auto p-2 bg-surface-200 border border-surface-300 rounded
mt-4
@@ -1427,4 +1409,5 @@ onkeypress={() => {
print:hidden
">
{JSON.stringify($lq__event_badge_template_obj, null, 2)}
</pre>
</pre>
</div>

View File

@@ -63,6 +63,7 @@ export async function load({ params, parent, url }) {
// ae_acct.slct.event_device_obj_li = load_event_obj.event_device_obj_li;
ae_acct.slct.event_location_obj_li = load_event_obj.event_location_obj_li;
ae_acct.slct.event_session_obj_li = load_event_obj.event_session_obj_li;
ae_acct.slct.badge_template_obj_li = load_event_obj.event_badge_template_obj_li;
}
// WARNING: Precaution against shared data between sites and sessions.