Quick Log Widget
Component Detail
User Interface
medium complexity
mobile
2
Dependencies
0
Dependents
3
Entities
0
Integrations
Description
Persistent bottom-navigation center tab widget providing immediate access to activity logging from any screen. Pre-populates intelligent defaults (today's date, 30-minute duration, most recently used contact) and enforces the fewer-than-three-taps design principle for standard registrations. Built as a Flutter widget with BLoC state management, optimistic UI updates, and full WCAG 2.2 AA compliance including 24x24px minimum touch targets and semantic labels for VoiceOver/TalkBack.
quick-log-widget
Responsibilities
- Render the quick-log form with pre-populated default values from user history
- Validate required fields (activity type, duration, contact) before submission
- Provide optimistic UI feedback on submission while the API call completes
- Ensure all interactive elements meet WCAG 2.2 AA touch target and contrast requirements
- Support both peer mentor self-logging and coordinator proxy-logging modes
Interfaces
openQuickLog()
prefillDefaults(lastContact, currentDate, defaultDuration)
selectContact(contactId)
selectActivityType(activityType)
setDuration(minutes)
setDate(date)
addOptionalNote(text)
submitActivity()
showSubmissionSuccess(activityId)
showSubmissionError(error)
resetForm()
switchToProxyMode(targetUserId)
Relationships
Related Data Entities (3)
Data entities managed by this component