feat(i18n): add internationalization support with English and Spanish translations
CI / Lint, typecheck, test, build (push) Canceled after 0s
CI / End-to-end tests (push) Canceled after 0s

feat(kiosk): implement kiosk report submission functionality with offline support

test(outbox): add tests for outbox functionality including report submission and error handling

feat(outbox): create outbox management for queued reports with IndexedDB persistence

feat(uuid): add UUID generation utility for client IDs

feat(qr): implement QR code generation for reporting links by site and area

feat(kiosk): create Kiosk page for reporting incidents without an account
This commit is contained in:
jayjennings committed 2026-10-06 11:38:40 -07:00
1 parent 3f6dff5f24
commit 3e964d1176
64 files changed
+10056 -267

No files matched your search

+10 -2
View File
@@ -22,11 +22,19 @@ export function FormSection({ number, title, copy, children }: FormSectionProps)
)
}
export function Field({ label, optional = false, children }: { label: string; optional?: boolean; children: ReactNode }) {
interface FieldProps {
label: string
optional?: boolean
/** Translated "Optional" marker. */
optionalLabel?: string
children: ReactNode
}
export function Field({ label, optional = false, optionalLabel = 'Optional', children }: FieldProps) {
return (
<label className="mb-[17px] block text-2xs font-semibold text-[#586762]">
{label}
{optional && <em className="float-right font-normal text-[#9ba7a2] not-italic">Optional</em>}
{optional && <em className="float-right font-normal text-[#9ba7a2] not-italic">{optionalLabel}</em>}
{children}
</label>
)