You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Currently, ClimbStack strictly adheres to the device's system theme via useColorScheme(). Users cannot manually force Dark or Light mode if their device system preferences differ, or if they prefer using dark mode exclusively inside the app.
Describe the solution you'd like
Add a Theme preference in SettingsScreen.tsx (e.g., a modal or selector tile similar to the Language picker) offering:
System Default (default)
Light
Dark
Persist the chosen mode in AsyncStorage (@climbstack/theme_mode).
Update useThemeColors (or introduce a theme provider) to respect the user's selected preference or fallback to system scheme when "System Default" is selected.
Describe alternatives you've considered
Keeping system-only theming, but allowing manual overrides is standard in productivity apps and improves accessibility.
Additional Context
Related files: src/utils/useThemeColors.ts, src/screens/SettingsScreen.tsx, src/utils/i18n.ts.
AI Generation Disclosure: This issue description was generated by an AI agent (Gemini 3.1 Pro).
Activity
test(settings): add unit tests for theme modal edge cases ClimbStack#158
test(settings): cover themeMode fallback and remove redundant destruc…
feat(settings): add theme preference with system default support #158 …