feat: leads re-enable flow — detect removed leads on scan + Remove/Restore buttons
- QR scanner (single + multi): detect previously-removed leads via IDB enable flag; route to 'reenable' state instead of duplicate error; offer Re-activate button - API fallback: if create fails and no IDB record, search API for disabled tracking record by event_exhibit_id + event_badge_id (adds qry_badge_id param to search__exhibit_tracking) - Lead detail page: Replace raw enable checkbox with Remove Lead (two-click confirm, navigates back after) and Restore Lead card (shown when enable is falsy) - Fix flash of disabled records in leads list: filter !enable in both filtered_lead_li derived and local IDB fast-path in handle_search_refresh - eslint.config.js: disable svelte/no-navigation-without-resolve (no base path configured) - Also includes _random field annotation cleanup (db_events, ae_types), iframe layout fixes, badge view tweaks, test updates, and doc updates from prior session Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -154,7 +154,7 @@
|
||||
const local_ids = local_results
|
||||
.map((e) => String(e.id || e.event_exhibit_id))
|
||||
.filter(Boolean);
|
||||
|
||||
|
||||
if (current_search_id === last_search_id) {
|
||||
if (log_lvl) console.log(`✅ [Trace] Exhibit Search #${current_search_id}: Local path found ${local_ids.length} items.`);
|
||||
untrack(() => {
|
||||
@@ -202,9 +202,9 @@
|
||||
const api_ids = results
|
||||
.map((e: any) => String(e.id || e.event_exhibit_id))
|
||||
.filter(Boolean);
|
||||
|
||||
|
||||
if (log_lvl) console.log(`📦 [Trace] Exhibit Search #${current_search_id}: API revalidation found ${api_ids.length} items.`);
|
||||
|
||||
|
||||
untrack(() => {
|
||||
exhibit_id_li = api_ids;
|
||||
$events_sess.leads.submit_status__search = 'done';
|
||||
@@ -241,9 +241,10 @@
|
||||
class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 w-full max-w-6xl"
|
||||
>
|
||||
{#each $lq__event_exhibit_obj_li as exhibit_obj (exhibit_obj.event_exhibit_id)}
|
||||
<!-- Force iframe mode (hides header/footer and passes exhibit_id via URL param) so the exhibit view can optimize for lead capture and hide irrelevant info. -->
|
||||
<a
|
||||
href="/events/{page.params
|
||||
.event_id}/leads/exhibit/{exhibit_obj.event_exhibit_id}"
|
||||
.event_id}/leads/exhibit/{exhibit_obj.event_exhibit_id}?iframe=true"
|
||||
class="card card-hover p-4 flex flex-col items-center justify-center text-center space-y-2 preset-tonal"
|
||||
>
|
||||
<Store size="2em" />
|
||||
|
||||
Reference in New Issue
Block a user