Settings Screen
Component Detail
User Interface
medium complexity
mobile
3
Dependencies
0
Dependents
0
Entities
0
Integrations
Description
Centralized settings screen accessible from the hamburger menu, rendered as a declarative list-item widget pattern (title, subtitle, trailing control). Exposes only settings relevant to the current user role - peer mentor sees personal preferences, coordinator sees additional organizational controls. Fully WCAG 2.2 AA compliant with semantic labels, focus indicators, and 24x24px minimum touch targets on all controls.
settings-screen
Responsibilities
- Render role-filtered preference sections using the current Riverpod user role state
- Display and toggle notification preferences, language selection, display options, and biometric unlock
- Expose accessibility overrides (text scale factor, high-contrast mode) that propagate app-wide via ThemeExtension
- Provide account-level actions: sign-out and biometric toggle
- Show only languages with complete localization bundles to prevent partial UI strings
Interfaces
SettingsScreen({required UserRole role})
onSignOut()
onBiometricToggle(bool enabled)
onLanguageChanged(String languageCode)
onTextScaleChanged(double scale)
onHighContrastToggle(bool enabled)
onNotificationPreferenceChanged(NotificationPreference pref)
Relationships
Dependencies (3)
Components this component depends on