App Settings & Preferences
Feature Detail
Description
Provides a Settings screen accessible from the hamburger menu where users manage personal preferences such as notification choices, display options, biometric unlock, language, and accessibility-related toggles. Preferences persist locally for offline use and sync to the backend so they follow the user across devices. The screen is composed against design tokens and reusable widgets (AppButton, AppTextField) and respects WCAG 2.2 AA including 24x24 touch targets, visible focus, and screen reader semantics.
Sources & reasoning
Source explicitly lists Settings and preferences as a mobile screen accessible from the hamburger menu, which is exactly the App Settings & Preferences feature in the Home & Navigation area.
-
docs/source/likeperson.md · line 215-216Bottom nav with 5 tabs: Home, Contacts, Add ... Settings accessible from hamburger menu
-
docs/source/likeperson.md · line 223Settings and preferences
Analysis
A predictable settings surface is table stakes for any consumer-grade mobile app and a precondition for trust - users expect to control notifications, biometric unlock, and accessibility behavior. Without it, individual preferences leak into per-screen ad-hoc UI and the app feels inconsistent. Centralizing preferences also reduces support load: when a user reports "I keep getting notifications", the answer is a single discoverable screen rather than a documentation hunt. It supports the accessibility commitment by making per-user accommodations explicit and adjustable.
Flutter screen backed by a Preferences service that writes to the encrypted local DB (Drift + SQLCipher) and queues changes to the sync outbox for backend persistence. Uses Riverpod for state and the design token system for layout. Biometric toggle integrates with the platform secure store. All controls meet WCAG 2.2 AA minimums (touch target, contrast, focus, screen reader labels). No per-tenant code paths - option visibility derives from the enabled module set and role.
Quality Assurance
Peer Mentor (primary) · Coordinator (same flow)Peer Mentor (Likeperson)
Quick UAT
- Logg inn i Meander-appen som Likeperson. Ă pne hamburgermenyen og trykk Innstillinger.
- Under Varsler, slÄ av bryteren for Push-varsler og bekreft at den viser Av.
- Under Tilgjengelighet, Ăžk tekststĂžrrelse til 150% og bekreft at eksempelteksten skaleres umiddelbart.
- Under Konto, trykk TĂžm bufret data og bekreft i dialogen.
- Trykk Logg ut, bekreft i dialogen, og verifiser at du sendes tilbake til innloggingsskjermen.
Quick UAT â Accessibility
-
Logg inn i Meander-appen som Likeperson. Ă pne hamburgermenyen og trykk Innstillinger.
- Screen reader VoiceOver/TalkBack annonserer 'Innstillinger, overskrift, nivÄ 1' nÄr skjermen Äpnes.
- Keyboard / focus Hamburger-knapp nÄs via Tab; Enter Äpner menyen; Innstillinger-elementet er fokuserbart.
- Focus visibility Synlig fokusring pÄ Innstillinger-menyelementet.
- Touch target Hamburger-ikon og Innstillinger-rad er â„ 24Ă24 CSS px.
-
Under Varsler, slÄ av bryteren for Push-varsler og bekreft at den viser Av.
- Screen reader Bryter annonseres som 'Push-varsler, bryter, pĂ„' â ved aktivering: 'Av'.
- Focus visibility Synlig fokusring pÄ bryter; etikett 'Push-varsler' er programmatisk knyttet.
- Live region 'Push-varsler slÄtt av' annonseres i hÞflig live-region.
- Contrast Bryter-tilstand kommuniseres med bÄde farge og tekst (Av/PÄ), ikke kun farge.
-
Under Tilgjengelighet, Ăžk tekststĂžrrelse til 150% og bekreft at eksempelteksten skaleres umiddelbart.
- Screen reader Glidebryter annonserer ny verdi: '150 prosent'.
- Keyboard / focus Piltaster justerer glidebryter; Home/End hopper til min/maks.
- Zoom Skjermen forblir brukbar ved 200% systemzoom uten horisontal scroll.
-
Under Konto, trykk TĂžm bufret data og bekreft i dialogen.
- Screen reader Dialog annonseres som modal: 'TĂžm bufret data. Er du sikker?'; fokus flyttes inn i dialogen.
- Focus visibility Fokus fanget i dialog; Avbryt og Bekreft har synlig fokusring.
- Live region 'Bufret data tĂžmt' annonseres etter bekreftelse.
-
Trykk Logg ut, bekreft i dialogen, og verifiser at du sendes tilbake til innloggingsskjermen.
- Screen reader Bekreftelsesdialog annonseres; etter bekreftelse annonseres innloggingsskjermen som ny side.
- Focus visibility Etter utlogging mottar e-postfeltet pÄ innloggingsskjermen fokus.
- Touch target Logg ut-knapp og dialogknapper er â„ 24Ă24 CSS px.
Role Boundaries
3 role(s) must NOT access this feature-
Organization Administrator
Org Admins logger ikke pÄ mobilappen som Org Admin; dersom de logges pÄ som Coordinator-surface, ser de samme Innstillinger som Coordinator. Admin-spesifikke org-innstillinger finnes kun i Admin Web Portal.
-
Global Administrator
Global Admins har ingen mobil-pÄlogging; forsÞk pÄ pÄlogging gir no-access-skjerm og Innstillinger-skjermen er utilgjengelig.
-
Prospective Buyer
Har ingen konto i mobilappen; Innstillinger-skjermen er ikke nÄbar.
Expected End State
Brukerens preferanser (varsler, sprÄk, tilgjengelighet, biometrisk lÄs) er lagret i den krypterte Preferences Store, synkronisert til backend, og umiddelbart reflektert i app-oppfÞrsel. Ved utlogging er sesjonen avsluttet og brukeren sendt til innloggingsskjermen.
Components (8)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.