low complexity extracted Notifications Confidence: 100%
3
Components
18
Shared
0
User Stories
Yes
Analyzed

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.

  • Bottom nav with 5 tabs: Home, Contacts, Add (modal launcher for Activity and Event wizards), Work, Notifications
  • Appen SKAL oppfylle WCAG 2.2 nivĂ„ AA som minimumskrav for alle skjermer og interaksjoner - fra dag Ă©n, for alle organisasjoner.

Analysis

Business Value

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.

Implementation Notes

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)
1
Scenarios
5
UAT Steps
15
A11y Annotations
0
Role Boundaries
Peer Mentor

Peer Mentor

Quick UAT

  1. Logg inn i appen som Likeperson. Åpne hamburger-menyen Ăžverst til venstre og trykk pĂ„ Innstillinger.
  2. Trykk pÄ Varslinger i innstillingsmenyen. Bekreft at varslingsskjermen Äpnes og viser en liste over varslingskategorier med av/pÄ-bryterne.
  3. Skru av push-varsler for én kategori (f.eks. Nye oppdrag). Bekreft at bryteren bytter til av-posisjon umiddelbart.
  4. Skru av e-post-varsler for samme kategori. Bekreft at begge bryterne nÄ viser av-posisjon og at en bekreftelsesmelding vises.
  5. Naviger vekk fra skjermen og gÄ tilbake til Varslinger. Bekreft at preferansene er lagret og viser riktig tilstand.

Quick UAT — Accessibility

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

User Stories

No user stories have been generated for this feature yet.