feat: i18n — EN/MS/ZH translations with cookie-based locale switching, report form translated

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFDuBhMKvoWjrWT3ZnGmmr
This commit is contained in:
2026-07-11 19:01:44 +08:00
co-authored by Claude Sonnet 4.6
parent c67c489ab3
commit 87264a5497
12 changed files with 372 additions and 52 deletions
+16
View File
@@ -0,0 +1,16 @@
// Stub — full implementation in Task 5 (IndexedDB offline queue)
// This file exists so TypeScript can resolve the dynamic import in report-form.tsx.
export interface PendingReport {
zone_token: string
incident_type: string
description: string
injury_involved: boolean
asset_involved: boolean
medical_status?: string
created_at: string
}
export async function addPendingReport(_report: PendingReport): Promise<void> {
throw new Error('IndexedDB offline store not yet implemented — Task 5 will replace this stub')
}