Features
Settings
10/11/2026
Local preferences, Account synchronization, appearance, notifications, and security settings.
Settings ownership
The Expo settings screens use store/preferences-store.ts and constants/theme-context.tsx. Every profile persists its local settings. Account projects additionally debounce and sync supported values to Laravel/Go through the /api/v1/app contract.
Available preferences
- Language —
enandidare bundled; the device locale is used as the initial choice. - Region and timezone — stored locally and synchronized for Account users.
- Appearance — brightness, theme, primary/accent colors, text sizing, motion reduction, and compact mode.
- Privacy — usage-data and personalized-experience toggles. These values are local in Guest mode and remote-synced in Account mode.
- Notifications — push-enabled, promotions, and tips/updates toggles. Account values use
/app/notifications/preferences; Guest values remain local. - Onboarding — completion is persisted locally so startup can choose the correct route.
Account-only settings
Authenticated users also see connected Google/Apple accounts, password change, active sessions, login history, account deletion, and billing/entitlement status. The root layout redirects these routes when IS_GUEST_LOCAL is true.
The biometric and two-factor switches on the security screen are currently UI state toggles. They are not a native biometric gate or a server-side 2FA implementation.
Adding a preference
- Add the field and default to
store/preferences-store.ts. - Persist it through
services/storage.ts. - Add a setter and, for Account data, include it in
preferences-sync.tsand the backend contract. - Guard remote work with
IS_GUEST_LOCAL. - Add translation keys to both
locales/en.jsonandlocales/id.json.
Relevant files
app/settings/— settings screens.store/preferences-store.ts— local state and persistence.store/preferences-sync.ts— Account-only debounced synchronization.constants/theme-context.tsxandconstants/themes/— appearance system.services/i18n.ts— locale initialization.
