Refactor clock-in feature: Introduce validation pipeline and interaction strategies

- Added a validation pipeline for clock-in actions, including geofence, time window, and override notes validators.
- Created a context class for passing validation data and results.
- Implemented check-in interaction strategies for swipe and NFC methods, encapsulating their UI and behavior.
- Removed redundant utility functions and centralized time formatting in a new utility file.
- Enhanced the notification service to handle clock-in and clock-out notifications separately.
- Updated the ClockInBloc to utilize the new validation and notification services.
- Cleaned up the ClockInActionSection widget to use the new interaction strategies and removed unnecessary listeners.
This commit is contained in:
Achintha Isuru
2026-03-14 19:58:43 -04:00
parent e3f7e1ac3e
commit 28a219bbea
29 changed files with 864 additions and 394 deletions

View File

@@ -18,6 +18,7 @@ dependencies:
design_system:
path: ../design_system
intl: ^0.20.0
flutter_bloc: ^8.1.0
equatable: ^2.0.8
flutter_modular: ^6.4.1