feat(ui): add onboarding and token-based themes

Introduce StartRouter to gate first run with onboarding. Persist state in
SharedPreferences (onboarded_v1). Add WelcomeScreen, a 3-step
OnboardingFlow, and a SignInScreen placeholder with Apple/Google buttons
and "coming soon" toasts plus continue as guest.

Apply new AppThemes (light/dark, high-contrast option) built from design
tokens and wire into MaterialApp (theme/darkTheme, system mode). Add
ThemeProvider to persist ThemeMode and high-contrast flags (not yet
hooked into the tree).

Add EN/MS i18n strings for welcome, onboarding, auth, and CTAs. Include
assets/tokens/design-tokens.json for design tooling parity.
This commit is contained in:
2025-09-25 21:44:10 +08:00
parent 6518df8ac1
commit 8d69c9c846
6 changed files with 887 additions and 8 deletions

View File

@@ -78,5 +78,23 @@
"settings.theme.light": "Terang",
"settings.theme.dark": "Gelap",
"lang.en": "English",
"lang.ms": "Bahasa Malaysia"
"lang.ms": "Bahasa Malaysia",
"welcome.title": "Nampak. Tangkap. Baiki.",
"welcome.subtitle": "Lapor isu bandar dalam beberapa saat — bantu pasukan bertindak lebih pantas.",
"cta.continueGuest": "Teruskan sebagai tetamu",
"cta.signIn": "Log masuk",
"cta.skip": "Langkau",
"cta.next": "Seterusnya",
"cta.getStarted": "Mula",
"onboarding.header": "Selamat datang ke FixMate",
"onboarding.title1": "Tangkap pantas",
"onboarding.body1": "Ambil gambar dan hantar dalam kurang satu minit.",
"onboarding.title2": "Peta yang jelas",
"onboarding.body2": "Lihat isu di sekitar anda dengan pengelompokan pintar.",
"onboarding.title3": "Jejak kemajuan",
"onboarding.body3": "Ikuti kemas kini status apabila kerja disiapkan.",
"auth.title": "Log masuk",
"auth.signInWithApple": "Log masuk dengan Apple",
"auth.signInWithGoogle": "Log masuk dengan Google",
"auth.comingSoon": "Akan datang"
}