General code clean up. Removing old stuff.
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
// *** Import Svelte specific
|
||||
import { untrack } from 'svelte';
|
||||
// import { browser } from '$app/environment';
|
||||
import { goto, invalidateAll } from '$app/navigation';
|
||||
import { goto } from '$app/navigation';
|
||||
|
||||
// *** Import other supporting libraries
|
||||
// import * as icons from '@lucide/svelte';
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
slct,
|
||||
slct_trigger
|
||||
} from '$lib/stores/ae_stores';
|
||||
import {
|
||||
events_loc,
|
||||
events_slct,
|
||||
events_trigger
|
||||
} from '$lib/stores/ae_events_stores';
|
||||
// import {
|
||||
// events_loc,
|
||||
// events_slct,
|
||||
// events_trigger
|
||||
// } from '$lib/stores/ae_events_stores';
|
||||
import { ae_util } from '$lib/ae_utils/ae_utils';
|
||||
|
||||
import { page } from '$app/stores';
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
|
||||
import Comp_badge_search from './ae_comp__badge_search.svelte';
|
||||
import Comp_badge_obj_li from './ae_comp__badge_obj_li.svelte';
|
||||
import { Modal } from 'flowbite-svelte';
|
||||
import Comp_badge_create_form from './ae_comp__badge_create_form.svelte';
|
||||
import Comp_badge_upload_form from './ae_comp__badge_upload_form.svelte';
|
||||
// import { Modal } from 'flowbite-svelte';
|
||||
// import Comp_badge_create_form from './ae_comp__badge_create_form.svelte';
|
||||
// import Comp_badge_upload_form from './ae_comp__badge_upload_form.svelte';
|
||||
import { LoaderCircle } from 'lucide-svelte';
|
||||
|
||||
// *** Initialization & Store Guard ***
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
import { browser } from '$app/environment';
|
||||
|
||||
// *** Import other supporting libraries
|
||||
import { liveQuery } from 'dexie';
|
||||
// import { liveQuery } from 'dexie';
|
||||
|
||||
import type { key_val } from '$lib/stores/ae_stores';
|
||||
import { core_func } from '$lib/ae_core/ae_core_functions';
|
||||
@@ -38,18 +38,18 @@
|
||||
slct,
|
||||
slct_trigger
|
||||
} from '$lib/stores/ae_stores';
|
||||
import { db_events } from '$lib/ae_events/db_events';
|
||||
import {
|
||||
events_loc,
|
||||
events_sess,
|
||||
events_slct,
|
||||
events_trigger
|
||||
} from '$lib/stores/ae_events_stores';
|
||||
// import { db_events } from '$lib/ae_events/db_events';
|
||||
// import {
|
||||
// events_loc,
|
||||
// events_sess,
|
||||
// events_slct,
|
||||
// events_trigger
|
||||
// } from '$lib/stores/ae_events_stores';
|
||||
import { events_func } from '$lib/ae_events_functions';
|
||||
|
||||
// *** Variables
|
||||
let ae_promises: key_val = $state({});
|
||||
let ae_tmp: key_val = $state({});
|
||||
// let ae_promises: key_val = $state({});
|
||||
// let ae_tmp: key_val = $state({});
|
||||
let ae_triggers: key_val = $state({});
|
||||
|
||||
// ISHLT 2024 badge type codes
|
||||
@@ -930,26 +930,6 @@ onkeypress={() => {
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<!-- {#if lq__event_badge_template_obj.show_qr_front}
|
||||
<div class="container qr_code">
|
||||
{#await initial_loading_promise}
|
||||
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}?qr_filename=attendee_qr.png" alt="missing QR code">
|
||||
{/if}
|
||||
{/await}
|
||||
</div>
|
||||
{/if} -->
|
||||
|
||||
<!-- {#await initial_loading_promise}
|
||||
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}?qr_filename=attendee_qr.png" alt="missing QR code">
|
||||
{/if}
|
||||
{/await} -->
|
||||
|
||||
{#if $lq__event_badge_template_obj.show_qr_front}
|
||||
{#await event_badge_qr_id_get_promise}
|
||||
Generating...
|
||||
@@ -968,7 +948,6 @@ 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}?filename=qr_{$ae_loc.account_id}_{$lq__event_badge_obj.event_badge_id}_mecard.png" -->
|
||||
{/if}
|
||||
{/await}
|
||||
{/if}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
hide_badge_type = false
|
||||
}: Props = $props();
|
||||
|
||||
import { type Badge as BadgeType } from '$lib/ae_events/db_events';
|
||||
// import { type Badge as BadgeType } from '$lib/ae_events/db_events';
|
||||
import { ae_loc } from '$lib/stores/ae_stores';
|
||||
import { ae_util } from '$lib/ae_utils/ae_utils';
|
||||
import {
|
||||
|
||||
@@ -7,6 +7,5 @@
|
||||
// Basic layout for the leads module
|
||||
</script>
|
||||
|
||||
<!-- <div class="leads-module"> -->
|
||||
{@render children?.()}
|
||||
<!-- </div> -->
|
||||
|
||||
{@render children?.()}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
import { db_events } from '$lib/ae_events/db_events';
|
||||
import { ae_loc } from '$lib/stores/ae_stores';
|
||||
import { events_loc, events_sess } from '$lib/stores/ae_events_stores';
|
||||
import { Key, Mail, Lock, User, ArrowRight, LoaderCircle, CircleAlert, CheckCircle2 } from 'lucide-svelte';
|
||||
import { Key, Mail, Lock, User, ArrowRight, LoaderCircle, CircleAlert, CircleCheck } from 'lucide-svelte';
|
||||
import { untrack } from 'svelte';
|
||||
|
||||
const exhibit_id = $derived(page.params.exhibit_id ?? '');
|
||||
@@ -191,7 +191,7 @@
|
||||
<LoaderCircle size="1.5em" class="animate-spin mr-2" />
|
||||
Signing In...
|
||||
{:else if status === 'success'}
|
||||
<CheckCircle2 size="1.5em" class="mr-2" />
|
||||
<CircleCheck size="1.5em" class="mr-2" />
|
||||
Welcome!
|
||||
{:else}
|
||||
Get Started <ArrowRight size="1.2em" class="ml-2 group-hover:translate-x-1 transition-transform" />
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
import { liveQuery } from 'dexie';
|
||||
import { db_events } from '$lib/ae_events/db_events';
|
||||
import Comp_exhibit_signin from './ae_comp__exhibit_signin.svelte';
|
||||
import { LayoutGrid, CheckCircle2, UserCheck, ShieldCheck } from 'lucide-svelte';
|
||||
import { LayoutGrid, CircleCheck, UserCheck, ShieldCheck } from 'lucide-svelte';
|
||||
|
||||
const exhibit_id = $derived(page.params.exhibit_id ?? '');
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
</script>
|
||||
|
||||
<div class="ae-tab-start w-full space-y-8 animate-in fade-in slide-in-from-bottom-2 duration-300">
|
||||
|
||||
|
||||
<!-- Hero / Welcome Section -->
|
||||
<section class="text-center space-y-4 py-6">
|
||||
<div class="inline-flex p-4 rounded-full bg-primary-500/10 text-primary-500 mb-2">
|
||||
@@ -38,7 +38,7 @@
|
||||
<!-- Features Grid (Compact) -->
|
||||
<div class="grid grid-cols-1 sm:grid-cols-3 gap-4 max-w-2xl mx-auto px-4">
|
||||
<div class="flex flex-col items-center text-center p-4 rounded-xl variant-soft-surface">
|
||||
<CheckCircle2 size="1.5em" class="text-success-500 mb-2" />
|
||||
<CircleCheck size="1.5em" class="text-success-500 mb-2" />
|
||||
<span class="text-xs font-bold uppercase tracking-wider">Fast Capture</span>
|
||||
</div>
|
||||
<div class="flex flex-col items-center text-center p-4 rounded-xl variant-soft-surface">
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
import { untrack } from 'svelte';
|
||||
import { ae_api } from '$lib/stores/ae_stores';
|
||||
import { events_func } from '$lib/ae_events_functions';
|
||||
import { Save, LoaderCircle, CheckCircle2 } from 'lucide-svelte';
|
||||
import { Save, LoaderCircle, CircleCheck } from 'lucide-svelte';
|
||||
|
||||
interface Props {
|
||||
exhibit_tracking_id: string;
|
||||
@@ -26,7 +26,7 @@
|
||||
// Handle both string and pre-parsed array/object
|
||||
question_defs = typeof custom_questions_json === 'string' ? JSON.parse(custom_questions_json || '[]') : (custom_questions_json || []);
|
||||
const parsed_responses = typeof current_responses_json === 'string' ? JSON.parse(current_responses_json || '{}') : (current_responses_json || {});
|
||||
|
||||
|
||||
untrack(() => {
|
||||
responses = parsed_responses;
|
||||
});
|
||||
@@ -61,28 +61,28 @@
|
||||
<div class="space-y-2">
|
||||
<label class="label">
|
||||
<span class="text-[10px] uppercase font-black opacity-40 tracking-widest ml-1">{q.label}</span>
|
||||
|
||||
|
||||
{#if q.type === 'textarea'}
|
||||
<textarea
|
||||
bind:value={responses[q.label]}
|
||||
class="textarea variant-filled-surface rounded-lg p-3 text-sm"
|
||||
<textarea
|
||||
bind:value={responses[q.label]}
|
||||
class="textarea variant-filled-surface rounded-lg p-3 text-sm"
|
||||
rows="3"
|
||||
placeholder="Type response..."
|
||||
></textarea>
|
||||
|
||||
|
||||
{:else if q.type === 'toggle'}
|
||||
<div class="flex items-center gap-4 p-3 variant-soft rounded-lg">
|
||||
<input
|
||||
type="checkbox"
|
||||
bind:checked={responses[q.label]}
|
||||
class="checkbox"
|
||||
<input
|
||||
type="checkbox"
|
||||
bind:checked={responses[q.label]}
|
||||
class="checkbox"
|
||||
/>
|
||||
<span class="text-sm font-bold">{responses[q.label] ? 'Yes' : 'No'}</span>
|
||||
</div>
|
||||
|
||||
{:else if q.type === 'select'}
|
||||
<select
|
||||
bind:value={responses[q.label]}
|
||||
<select
|
||||
bind:value={responses[q.label]}
|
||||
class="select variant-filled-surface rounded-lg p-3 text-sm"
|
||||
>
|
||||
<option value="">-- Select Option --</option>
|
||||
@@ -92,9 +92,9 @@
|
||||
</select>
|
||||
|
||||
{:else}
|
||||
<input
|
||||
type="text"
|
||||
bind:value={responses[q.label]}
|
||||
<input
|
||||
type="text"
|
||||
bind:value={responses[q.label]}
|
||||
class="input variant-filled-surface rounded-lg p-3 text-sm"
|
||||
placeholder="Type response..."
|
||||
/>
|
||||
@@ -108,7 +108,7 @@
|
||||
<p class="text-center opacity-30 italic py-4">No custom questions configured for this exhibit.</p>
|
||||
{/if}
|
||||
|
||||
<button
|
||||
<button
|
||||
class="btn variant-filled-primary w-full font-bold shadow-lg"
|
||||
disabled={status === 'saving'}
|
||||
onclick={handle_save}
|
||||
@@ -116,7 +116,7 @@
|
||||
{#if status === 'saving'}
|
||||
<LoaderCircle size="1.2em" class="animate-spin mr-2" /> Saving...
|
||||
{:else if status === 'success'}
|
||||
<CheckCircle2 size="1.2em" class="mr-2" /> Saved!
|
||||
<CircleCheck size="1.2em" class="mr-2" /> Saved!
|
||||
{:else}
|
||||
<Save size="1.2em" class="mr-2" /> Save Responses
|
||||
{/if}
|
||||
|
||||
@@ -5,7 +5,7 @@ import { error } from '@sveltejs/kit';
|
||||
import { browser } from '$app/environment';
|
||||
import { events_func } from '$lib/ae_events_functions';
|
||||
|
||||
export async function load({ params, parent, url }) {
|
||||
export async function load({ params, parent }) {
|
||||
// route
|
||||
const log_lvl: number = 0;
|
||||
|
||||
|
||||
@@ -31,13 +31,13 @@
|
||||
}: Props = $props();
|
||||
|
||||
// Imports
|
||||
import { liveQuery } from 'dexie';
|
||||
// import { liveQuery } from 'dexie';
|
||||
|
||||
import type { key_val } from '$lib/stores/ae_stores';
|
||||
import { ae_util } from '$lib/ae_utils/ae_utils';
|
||||
import { api } from '$lib/api/api';
|
||||
// import { api } from '$lib/api/api';
|
||||
|
||||
import { db_events } from '$lib/ae_events/db_events';
|
||||
// import { db_events } from '$lib/ae_events/db_events';
|
||||
import {
|
||||
ae_snip,
|
||||
ae_loc,
|
||||
@@ -461,16 +461,6 @@
|
||||
></span>
|
||||
<span class="hidden"> Download </span>
|
||||
</a>
|
||||
<!-- <button type="button"
|
||||
use:clipboard={encodeURI(`${$ae_api.base_url}/event/file/${event_file_obj?.event_file_id}/download?filename=${ae_util.clean_filename(event_file_obj?.filename)}&key=${$ae_api.account_id}`)}
|
||||
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs"
|
||||
title="Copy the direct download file link: {ae_util.clean_filename(event_file_obj?.filename ?? 'unknown')}"
|
||||
>
|
||||
<span class="fas fa-copy mx-1"></span>
|
||||
<span class="hidden">
|
||||
Copy Link
|
||||
</span>
|
||||
</button> -->
|
||||
|
||||
<MyClipboard
|
||||
value={encodeURI(
|
||||
@@ -510,16 +500,7 @@
|
||||
></span>
|
||||
<span class="hidden"> Renamed </span>
|
||||
</a>
|
||||
<!-- <button type="button"
|
||||
use:clipboard={encodeURI(`${$ae_api.base_url}/event/file/${event_file_obj?.event_file_id}/download?filename=${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_session_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}&key=${$ae_api.account_id}`)}
|
||||
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs"
|
||||
title="Copy the renamed file link"
|
||||
>
|
||||
<span class="fas fa-copy mx-1"></span>
|
||||
<span class="hidden">
|
||||
Copy Renamed
|
||||
</span>
|
||||
</button> -->
|
||||
|
||||
<MyClipboard
|
||||
value={encodeURI(
|
||||
`${$ae_api.base_url}/event/file/${event_file_obj?.event_file_id}/download?filename=${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_session_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}&key=${$ae_api.account_id}`
|
||||
@@ -555,16 +536,7 @@
|
||||
></span>
|
||||
<span class="hidden"> Renamed </span>
|
||||
</a>
|
||||
<!-- <button type="button"
|
||||
use:clipboard={encodeURI(`${$ae_api.base_url}/event/file/${event_file_obj?.event_file_id}/download?filename=${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_presentation_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}&key=${$ae_api.account_id}`)}
|
||||
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs"
|
||||
title="Copy the renamed file link"
|
||||
>
|
||||
<span class="fas fa-copy mx-1"></span>
|
||||
<span class="hidden">
|
||||
Copy Renamed
|
||||
</span>
|
||||
</button> -->
|
||||
|
||||
<MyClipboard
|
||||
value={encodeURI(
|
||||
`${$ae_api.base_url}/event/file/${event_file_obj?.event_file_id}/download?filename=${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_presentation_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}&key=${$ae_api.account_id}`
|
||||
@@ -693,16 +665,7 @@
|
||||
{@html ae_snip.html__not_set}
|
||||
{/if}
|
||||
</td>
|
||||
<!-- <td class="px-4 py-2">
|
||||
<span class="fas fa-envelope"></span>
|
||||
<a
|
||||
href="mailto:{event_file_obj?.email}"
|
||||
class="text-blue-500 underline hover:text-blue-800"
|
||||
>
|
||||
{event_file_obj?.email}
|
||||
</a>
|
||||
</td> -->
|
||||
<!-- <td class="px-4 py-2">{event_file_obj?.agree ? 'Yes' : 'No'}</td> -->
|
||||
|
||||
</tr>
|
||||
{/each}
|
||||
</tbody>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* src/routes/events/ae_comp__event_files_upload.svelte
|
||||
* Specialized component for uploading files and automatically linking them to Event objects.
|
||||
*/
|
||||
import * as Lucide from 'lucide-svelte';
|
||||
import { LoaderCircle } from 'lucide-svelte';
|
||||
import Element_input_files_tbl from '$lib/elements/element_input_files_tbl.svelte';
|
||||
|
||||
// Import storage, functions, and libraries
|
||||
@@ -279,7 +279,7 @@
|
||||
$events_sess.files.status__file_list != 'ready'}
|
||||
>
|
||||
{#await ae_promises.upload__hosted_file_obj}
|
||||
<Lucide.LoaderCircle class="animate-spin m-1" />
|
||||
<LoaderCircle class="animate-spin m-1" />
|
||||
<span class="">
|
||||
{#if $ae_sess.api_upload_kv[task_id]}
|
||||
{$ae_sess.api_upload_kv[task_id].percent_completed}%
|
||||
@@ -288,7 +288,7 @@
|
||||
{/if}
|
||||
</span>
|
||||
{:then}
|
||||
<Lucide.UploadCloud class="m-1" size={20} />
|
||||
<UploadCloud class="m-1" size={20} />
|
||||
<span class="text-sm"> Upload </span>
|
||||
<span class="grow font-bold ml-2">
|
||||
{#if $events_sess.files.processed_file_list?.length > 0}
|
||||
|
||||
Reference in New Issue
Block a user