Service Layer medium complexity mobile
0
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Reads user accessibility preferences from AccessibilityPreferencesRepository and exposes a reactive simplified layout flag consumed by screen generators across the entire application. Provides the central authority on whether a given user session should operate in cognitive accessibility mode, driving conditional rendering of secondary actions, metadata panels, and decorative UI elements.

Feature: Cognitive Accessibility

cognitive-mode-service

Responsibilities

  • Load and cache accessibility preferences from the repository on session start
  • Expose a reactive simplified layout flag as a Stream or Riverpod provider
  • Toggle cognitive mode on or off and persist the change to the repository
  • Apply default mode based on organization-level accessibility configuration
  • Notify subscribed widgets when the mode changes without requiring full page rebuilds

Interfaces

Stream<bool> get simplifiedLayoutStream
bool get isSimplifiedLayoutEnabled
Future<void> enableCognitiveMode(String userId)
Future<void> disableCognitiveMode(String userId)
Future<void> toggleCognitiveMode(String userId)
Future<AccessibilityPreferences> loadPreferences(String userId)
Future<void> applyOrganizationDefaults(String orgId)

Related Data Entities (1)

Data entities managed by this component