Cognitive Mode Service
Component Detail
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.
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