feat(leads): implement reactive search for exhibitors and lead tracking

- Implemented V3-style reactive search (Local Cache -> Remote Revalidation) for exhibitors.
- Standardized search fields to 'name' for Exhibits and 'event_badge_full_name' for Lead Tracking.
- Refactored Leads UI with standardized search components and grid layout.
- Updated event routing to exclusively use string-based IDs (Triple-ID pattern).
- Hardened 'ae_EventSession' type definitions to handle null values from V3 API/Dexie.
This commit is contained in:
Scott Idem
2026-01-28 12:05:42 -05:00
parent f145b4dcac
commit cc3a6b0f59
11 changed files with 937 additions and 42 deletions

View File

@@ -127,7 +127,7 @@
{event_obj.name}
</strong>
<!-- <a
href="/events/{event_obj.event_id_random}"
href="/events/{event_obj.event_id}"
class="btn btn-md preset-tonal-primary border border-primary-500 hover:preset-filled-primary-500"
>
{ae_util.iso_datetime_formatter(event_obj.start_datetime, 'date_long')}
@@ -157,28 +157,28 @@
{#if $ae_loc.authenticated_access}
<a
data-sveltekit-reload
href="/events/{event_obj.event_id_random}"
href="/events/{event_obj.event_id}"
class="btn btn-sm preset-tonal-secondary border border-secondary-500 hover:preset-filled-secondary-500"
title="Presentation Management for {event_obj.name}"
>
Pres Mgmt
</a>
<a
href="/events/{event_obj.event_id_random}/badges"
href="/events/{event_obj.event_id}/badges"
class="btn btn-sm preset-tonal-secondary border border-secondary-500 hover:preset-filled-secondary-500"
title="Badge Management for {event_obj.name}"
>
Badges
</a>
<a
href="/events/{event_obj.event_id_random}/leads"
href="/events/{event_obj.event_id}/leads"
class="btn btn-sm preset-tonal-secondary border border-secondary-500 hover:preset-filled-secondary-500"
title="Exhibitor Leads for {event_obj.name}"
>
Leads
</a>
<a
href="/events/{event_obj.event_id_random}/launcher"
href="/events/{event_obj.event_id}/launcher"
class="btn btn-sm preset-tonal-secondary border border-secondary-500 hover:preset-filled-secondary-500"
title="Event Launcher for {event_obj.name}"
>
@@ -188,7 +188,7 @@
{#if $ae_loc.trusted_access}
<a
data-sveltekit-reload
href="/event/{event_obj.event_id_random}"
href="/event/{event_obj.event_id}"
class="btn btn-sm preset-tonal-warning border border-warning-500 hover:preset-filled-warning-500"
title="Legacy Presentation Management System (Flask/Svelte) for {event_obj.name}"
>