diff --git a/src/routes/events/[event_id]/(badges)/badges/+layout.svelte b/src/routes/events/[event_id]/(badges)/badges/+layout.svelte index 2f8d28a2..72794b07 100644 --- a/src/routes/events/[event_id]/(badges)/badges/+layout.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/+layout.svelte @@ -36,9 +36,13 @@ let lq__event_obj = $derived( liveQuery(async () => { if (log_lvl) { - console.log(`*** LiveQuery: lq__event_obj *** event_id=${$events_slct.event_id}`); + console.log( + `*** LiveQuery: lq__event_obj *** event_id=${$events_slct.event_id}` + ); } - let results = await db_events.event.get($events_slct?.event_id ?? ''); + let results = await db_events.event.get( + $events_slct?.event_id ?? '' + ); return results; }) diff --git a/src/routes/events/[event_id]/(badges)/badges/+page.svelte b/src/routes/events/[event_id]/(badges)/badges/+page.svelte index a41e5f9c..7df7e68b 100644 --- a/src/routes/events/[event_id]/(badges)/badges/+page.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/+page.svelte @@ -15,10 +15,7 @@ // *** Import Aether specific variables and functions import { ae_util } from '$lib/ae_utils/ae_utils'; - import { - ae_loc, - ae_api - } from '$lib/stores/ae_stores'; + import { ae_loc, ae_api } from '$lib/stores/ae_stores'; import { db_events } from '$lib/ae_events/db_events'; import { @@ -39,13 +36,20 @@ // *** Initialization & Store Guard *** // Ensure all search fields are initialized to prevent circular undefined triggers if ($events_loc.badges) { - if (typeof $events_loc.badges.search_version === 'undefined') $events_loc.badges.search_version = 0; - if (typeof $events_loc.badges.qry__remote_first === 'undefined') $events_loc.badges.qry__remote_first = false; - if (typeof $events_loc.badges.fulltext_search_qry_str === 'undefined') $events_loc.badges.fulltext_search_qry_str = ''; - if (typeof $events_loc.badges.search_badge_type_code === 'undefined') $events_loc.badges.search_badge_type_code = ''; - if (typeof $events_loc.badges.qry_printed_status === 'undefined') $events_loc.badges.qry_printed_status = 'all'; - if (typeof $events_loc.badges.qry_affiliations === 'undefined') $events_loc.badges.qry_affiliations = ''; - if (typeof $events_loc.badges.qry_sort_order === 'undefined') $events_loc.badges.qry_sort_order = ''; + if (typeof $events_loc.badges.search_version === 'undefined') + $events_loc.badges.search_version = 0; + if (typeof $events_loc.badges.qry__remote_first === 'undefined') + $events_loc.badges.qry__remote_first = false; + if (typeof $events_loc.badges.fulltext_search_qry_str === 'undefined') + $events_loc.badges.fulltext_search_qry_str = ''; + if (typeof $events_loc.badges.search_badge_type_code === 'undefined') + $events_loc.badges.search_badge_type_code = ''; + if (typeof $events_loc.badges.qry_printed_status === 'undefined') + $events_loc.badges.qry_printed_status = 'all'; + if (typeof $events_loc.badges.qry_affiliations === 'undefined') + $events_loc.badges.qry_affiliations = ''; + if (typeof $events_loc.badges.qry_sort_order === 'undefined') + $events_loc.badges.qry_sort_order = ''; } // Variables @@ -61,18 +65,28 @@ let lq__event_badge_obj_li = $derived.by(() => { const ids = event_badge_id_li; const event_id = $events_slct?.event_id; - + return liveQuery(async () => { // SCENARIO 1: Specific IDs provided (Search Results) if (Array.isArray(ids) && ids.length > 0) { - if (log_lvl) console.log(`Badge Page LQ: bulkGet ${ids.length} IDs`); + if (log_lvl) + console.log(`Badge Page LQ: bulkGet ${ids.length} IDs`); const results = await db_events.badge.bulkGet(ids); - return results.filter(item => item !== undefined); + return results.filter((item) => item !== undefined); } - + // SCENARIO 2: Fallback broad search (Only if no active filters) - if (event_id && !$events_loc.badges.fulltext_search_qry_str && $events_loc.badges.qry_printed_status === 'all' && !$events_loc.badges.qry_affiliations && !$events_loc.badges.search_badge_type_code) { - if (log_lvl) console.log(`Badge Page LQ: Fallback search for event: ${event_id}`); + if ( + event_id && + !$events_loc.badges.fulltext_search_qry_str && + $events_loc.badges.qry_printed_status === 'all' && + !$events_loc.badges.qry_affiliations && + !$events_loc.badges.search_badge_type_code + ) { + if (log_lvl) + console.log( + `Badge Page LQ: Fallback search for event: ${event_id}` + ); return await db_events.badge .where('event_id_random') .equals(event_id) @@ -88,7 +102,9 @@ // 1. Isolate dependencies into a stable derived object let search_params = $derived({ v: $events_loc.badges.search_version, - str: ($events_loc.badges.fulltext_search_qry_str ?? '').toLowerCase().trim(), + str: ($events_loc.badges.fulltext_search_qry_str ?? '') + .toLowerCase() + .trim(), type: $events_loc.badges.search_badge_type_code, printed: $events_loc.badges.qry_printed_status, aff: ($events_loc.badges.qry_affiliations ?? '').toLowerCase().trim(), @@ -122,9 +138,12 @@ const current_search_id = ++last_search_id; const event_id = params.event_id; const remote_first = params.remote_first; - - if (log_lvl) console.log(`[Badge Search #${current_search_id}] Refreshing (remote=${remote_first}, event=${event_id}, str=${params.str})...`); - + + if (log_lvl) + console.log( + `[Badge Search #${current_search_id}] Refreshing (remote=${remote_first}, event=${event_id}, str=${params.str})...` + ); + untrack(() => { $events_sess.badges.search_status = 'loading'; $events_sess.badges.search_complete = false; @@ -142,36 +161,56 @@ let local_results = await db_events.badge .where('event_id_random') .equals(event_id) - .filter(badge => { - if (type_code && badge.badge_type_code !== type_code) return false; - + .filter((badge) => { + if ( + type_code && + badge.badge_type_code !== type_code + ) + return false; + if (printed_status !== 'all') { const is_printed = (badge.print_count ?? 0) > 0; - if (printed_status === 'printed' && !is_printed) return false; - if (printed_status === 'not_printed' && is_printed) return false; + if (printed_status === 'printed' && !is_printed) + return false; + if ( + printed_status === 'not_printed' && + is_printed + ) + return false; } - + if (qry_str) { - const given_name = (badge.given_name ?? '').toLowerCase(); - const family_name = (badge.family_name ?? '').toLowerCase(); - const full_name = `${given_name} ${family_name}`.toLowerCase(); + const given_name = ( + badge.given_name ?? '' + ).toLowerCase(); + const family_name = ( + badge.family_name ?? '' + ).toLowerCase(); + const full_name = + `${given_name} ${family_name}`.toLowerCase(); const email = (badge.email ?? '').toLowerCase(); - const qry_string = (badge.default_qry_str ?? '').toLowerCase(); - - const match = full_name.includes(qry_str) || - given_name.includes(qry_str) || - family_name.includes(qry_str) || - email.includes(qry_str) || - qry_string.includes(qry_str); - + const qry_string = ( + badge.default_qry_str ?? '' + ).toLowerCase(); + + const match = + full_name.includes(qry_str) || + given_name.includes(qry_str) || + family_name.includes(qry_str) || + email.includes(qry_str) || + qry_string.includes(qry_str); + if (!match) return false; } - + if (aff_str) { - const affiliations = (badge.affiliations ?? '').toLowerCase(); - if (!affiliations.includes(aff_str)) return false; + const affiliations = ( + badge.affiliations ?? '' + ).toLowerCase(); + if (!affiliations.includes(aff_str)) + return false; } - + return true; }) .toArray(); @@ -180,27 +219,57 @@ local_results.sort((a, b) => { switch (params.sort) { case 'name_asc': - return (a.given_name ?? '').localeCompare(b.given_name ?? '') || (a.family_name ?? '').localeCompare(b.family_name ?? ''); + return ( + (a.given_name ?? '').localeCompare( + b.given_name ?? '' + ) || + (a.family_name ?? '').localeCompare( + b.family_name ?? '' + ) + ); case 'name_desc': - return (b.given_name ?? '').localeCompare(a.given_name ?? '') || (b.family_name ?? '').localeCompare(a.family_name ?? ''); + return ( + (b.given_name ?? '').localeCompare( + a.given_name ?? '' + ) || + (b.family_name ?? '').localeCompare( + a.family_name ?? '' + ) + ); case 'updated_desc': - return new Date(b.updated_on || 0).getTime() - new Date(a.updated_on || 0).getTime(); + return ( + new Date(b.updated_on || 0).getTime() - + new Date(a.updated_on || 0).getTime() + ); case 'updated_asc': - return new Date(a.updated_on || 0).getTime() - new Date(b.updated_on || 0).getTime(); + return ( + new Date(a.updated_on || 0).getTime() - + new Date(b.updated_on || 0).getTime() + ); case 'print_count_desc': - return (b.print_count ?? 0) - (a.print_count ?? 0); + return ( + (b.print_count ?? 0) - (a.print_count ?? 0) + ); default: - return (a.given_name ?? '').localeCompare(b.given_name ?? ''); + return (a.given_name ?? '').localeCompare( + b.given_name ?? '' + ); } }); - const local_ids = local_results.map(b => b.id || b.event_badge_id_random).filter(Boolean); + const local_ids = local_results + .map((b) => b.id || b.event_badge_id_random) + .filter(Boolean); if (current_search_id === last_search_id) { - if (log_lvl) console.log(`[Badge Search #${current_search_id}] Fast Path found ${local_ids.length} items locally.`); + if (log_lvl) + console.log( + `[Badge Search #${current_search_id}] Fast Path found ${local_ids.length} items locally.` + ); untrack(() => { event_badge_id_li = local_ids; - if (local_ids.length > 0) $events_sess.badges.search_status = 'done'; + if (local_ids.length > 0) + $events_sess.badges.search_status = 'done'; }); } } @@ -218,12 +287,23 @@ // Map sort param to API order_by_li let order_by_li: any = {}; switch (params.sort) { - case 'name_asc': order_by_li = { given_name: 'ASC', family_name: 'ASC' }; break; - case 'name_desc': order_by_li = { given_name: 'DESC', family_name: 'DESC' }; break; - case 'updated_desc': order_by_li = { updated_on: 'DESC' }; break; - case 'updated_asc': order_by_li = { updated_on: 'ASC' }; break; - case 'print_count_desc': order_by_li = { print_count: 'DESC' }; break; - default: order_by_li = { given_name: 'ASC' }; + case 'name_asc': + order_by_li = { given_name: 'ASC', family_name: 'ASC' }; + break; + case 'name_desc': + order_by_li = { given_name: 'DESC', family_name: 'DESC' }; + break; + case 'updated_desc': + order_by_li = { updated_on: 'DESC' }; + break; + case 'updated_asc': + order_by_li = { updated_on: 'ASC' }; + break; + case 'print_count_desc': + order_by_li = { print_count: 'DESC' }; + break; + default: + order_by_li = { given_name: 'ASC' }; } const results = await events_func.search__event_badge({ @@ -240,15 +320,20 @@ if (current_search_id === last_search_id) { const api_results = results || []; - const api_ids = api_results.map((b: any) => b.id || b.event_badge_id_random).filter(Boolean); - + const api_ids = api_results + .map((b: any) => b.id || b.event_badge_id_random) + .filter(Boolean); + untrack(() => { $events_sess.badge_li = api_results; event_badge_id_li = api_ids; $events_sess.badges.search_status = 'done'; $events_sess.badges.search_complete = true; }); - if (log_lvl) console.log(`[Badge Search #${current_search_id}] Revalidation Complete. Found ${api_ids.length} items.`); + if (log_lvl) + console.log( + `[Badge Search #${current_search_id}] Revalidation Complete. Found ${api_ids.length} items.` + ); } } catch (error) { if (current_search_id === last_search_id) { @@ -265,24 +350,24 @@ Badges - - {ae_util.shorten_string({ string: $events_slct?.event_obj?.name ?? '-- not set --', max_length: 12 })} + {ae_util.shorten_string({ + string: $events_slct?.event_obj?.name ?? '-- not set --', + max_length: 12 + })} - OSIT's Æ Events - {#if $events_sess?.badges?.search_status === 'loading' && event_badge_id_li.length === 0} -
+

Loading badges...

{:else} - -{/if} \ No newline at end of file + +{/if} 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 c45b16ae..6c9c89e1 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 @@ -48,7 +48,10 @@ } let results = await db_events.badge.get(event_badge_id); if (log_lvl) { - console.log(`*** LiveQuery: lq__event_badge_obj *** results=`, results); + console.log( + `*** LiveQuery: lq__event_badge_obj *** results=`, + results + ); } return results; }) @@ -56,7 +59,9 @@ 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 + 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( @@ -86,7 +91,9 @@ let lq__event_obj: any = $state(undefined); onMount(() => { - const observable = liveQuery(() => db_events.event.get($events_slct?.event_id ?? '')); + const observable = liveQuery(() => + db_events.event.get($events_slct?.event_id ?? '') + ); const subscription = observable.subscribe((value) => { lq__event_obj = value; }); @@ -109,7 +116,9 @@ Æ: Badge - {$lq__event_badge_obj?.given_name ?? '-- not set --'} - {$lq__event_badge_obj?.family_name ? $lq__event_badge_obj?.family_name.charAt(0) + '.' : ''} + {$lq__event_badge_obj?.family_name + ? $lq__event_badge_obj?.family_name.charAt(0) + '.' + : ''} - Badges v3 - {$events_loc?.title} @@ -149,13 +158,13 @@ {#if $lq__event_badge_obj} - + {/if} {:else}

No IDB record found for ID: {event_badge_id}

diff --git a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_obj_view.svelte b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_obj_view.svelte index 9247af30..caf28e49 100644 --- a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_obj_view.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_obj_view.svelte @@ -100,20 +100,27 @@ $effect(() => { if ($lq__event_badge_obj) { if (log_lvl) { - console.log('Initializing editable fields from lq__event_badge_obj'); + console.log( + 'Initializing editable fields from lq__event_badge_obj' + ); } editable_full_name_override = - $lq__event_badge_obj.full_name_override ?? $lq__event_badge_obj.full_name; + $lq__event_badge_obj.full_name_override ?? + $lq__event_badge_obj.full_name; editable_professional_title_override = $lq__event_badge_obj.professional_title_override ?? $lq__event_badge_obj.professional_title; editable_affiliations_override = - $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 = - $lq__event_badge_obj.location_override ?? $lq__event_badge_obj.location; - editable_allow_tracking = $lq__event_badge_obj.allow_tracking ?? null; + $lq__event_badge_obj.location_override ?? + $lq__event_badge_obj.location; + 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; + editable_badge_type_code = + $lq__event_badge_obj.badge_type_code ?? null; if (is_review_mode) { edit_mode_active = true; @@ -137,7 +144,6 @@ let option_other_1_override = $state(''); let option_other_2_override = $state(''); - let slct_badge_type = ''; /* *** BEGIN *** This should be moved out */ @@ -154,8 +160,10 @@ code_to_html.option_1['1'] = ''; code_to_html.option_1['true'] = ''; code_to_html.option_1['True'] = ''; - code_to_html.option_1['Dairy Free'] = ''; - code_to_html.option_1['Gluten Free'] = ''; + code_to_html.option_1['Dairy Free'] = + ''; + code_to_html.option_1['Gluten Free'] = + ''; code_to_html.option_1['Halal'] = ''; code_to_html.option_1['Kosher'] = ''; code_to_html.option_1['Meat'] = ''; @@ -167,7 +175,8 @@ code_to_html.option_2['true'] = ''; code_to_html.option_2['True'] = ''; - code_to_html.option_2['First Time '] = ''; + code_to_html.option_2['First Time '] = + ''; /* *** END *** This should be moved out */ let full_name_class_size: string = $state('text-[.60in]'); @@ -177,7 +186,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. - $effect(() => { // Re-calculate font sizes based on potentially edited values // Only run if we have the badge object @@ -190,11 +198,14 @@ $lq__event_badge_obj.professional_title ?? ''; const current_affiliations = - editable_affiliations_override ?? $lq__event_badge_obj.affiliations ?? ''; + editable_affiliations_override ?? + $lq__event_badge_obj.affiliations ?? + ''; const current_location = editable_location_override ?? $lq__event_badge_obj.location ?? ''; - let longest_full_name_override_part = longest_str_part(current_full_name); + let longest_full_name_override_part = + longest_str_part(current_full_name); if (longest_full_name_override_part >= 9) { full_name_class_size = 'text-[.45in]'; } else if (longest_full_name_override_part >= 7) { @@ -203,7 +214,9 @@ full_name_class_size = 'text-[.75in]'; } - let longest_professional_title_override_part = longest_str_part(current_professional_title); + let longest_professional_title_override_part = longest_str_part( + current_professional_title + ); if (longest_professional_title_override_part >= 13) { professional_title_class_size = 'text-[.35in]'; } else if (longest_professional_title_override_part >= 10) { @@ -214,7 +227,8 @@ professional_title_class_size = 'text-[.35in]'; } - let longest_affiliations_override_part = longest_str_part(current_affiliations); + let longest_affiliations_override_part = + longest_str_part(current_affiliations); if (longest_affiliations_override_part >= 55) { affiliations_class_size = 'text-[.30in]'; } else if (longest_affiliations_override_part >= 45) { @@ -260,7 +274,7 @@ // *** Functions and Logic function prevent_default(fn: (event: T) => void) { return function (event: T) { - event.prevent_default(); + event.preventDefault(); fn(event); }; } @@ -334,7 +348,10 @@ qr_data_url = ''; try { // Use 'vcard' as the qr_type, passing all required params - const dataUrl = await core_func.js_generate_qr_code('vcard', qrParams); + const dataUrl = await core_func.js_generate_qr_code( + 'vcard', + qrParams + ); qr_data_url = dataUrl; } catch (error) { qr_error_message = error.message; @@ -356,7 +373,8 @@ // Only include fields that have actually changed if ( editable_full_name_override !== - ($lq__event_badge_obj.full_name_override ?? $lq__event_badge_obj.full_name) + ($lq__event_badge_obj.full_name_override ?? + $lq__event_badge_obj.full_name) ) { data_to_update.full_name_override = editable_full_name_override; } @@ -365,17 +383,21 @@ ($lq__event_badge_obj.professional_title_override ?? $lq__event_badge_obj.professional_title) ) { - data_to_update.professional_title_override = editable_professional_title_override; + data_to_update.professional_title_override = + editable_professional_title_override; } if ( editable_affiliations_override !== - ($lq__event_badge_obj.affiliations_override ?? $lq__event_badge_obj.affiliations) + ($lq__event_badge_obj.affiliations_override ?? + $lq__event_badge_obj.affiliations) ) { - data_to_update.affiliations_override = editable_affiliations_override; + data_to_update.affiliations_override = + editable_affiliations_override; } if ( 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) ) { data_to_update.location_override = editable_location_override; } @@ -425,17 +447,22 @@ function handle_cancel_changes() { if ($lq__event_badge_obj) { editable_full_name_override = - $lq__event_badge_obj.full_name_override ?? $lq__event_badge_obj.full_name; + $lq__event_badge_obj.full_name_override ?? + $lq__event_badge_obj.full_name; editable_professional_title_override = $lq__event_badge_obj.professional_title_override ?? $lq__event_badge_obj.professional_title; editable_affiliations_override = - $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 = - $lq__event_badge_obj.location_override ?? $lq__event_badge_obj.location; - editable_allow_tracking = $lq__event_badge_obj.allow_tracking ?? null; + $lq__event_badge_obj.location_override ?? + $lq__event_badge_obj.location; + 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; + editable_badge_type_code = + $lq__event_badge_obj.badge_type_code ?? null; } if (!is_review_mode) { edit_mode_active = false; @@ -479,8 +506,7 @@ onkeypress={() => { max-w-[8.5in] overflow-visible " > - - -
+
@@ -703,7 +738,9 @@ onkeypress={() => { {#if edit_mode_active} {:else} @@ -728,7 +765,9 @@ onkeypress={() => { > {#if edit_mode_active} @@ -782,12 +821,16 @@ onkeypress={() => { {:else} - Allow Tracking: {editable_allow_tracking ? 'Yes' : 'No'} + Allow Tracking: {editable_allow_tracking + ? 'Yes' + : 'No'} {/if}
{/if} @@ -803,10 +846,12 @@ onkeypress={() => { {#if option_ticket_2_override} - + {/if} {#if option_ticket_3_override} - + {/if} {#if lq__event_badge_template_obj.show_qr_front} @@ -866,7 +911,8 @@ onkeypress={() => { > {/if} - {editable_badge_type_code} @@ -1015,17 +1061,27 @@ onkeypress={() => { " > {#if $lq__event_badge_template_obj.wireless_ssid} -
- - Signal Name +
+ + + Signal Name + {$lq__event_badge_template_obj.wireless_ssid} - - Access Code + + + Access Code + @@ -1042,8 +1098,10 @@ onkeypress={() => { {/if}
@@ -1052,7 +1110,9 @@ onkeypress={() => {
  1. - Use QR code or search your app store for "App Name" + Use QR code or search your app store for "App Name"
  2. Once downloaded, use the search feature to find " { >" guide
  3. - You may also go to OneSkyIT.com + You may also go to OneSkyIT.com
@@ -1072,19 +1134,29 @@ onkeypress={() => {
    {#if $lq__event_badge_obj.ticket_1_code} -
  • {@html $lq__event_badge_template_obj.ticket_1_text}
  • +
  • + {@html $lq__event_badge_template_obj.ticket_1_text} +
  • {/if} {#if $lq__event_badge_obj.ticket_2_code} -
  • {@html $lq__event_badge_template_obj.ticket_2_text}
  • +
  • + {@html $lq__event_badge_template_obj.ticket_2_text} +
  • {/if} {#if $lq__event_badge_obj.ticket_3_code} -
  • {@html $lq__event_badge_template_obj.ticket_3_text}
  • +
  • + {@html $lq__event_badge_template_obj.ticket_3_text} +
  • {/if} {#if $lq__event_badge_obj.ticket_4_code} -
  • {@html $lq__event_badge_template_obj.ticket_4_text}
  • +
  • + {@html $lq__event_badge_template_obj.ticket_4_text} +
  • {/if} {#if $lq__event_badge_obj.ticket_5_code} -
  • {@html $lq__event_badge_template_obj.ticket_5_text}
  • +
  • + {@html $lq__event_badge_template_obj.ticket_5_text} +
  • {/if}
@@ -1192,7 +1264,9 @@ onkeypress={() => { alt="badge QR code" ondblclick={() => { // (hide_qr) ? hide_qr = !hide_qr : hide_qr; - hide_qr ? (hide_qr = false) : (hide_qr = true); + hide_qr + ? (hide_qr = false) + : (hide_qr = true); }} />
{ > {#if $lq__event_badge_obj.allow_tracking}

- This was allowed at the time your badge - was printed. You may opt-out at anytime. + This was allowed at the time your badge was printed. + You may opt-out at anytime.

- By allowing this QR code to be scanned by an - exhibitor or staff, you understand and agree that - they may use your personal information. + By allowing this QR code to be + scanned by an exhibitor or + staff, you understand and agree + that they may use your personal + information.

{:else}

- Tracking was not allowed at the time - your badge was printed. You may opt-in at anytime. + Tracking was not allowed at the time your badge was + printed. You may opt-in at anytime.

- If this QR code is scanned by an exhibitor or staff, - they will not have access to your information. + If this QR code is scanned by an + exhibitor or staff, they will not have access to your information.

{/if}
@@ -1252,8 +1332,12 @@ onkeypress={() => { alt="check badge logo" />
@@ -1261,17 +1345,21 @@ onkeypress={() => {
Invoice Number: Invoice_Number
Invoice Number: Invoice_Number
Account Number: BT_ID
- Order Number: Order_Number
+ Order Number: + Order_Number

Name: Full Name (ID: Member_ID)
-
Full Address
+
+ Full Address +
Email:No Email

@@ -1288,34 +1376,49 @@ onkeypress={() => { 1Registration for Meeting1$300.00$300.001Registration for Meeting1$300.00$300.00 2Printed Program1$25.002Printed Program1$25.00$25.00 3Opening Reception1$0.003Opening Reception1$0.00$0.00 4Closing Banquet1$85.004Closing Banquet1$85.00$85.00 + Total Charges:$410.00 + Total Payments:$410.00 + Balance:$0.00 - Total Charges:$410.00 - Total Payments:$410.00 - Balance:$0.00
@@ -1392,22 +1495,21 @@ onkeypress={() => { -
-

Debug Information

-
Debug Information
+    
     {JSON.stringify($lq__event_badge_obj, null, 2)}
 
-
     {JSON.stringify($lq__event_badge_template_obj, null, 2)}
 
-
\ No newline at end of file + diff --git a/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_create_form.svelte b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_create_form.svelte index f670cdae..5261c6a5 100644 --- a/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_create_form.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_create_form.svelte @@ -40,7 +40,7 @@ ]; async function handle_submit(event: Event) { - event.preventDefault(); + event.prevent_default(); submit_status = 'loading'; const data_to_create: key_val = { full_name_override, @@ -84,11 +84,16 @@
- Cancel -
{:else if $events_sess.badges.show_form__scan} -
+
{/if} -
+
{#if $events_sess.badges.show_form__search} - {:else} - {/if} - {#if $ae_loc.edit_mode} -
-
\ No newline at end of file +
diff --git a/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_upload_form.svelte b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_upload_form.svelte index ae6cde9c..ac9e7868 100644 --- a/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_upload_form.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_upload_form.svelte @@ -48,7 +48,7 @@ } async function handle_upload(event: Event) { - event.preventDefault(); + event.prevent_default(); if (!selected_file) { upload_message = 'Please select a file first.'; upload_status = 'error'; @@ -72,9 +72,12 @@ for (const data_kv of badge_data_li) { // Simple mapping, customize as needed const badge_payload: key_val = { - full_name_override: data_kv.full_name || data_kv.name || null, - professional_title_override: data_kv.professional_title || null, - affiliations_override: data_kv.affiliations || data_kv.company || null, + full_name_override: + data_kv.full_name || data_kv.name || null, + professional_title_override: + data_kv.professional_title || null, + affiliations_override: + data_kv.affiliations || data_kv.company || null, location_override: data_kv.location || null, email: data_kv.email || null, allow_tracking: @@ -118,11 +121,17 @@

Upload Badge List (CSV)

-

Upload a CSV file containing badge data. The first row should be headers.

- Supported headers (case-sensitive): full_name, name, - professional_title, affiliations, company, - location, email, allow_tracking (true/false or 1/0), + Upload a CSV file containing badge data. The first row should be + headers. +

+

+ Supported headers (case-sensitive): full_name, + name, + professional_title, affiliations, + company, + location, email, allow_tracking + (true/false or 1/0), badge_type_code.

@@ -142,21 +151,32 @@ {/if} {#if upload_status !== 'idle'} -
+

{upload_message}

{#if upload_status === 'processing' || upload_status === 'loading'} - -

Processed: {processed_badges_count} / {total_badges_in_file}

+

+ Processed: {processed_badges_count} / {total_badges_in_file} +

{/if}
{/if}
- Cancel
@@ -90,20 +95,28 @@
    {#each $lq__badge_templates as template (template.event_badge_template_id_random)} -
  • +
  • {template.name}
    - - @@ -113,7 +126,10 @@
{:else} -

No badge templates found for this event. Click "Add New Template" to create one.

+

+ No badge templates found for this event. Click "Add New + Template" to create one. +

{/if} {:else}

Loading badge templates...

diff --git a/src/routes/events/[event_id]/(badges)/templates/ae_comp__badge_template_form.svelte b/src/routes/events/[event_id]/(badges)/templates/ae_comp__badge_template_form.svelte index 5926b2d3..bba6c6b1 100644 --- a/src/routes/events/[event_id]/(badges)/templates/ae_comp__badge_template_form.svelte +++ b/src/routes/events/[event_id]/(badges)/templates/ae_comp__badge_template_form.svelte @@ -12,8 +12,8 @@ oncancel?: () => void; } - let { - event_id, + let { + event_id, template_id = null, onsuccess, onerror, @@ -22,7 +22,7 @@ function prevent_default(fn: () => void) { return function (event: Event) { - event.prevent_default(); + event.preventDefault(); fn(); }; } @@ -57,17 +57,19 @@ async function load_template(id: string) { submit_status = 'loading'; try { - const template_obj = await events_func.load_ae_obj_id__event_badge_template({ - api_cfg: $ae_api, - event_badge_template_id: id - }); + const template_obj = + await events_func.load_ae_obj_id__event_badge_template({ + api_cfg: $ae_api, + event_badge_template_id: id + }); if (template_obj) { name = template_obj.name || ''; header_path = template_obj.header_path || ''; logo_path = template_obj.logo_path || ''; header_row_1 = template_obj.header_row_1 || ''; header_row_2 = template_obj.header_row_2 || ''; - secondary_header_path = template_obj.secondary_header_path || ''; + secondary_header_path = + template_obj.secondary_header_path || ''; footer_text = template_obj.footer_text || ''; show_qr_front = template_obj.show_qr_front ?? true; show_qr_back = template_obj.show_qr_back ?? true; @@ -159,11 +161,13 @@