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 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; return ae_promises.load__event_obj;

View File

@@ -197,6 +197,9 @@ export interface Badge_template {
id: string; id: string;
// id_random: string; // id_random: string;
event_badge_template_id?: null | string;
event_badge_template_id_random?: null | string;
event_id: string; event_id: string;
event_id_random: string; event_id_random: string;
@@ -824,7 +827,7 @@ export class MySubClassedDexie extends Dexie {
enable, hide, priority, sort, group, notes, created_on, updated_on`, enable, hide, priority, sort, group, notes, created_on, updated_on`,
badge_template: ` badge_template: `
id, event_id, event_id_random`, id, id_random, event_badge_template_id, badge_template_id, event_id, event_id_random`,
device: ` device: `
id, id_random, event_device_id_random, event_device_id, 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); let is_review_mode: boolean = $state(false);
// *** Functions and Logic // *** Functions and Logic
@@ -134,6 +158,7 @@
{event_badge_id} {event_badge_id}
lq__event_badge_obj={lq__event_badge_obj} lq__event_badge_obj={lq__event_badge_obj}
{is_review_mode} {is_review_mode}
lq__event_badge_template_obj={lq__event_badge_template_obj}
/> />
{/if} {/if}
{:else} {:else}

View File

@@ -3,6 +3,7 @@
event_id: string; event_id: string;
event_badge_id: string; event_badge_id: string;
lq__event_badge_obj?: any; lq__event_badge_obj?: any;
lq__event_badge_template_obj?: any;
update_status?: string; update_status?: string;
update_complete?: boolean; update_complete?: boolean;
is_review_mode?: boolean; is_review_mode?: boolean;
@@ -13,6 +14,7 @@
event_id, event_id,
event_badge_id, event_badge_id,
lq__event_badge_obj, lq__event_badge_obj,
lq__event_badge_template_obj,
update_status = $bindable('idle'), update_status = $bindable('idle'),
update_complete = $bindable(true), update_complete = $bindable(true),
is_review_mode = false, is_review_mode = false,
@@ -109,7 +111,7 @@
$lq__event_badge_obj.affiliations_override ?? $lq__event_badge_obj.affiliations; $lq__event_badge_obj.affiliations_override ?? $lq__event_badge_obj.affiliations;
editable_location_override = editable_location_override =
$lq__event_badge_obj.location_override ?? $lq__event_badge_obj.location; $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_email = $lq__event_badge_obj.email ?? null;
editable_badge_type_code = $lq__event_badge_obj.badge_type_code ?? 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. // 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(() => { $effect(() => {
// Re-calculate font sizes based on potentially edited values // Re-calculate font sizes based on potentially edited values
@@ -370,8 +343,8 @@
} }
async function handle_save_changes() { async function handle_save_changes() {
if (!$lq__event_badge_obj?.event_badge_id_random) { if (!$lq__event_badge_obj?.event_badge_id) {
console.error('Cannot save changes: event_badge_id_random is missing.'); console.error('Cannot save changes: event_badge_id is missing.');
return; return;
} }
@@ -431,7 +404,7 @@
await events_func.update_ae_obj__event_badge({ await events_func.update_ae_obj__event_badge({
api_cfg: $ae_api, api_cfg: $ae_api,
event_id: event_id, 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, data_kv: data_to_update,
log_lvl: log_lvl log_lvl: log_lvl
}); });
@@ -476,12 +449,12 @@
<!-- <!--
onclick={() => { onclick={() => {
$slct.event_badge_obj = event_badge_obj; $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 slct_this_badge = true
}} }}
onkeypress={() => { onkeypress={() => {
// event_badge_obj = event_badge_obj; // 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 // slct_this_badge = true
}} --> }} -->
@@ -506,6 +479,15 @@ onkeypress={() => {
max-w-[8.5in] overflow-visible 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} {#if $lq__event_badge_obj && $lq__event_badge_template_obj}
<!-- max-w-lg --> <!-- max-w-lg -->
<!-- *** badge_front section start *** --> <!-- *** badge_front section start *** -->
@@ -849,7 +831,6 @@ onkeypress={() => {
class="badge_footer class="badge_footer
{editable_badge_type_code?.toLowerCase()} {editable_badge_type_code?.toLowerCase()}
justify-self-end justify-self-end
min-h-[.25in]
max-h-[.50in] max-h-[.50in]
max-w-full max-w-full
m-0 p-0 m-0 p-0
@@ -907,7 +888,7 @@ onkeypress={() => {
Generating... Generating...
{:then result} {:then result}
{#if initial_loading_promise} {#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} {/if}
{/await} {/await}
</div> </div>
@@ -917,7 +898,7 @@ onkeypress={() => {
Generating... Generating...
{:then result} {:then result}
{#if initial_loading_promise} {#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} {/if}
{/await} --> {/await} -->
@@ -939,7 +920,7 @@ onkeypress={() => {
hide_qr ? (hide_qr = false) : (hide_qr = true); 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} {/if}
{/await} {/await}
{/if} {/if}
@@ -954,7 +935,6 @@ onkeypress={() => {
class="badge_back class="badge_back
flex flex-col gap-1 flex flex-col gap-1
items-center justify-between items-center justify-between
min-h-[6.0in]
max-h-[6.0in] max-h-[6.0in]
w-[4in] w-[4in]
max-w-fit max-w-fit
@@ -979,7 +959,6 @@ onkeypress={() => {
<div <div
class="badge_back_header class="badge_back_header
image image
min-h-[1.00in]
max-h-[1.00in] max-h-[1.00in]
max-w-full max-w-full
m-0 p-0 m-0 p-0
@@ -1189,7 +1168,7 @@ onkeypress={() => {
z-10 z-10
" "
> >
{$lq__event_badge_obj.event_badge_id_random} {$lq__event_badge_obj.event_badge_id}
</span> </span>
</div> </div>
{#await qr_data_url} {#await qr_data_url}
@@ -1222,7 +1201,7 @@ onkeypress={() => {
italic italic
" "
> >
{#if allow_tracking} {#if $lq__event_badge_obj.allow_tracking}
<p> <p>
This was <strong>allowed</strong> at the time your badge This was <strong>allowed</strong> at the time your badge
was printed. You may opt-out at anytime. was printed. You may opt-out at anytime.
@@ -1413,6 +1392,9 @@ onkeypress={() => {
<!-- End if for $lq__event_badge_template_obj --> <!-- End if for $lq__event_badge_template_obj -->
</section> </section>
<div>
<h1 class="text-lg font-bold mt-4">Debug Information</h1>
<pre <pre
class="whitespace-pre-wrap break-words text-xs max-h-32 overflow-auto p-2 bg-surface-200 border border-surface-300 rounded 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 mt-4
@@ -1428,3 +1410,4 @@ onkeypress={() => {
"> ">
{JSON.stringify($lq__event_badge_template_obj, null, 2)} {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_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_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.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. // WARNING: Precaution against shared data between sites and sessions.