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.

Feature: App Settings & Preferences

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