Notification Settings
Feature Detail
Description
Notification Settings gives peer mentors and coordinators control over which notification types they receive and through which channels, via a dedicated settings screen backed by per-user preference storage. NotificationPreferenceService reads and writes preferences through NotificationPreferenceRepository, persisting settings both locally and on the backend. Preference changes propagate to the scenario engine, ensuring users are not sent notifications for channels or scenario types they have opted out of.
Sources & reasoning
User preference control follows from the WCAG cognitive accessibility mandate (line 28) and the need to serve low-digital-skill users. Blueprint marks notification-settings [MVP]. First phase ordinal = MVP. Settings are a standard companion to any notification system.
-
docs/source/likeperson.md · line 290Bottom nav with 5 tabs: Home, Contacts, Add (modal launcher for Activity and Event wizards), Work, Notifications
-
docs/source/likeperson.md · line 28Appen SKAL oppfylle WCAG 2.2 nivÄ AA som minimumskrav for alle skjermer og interaksjoner - fra dag én, for alle organisasjoner.
Analysis
User autonomy over notification frequency is critical for adoption, particularly among peer mentors with low digital skill levels who may feel overwhelmed by alerts. Granular settings reduce notification fatigue and increase the likelihood that important alerts are noticed and acted upon. For organizations with diverse user demographics - including users with cognitive and sensory disabilities - configurable preferences serve as an accessibility accommodation, allowing users to reduce noise to the level they can manage effectively without disengaging from the app entirely.
NotificationSettingsScreen uses the shared design token system and WCAG 2.2 AA compliant form components - toggle switches with semantic labels, visible focus indicators, and minimum touch targets. NotificationPreferenceService syncs preferences to the backend on change and caches the latest state in Drift for offline availability. Preference updates propagate asynchronously to the NotificationScenarioEngine via a preference-change event. The settings UI is gated behind the module registry, so only channels and scenario types belonging to enabled modules are presented to the user.
Quality Assurance
Peer Mentor (primary) · Coordinator (same flow)Peer Mentor
Quick UAT
- Logg inn i appen som Likeperson. à pne hamburger-menyen Þverst til venstre og trykk pÄ Innstillinger.
- Trykk pÄ Varslinger i innstillingsmenyen. Bekreft at varslingsskjermen Äpnes og viser en liste over varslingskategorier med av/pÄ-bryterne.
- Skru av push-varsler for én kategori (f.eks. Nye oppdrag). Bekreft at bryteren bytter til av-posisjon umiddelbart.
- Skru av e-post-varsler for samme kategori. Bekreft at begge bryterne nÄ viser av-posisjon og at en bekreftelsesmelding vises.
- Naviger vekk fra skjermen og gÄ tilbake til Varslinger. Bekreft at preferansene er lagret og viser riktig tilstand.
Quick UAT â Accessibility
-
Logg inn i appen som Likeperson. à pne hamburger-menyen Þverst til venstre og trykk pÄ Innstillinger.
- Screen reader Hamburger-knapp annonseres som 'Meny, knapp'; Innstillinger-elementet annonseres med navn ved fokus.
- Keyboard / focus Tab-rekkefĂžlge: Ăžverste navigasjon â hamburger-knapp â menyelementer; Enter aktiverer.
- Touch target Hamburger-knapp og Innstillinger-element er minst 24Ă24 CSS px.
-
Trykk pÄ Varslinger i innstillingsmenyen. Bekreft at varslingsskjermen Äpnes og viser en liste over varslingskategorier med av/pÄ-bryterne.
- Screen reader Sideoverskrift 'Varslinger' annonseres ved navigasjon; hver bryters navn og nÄvÊrende tilstand (pÄ/av) annonseres.
- Keyboard / focus Alle bryterne er nÄbare med Tab; mellomrom eller Enter bytter tilstand.
- Zoom Liste og bryterne forblir lesbare og klikkbare ved 200 % zoom uten horisontal scrolling.
-
Skru av push-varsler for én kategori (f.eks. Nye oppdrag). Bekreft at bryteren bytter til av-posisjon umiddelbart.
- Screen reader TalkBack/VoiceOver annonserer 'Push-varsler for Nye oppdrag, av' etter bryterbytte.
- Focus visibility Synlig fokusring forblir pÄ bryteren etter tilstandsendring.
- Contrast Av-tilstand kommuniseres ikke kun gjennom farge; etikett eller ikon bekrefter tilstand.
-
Skru av e-post-varsler for samme kategori. Bekreft at begge bryterne nÄ viser av-posisjon og at en bekreftelsesmelding vises.
- Screen reader E-post-bryter annonseres med korrekt navn; bekreftelsesmeldingen leses av skjermleseren.
- Touch target E-post-bryteren er minst 24Ă24 CSS px.
- Live region 'Varslingsinnstillinger lagret.' annonseres i en hĂžflig live-region.
-
Naviger vekk fra skjermen og gÄ tilbake til Varslinger. Bekreft at preferansene er lagret og viser riktig tilstand.
- Screen reader Brytertilstander annonseres korrekt ved tilbakevending; ingen uventet tilbakestilling til forrige tilstand.
- Keyboard / focus Tilbake-knapp nÄs med Tab og aktiveres med Enter; fokus plasseres logisk ved retur til skjermen.
- Zoom Lagrede tilstander vises korrekt ved 200 % zoom.
Expected End State
Brukerens varslingspreferanser er lagret lokalt og synkronisert med backend. Fremtidige varsler sendes kun pÄ kanaler og for scenariotyper som brukeren ikke har skrudd av.
Components (21)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.