From 3773758eb5e9707dabc3dee4e7015a31f1bf0566 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Tue, 2 Jun 2026 16:25:31 -0400 Subject: [PATCH] feat(badges): smooth transitions + polish for badge search UI - Adds fade/slide transitions throughout the search form: form mount/unmount, filter row, QR scan button, QR scanner panel, Show Hidden, Remote First labels - Min-chars hint switches from class:invisible to opacity-0/opacity-50 + transition-opacity so it fades instead of snapping - Clear button switches from class:hidden to opacity-0 + pointer-events-none + transition-all so it fades without causing layout shifts - "Start Here" button gets transition-opacity for smooth dim on first keystroke - Replaces FileSearch with UserSearch icon in the empty state - Adds w-full to empty state div to prevent subtle page-width shift between no-results and results states Co-Authored-By: Claude Sonnet 4.6 --- .../badges/ae_comp__badge_obj_li.svelte | 8 +++--- .../badges/ae_comp__badge_search.svelte | 27 ++++++++++++------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_obj_li.svelte b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_obj_li.svelte index b64ee8af..09a5d245 100644 --- a/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_obj_li.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_obj_li.svelte @@ -27,14 +27,14 @@ import { Check, Eye, EyeOff, - FileSearch, Link, LoaderCircle, Mail, MapPin, Printer, Tags, - User + User, + UserSearch } from '@lucide/svelte'; // Track per-badge copy state for the "Review Link" clipboard button let copy_status: Record = $state({}); @@ -408,8 +408,8 @@ let visible_badge_obj_li = $derived( {:else}
- + class="flex w-full flex-col items-center justify-center p-20 text-center opacity-50"> + {#if !is_trusted && !(badges_loc.current.fulltext_search_qry_str ?? '').trim()}

Enter your name above to find your badge.

{:else} diff --git a/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_search.svelte b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_search.svelte index fd895320..1c304a12 100644 --- a/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_search.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_search.svelte @@ -17,6 +17,7 @@ import { StepForward } from '@lucide/svelte'; +import { fade, slide } from 'svelte/transition'; import { ae_loc, ae_api } from '$lib/stores/ae_stores'; import { events_sess } from '$lib/stores/ae_events_stores'; import { badges_loc } from '$lib/stores/ae_events_stores__badges.svelte'; @@ -87,6 +88,7 @@ function handle_qr_scan_result(event: { class="ae_group filters_and_search flex w-full flex-col items-center justify-center gap-2"> {#if $events_sess.badges.show_form__search}
{ handle_search_trigger(); })} @@ -95,7 +97,7 @@ function handle_qr_scan_result(event: {
{#if ($ae_loc.trusted_access && $ae_loc.edit_mode) || $ae_loc.manager_access} -
+
Remote First {:else if $events_sess.badges.show_form__scan}