feat: migration to Svelte 5

This commit is contained in:
Scott Idem
2025-11-19 12:38:03 -05:00
parent d99e9ee1b0
commit f25b9ccd8f
46 changed files with 9578 additions and 9095 deletions

View File

@@ -1,7 +1,12 @@
<script lang="ts">
interface Props {
children?: import('svelte').Snippet;
}
let { children }: Props = $props();
// Basic layout for the leads module
</script>
<div class="leads-module">
<slot />
{@render children?.()}
</div>

View File

@@ -3,10 +3,10 @@
import { liveQuery } from 'dexie';
import { db_events } from '$lib/ae_events/db_events';
import { events_slct } from '$lib/stores/ae_events_stores';
import { page } from '$app/stores';
import { page } from '$app/state';
let event_exhibit_obj_li = liveQuery(() => {
const event_id = $page.params.event_id;
const event_id = page.params.event_id;
if (!event_id) return [];
return db_events.exhibit.where({ event_id_random: event_id }).sortBy('name');
});
@@ -20,7 +20,7 @@
<ul class="list">
{#each $event_exhibit_obj_li as exhibit_obj}
<li>
<a href="/events/{$page.params.event_id}/leads/exhibit/{exhibit_obj.id_random}">
<a href="/events/{page.params.event_id}/leads/exhibit/{exhibit_obj.id_random}">
{exhibit_obj.name} (Booth #{exhibit_obj.code})
</a>
</li>

View File

@@ -637,19 +637,21 @@ max-w-max -->
link_to_type="event"
link_to_id={$lq__event_obj?.event_id}
>
<span slot="label">
<div class="text-lg">
<span class="fas fa-upload"></span>
<strong class="">Upload global event files only!</strong>
</div>
<div class="text-sm text-gray-600 dark:text-gray-400 italic">
<strong>Global event files only</strong><br />
Recommended: PowerPoint (pptx) or Keynote (key)<br />
Media: Audio and videos files should be directly embedded in PowerPoint (PPTX)
files<br />
Supplemental files: mp4, PDF, Word Doc, Excel, txt, etc
</div>
</span>
{#snippet label()}
<span >
<div class="text-lg">
<span class="fas fa-upload"></span>
<strong class="">Upload global event files only!</strong>
</div>
<div class="text-sm text-gray-600 dark:text-gray-400 italic">
<strong>Global event files only</strong><br />
Recommended: PowerPoint (pptx) or Keynote (key)<br />
Media: Audio and videos files should be directly embedded in PowerPoint (PPTX)
files<br />
Supplemental files: mp4, PDF, Word Doc, Excel, txt, etc
</div>
</span>
{/snippet}
</Comp_event_files_upload>
<div class="overflow-x-auto w-max max-w-full">

View File

@@ -329,19 +329,21 @@
link_to_type="event_presenter"
link_to_id={$lq__event_presenter_obj?.event_presenter_id}
>
<span slot="label">
<div class="text-lg">
<span class="fas fa-upload"></span>
<strong class="">Upload presenter (speaker) specific files</strong>
</div>
<div class="text-sm text-gray-600 dark:text-gray-400 italic">
<strong>Presenter (speaker) presentation files only</strong><br />
Recommended: PowerPoint (pptx) or Keynote (key)<br />
Media: Audio and videos files should be directly embedded in PowerPoint (PPTX)
files<br />
Supplemental files: mp4, PDF, Word Doc, Excel, txt, etc
</div>
</span>
{#snippet label()}
<span >
<div class="text-lg">
<span class="fas fa-upload"></span>
<strong class="">Upload presenter (speaker) specific files</strong>
</div>
<div class="text-sm text-gray-600 dark:text-gray-400 italic">
<strong>Presenter (speaker) presentation files only</strong><br />
Recommended: PowerPoint (pptx) or Keynote (key)<br />
Media: Audio and videos files should be directly embedded in PowerPoint (PPTX)
files<br />
Supplemental files: mp4, PDF, Word Doc, Excel, txt, etc
</div>
</span>
{/snippet}
</Comp_event_files_upload>
{/if}
@@ -382,19 +384,21 @@
link_to_type="event_presenter"
link_to_id={$lq__event_presenter_obj.event_presenter_id}
>
<span slot="label">
<div class="text-lg">
<span class="fas fa-upload"></span>
<strong class="">Upload presenter (speaker) specific files</strong>
</div>
<div class="text-sm text-gray-600 dark:text-gray-400 italic">
<strong>Presentation related files only</strong><br />
Recommended: PowerPoint (pptx) or Keynote (key)<br />
Media: Audio and videos files should be directly embedded in PowerPoint
(PPTX) files<br />
Supplemental files: mp4, PDF, Word Doc, Excel, txt, etc
</div>
</span>
{#snippet label()}
<span >
<div class="text-lg">
<span class="fas fa-upload"></span>
<strong class="">Upload presenter (speaker) specific files</strong>
</div>
<div class="text-sm text-gray-600 dark:text-gray-400 italic">
<strong>Presentation related files only</strong><br />
Recommended: PowerPoint (pptx) or Keynote (key)<br />
Media: Audio and videos files should be directly embedded in PowerPoint
(PPTX) files<br />
Supplemental files: mp4, PDF, Word Doc, Excel, txt, etc
</div>
</span>
{/snippet}
</Comp_event_files_upload>
{/if}

View File

@@ -1,5 +1,5 @@
<script lang="ts">
import { page } from '$app/stores';
import { page } from '$app/state';
import { liveQuery } from 'dexie';
import { db_events } from '$lib/ae_events/db_events';
import { onMount } from 'svelte';
@@ -12,7 +12,7 @@
import Ae_comp_event_settings_badges_form from './ae_comp__event_settings_badges_form.svelte';
import Ae_comp_event_settings_abstracts_form from './ae_comp__event_settings_abstracts_form.svelte';
let event_id = $page.params.event_id;
let event_id = page.params.event_id;
let event_obj = $state(null);
let cfg_json_view = $state('form');
let pres_mgmt_json_view = $state('form');

View File

@@ -8,20 +8,36 @@
slct,
slct_trigger
} from '$lib/stores/ae_stores';
// import { events_loc, events_sess, events_slct, events_trigger, events_trig_kv } from '$lib/stores/ae_events_stores';
export let hide: boolean = true;
export let event_id: null | string = null;
export let ae_core: boolean = false;
export let events__launcher_id: null | string = null; // event_location_id
export let events__location_id: null | string = null; // event_location_id
export let events__locations: boolean = false; // event_id
// export let events__presenter_id: null|string = null; // event_presenter_id
export let events__reports: boolean = false; // event_id
export let events__session_id: null | string = null; // event_session_id
export let events__session_search: boolean = false; // event_id
interface Props {
// import { events_loc, events_sess, events_slct, events_trigger, events_trig_kv } from '$lib/stores/ae_events_stores';
hide?: boolean;
event_id?: null | string;
ae_core?: boolean;
events__launcher_id?: null | string; // event_location_id
events__location_id?: null | string; // event_location_id
events__locations?: boolean; // event_id
// export let events__presenter_id: null|string = null; // event_presenter_id
events__reports?: boolean; // event_id
events__session_id?: null | string; // event_session_id
events__session_search?: boolean; // event_id
}
let {
hide = true,
event_id = null,
ae_core = false,
events__launcher_id = null,
events__location_id = null,
events__locations = false,
events__reports = false,
events__session_id = null,
events__session_search = false
}: Props = $props();
</script>
<!-- This is for common navigation links. -->