Fix Lead List filtering and resolve Svelte 5 subscription crash

- Refactored Lead List to use direct observable subscription for better reactivity.
- Implemented in-memory 'Hard Guard' filter to ensure licensee selection is strictly enforced.
- Fixed 'TypeError: s.subscribe is not a function' by removing legacy $ prefix from resolved props.
- Resolved TypeScript typing errors in Lead Detail and Search components.
- Migrated Badge Search icons to Lucide.
This commit is contained in:
Scott Idem
2026-02-08 23:03:35 -05:00
parent 8787f8c2ff
commit 111ef76d14
5 changed files with 63 additions and 29 deletions

View File

@@ -171,9 +171,9 @@
class="btn btn-lg preset-tonal-success border border-success-500 hover:preset-tonal-success text-2xl font-bold w-48 transition-all"
>
{#if $events_sess.badges.search_status === 'loading'}
<span class="fas fa-spinner fa-spin mx-1"></span>
<LoaderCircle class="animate-spin mx-1" />
{:else}
<span class="fas fa-search mx-1"></span>
<Search class="mx-1" />
{/if}
Search
</button>
@@ -222,7 +222,7 @@
}}
class="btn btn-sm preset-tonal-primary border border-primary-500"
>
<span class="fas fa-qrcode mr-1"></span>
<QrCode size="1em" class="mr-1" />
QR Scan
</button>
{:else}
@@ -235,7 +235,7 @@
}}
class="btn btn-sm preset-tonal-primary border border-primary-500"
>
<span class="fas fa-search mr-1"></span>
<Search size="1em" class="mr-1" />
Search
</button>
{/if}
@@ -250,9 +250,9 @@
title="Toggle using the ID list or not."
>
{#if $events_loc.badges.use_id_li}
<span class="fas fa-toggle-on text-green-600 mr-1"></span>
<Check size="1.2em" class="text-green-600 mr-1" />
{:else}
<span class="fas fa-toggle-off text-red-600 mr-1"></span>
<X size="1.2em" class="text-red-600 mr-1" />
{/if}
Use ID List
</button>