low complexity extracted Home & Navigation Confidence: 100%
6
Components
4
Shared
0
User Stories
Yes
Analyzed

Description

App Settings & Preferences provides a centralized screen for configuring personal application behavior, including notification preferences, display settings, accessibility overrides, and account-level options. Accessible from the hamburger menu, this screen persists user choices locally via Drift and syncs with the backend where applicable. It serves both Peer Mentors and Coordinators as a self-service configuration surface that does not require admin portal involvement for personal options, keeping organizational and personal configuration concerns clearly separated.

Sources & reasoning

Lines 290 and 298 explicitly describe settings as a named navigation entry and screen in the mobile architecture. Home-navigation is always-on core (line 240), placing this feature firmly in MVP. Accessibility-sensitive user populations described at lines 31-38 and 104-106 reinforce that personal display and accessibility overrides are not deferrable beyond launch.

  • docs/source/likeperson.md · line 290
    Settings accessible from hamburger menu
  • docs/source/likeperson.md · line 298
    Settings and preferences
  • docs/source/likeperson.md · line 240
    **Mobile App:** `authentication-access-control`, `home-navigation`, `accessibility`, `help-support`, `profile-management`.

Analysis

Business Value

A dedicated settings screen reduces support burden by empowering users to adjust the app to their personal needs without contacting administrators. For accessibility-sensitive user groups - stroke survivors in NHF, visually impaired users in Blindeforbundet - the ability to adjust font scale, contrast mode, or notification behavior is directly tied to usability and WCAG 2.2 AA compliance. Keeping personal preferences separate from organizational configuration creates a clear separation of concerns that reduces accidental misconfiguration. Offline persistence of preferences ensures consistent UX even without connectivity, supporting the platform's offline-first architecture and the diverse digital skill levels of the user base.

Implementation Notes

Implemented as AppSettingsScreen backed by AppPreferencesService and AppPreferencesRepository. Preferences are stored in the Drift local database and optionally synced to the backend for cross-device consistency. The service layer abstracts storage from the UI, allowing individual settings to migrate between local-only and synced modes independently. Accessibility settings integrate with Flutter's MediaQuery and Semantics layers, applying immediately without restart. Settings state is provided via a Riverpod StateNotifier, ensuring reactive UI updates across the app when preferences change. WCAG 2.2 AA requires the settings screen itself to be fully keyboard-navigable with visible focus indicators on all interactive controls.

User Stories

No user stories have been generated for this feature yet.