diff --git a/src/modules/events/composables/useTicketScanner.ts b/src/modules/events/composables/useTicketScanner.ts index 1afe819..ee94c87 100644 --- a/src/modules/events/composables/useTicketScanner.ts +++ b/src/modules/events/composables/useTicketScanner.ts @@ -28,6 +28,8 @@ export interface EventTicket { name?: string | null registered: boolean registeredAt: string | null + /** Promo code redeemed on this ticket, when the extension reports it. */ + promoCode?: string | null } /** Counts + roster snapshot for the event, sourced from the backend. */ @@ -110,6 +112,7 @@ export function useTicketScanner(eventId: Ref) { name: t.name ?? null, registered: t.registered, registeredAt: t.registered_at, + promoCode: t.applied_promo_code ?? null, })), } } catch (e) { diff --git a/src/modules/events/views/ScanTicketsPage.vue b/src/modules/events/views/ScanTicketsPage.vue index e081fd5..85c70ba 100644 --- a/src/modules/events/views/ScanTicketsPage.vue +++ b/src/modules/events/views/ScanTicketsPage.vue @@ -104,8 +104,9 @@ const { searchQuery, filteredItems: searchedTickets } = useFuzzySearch( { fuseOptions: { keys: [ - { name: 'name', weight: 0.7 }, - { name: 'id', weight: 0.3 }, + { name: 'name', weight: 0.6 }, + { name: 'id', weight: 0.25 }, + { name: 'promoCode', weight: 0.15 }, ], threshold: 0.3, ignoreLocation: true, @@ -296,6 +297,14 @@ function fmtTime(iso: string) { {{ ticket.name }} + + {{ ticket.promoCode }} +

{{ ticket.id }}