Booking flow: required terms and privacy checkbox with i18n
Also includes admin, dashboard, and API updates; PWA icon assets; and assorted layout and utility changes on dev.
This commit is contained in:
@@ -18,6 +18,7 @@ import {
|
||||
VideoCameraIcon,
|
||||
} from '@heroicons/react/24/outline';
|
||||
import toast from 'react-hot-toast';
|
||||
import { parseDate, EVENT_TIMEZONE } from '@/lib/utils';
|
||||
import clsx from 'clsx';
|
||||
|
||||
// ─── Types ───────────────────────────────────────────────────
|
||||
@@ -324,7 +325,7 @@ function InvalidTicketScreen({
|
||||
|
||||
const reasonDetail: Record<InvalidReason, string> = {
|
||||
already_checked_in: validation?.ticket?.checkinAt
|
||||
? `Checked in at ${new Date(validation.ticket.checkinAt).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}${validation.ticket.checkedInBy ? ` by ${validation.ticket.checkedInBy}` : ''}`
|
||||
? `Checked in at ${parseDate(validation.ticket.checkinAt).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', timeZone: EVENT_TIMEZONE })}${validation.ticket.checkedInBy ? ` by ${validation.ticket.checkedInBy}` : ''}`
|
||||
: 'This ticket was already used',
|
||||
cancelled: 'This ticket has been cancelled and is no longer valid.',
|
||||
not_found: error || 'No ticket matching this code was found.',
|
||||
@@ -765,7 +766,7 @@ export default function AdminScannerPage() {
|
||||
setRecentCheckins((prev) => [
|
||||
{
|
||||
name: result.ticket.attendeeName || 'Guest',
|
||||
time: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }),
|
||||
time: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', timeZone: EVENT_TIMEZONE }),
|
||||
ticketId: scanResult.validation!.ticket!.id,
|
||||
},
|
||||
...prev.slice(0, 19),
|
||||
@@ -796,7 +797,7 @@ export default function AdminScannerPage() {
|
||||
setRecentCheckins((prev) => [
|
||||
{
|
||||
name: result.ticket.attendeeName || 'Guest',
|
||||
time: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }),
|
||||
time: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', timeZone: EVENT_TIMEZONE }),
|
||||
ticketId: searchDetailValidation!.ticket!.id,
|
||||
},
|
||||
...prev.slice(0, 19),
|
||||
|
||||
Reference in New Issue
Block a user