Commit Graph

1647 Commits

Author SHA1 Message Date
Achintha Isuru
4480be5fee Merge pull request #652 from Oloodi/codex/feat-v2-unified-api-surface
feat(api): complete unified v2 mobile surface
2026-03-16 09:38:44 -04:00
Achintha Isuru
1bb1f590c5 Add WorkManager guidance and navigation exception
Add a new "Background Tasks & WorkManager" section with checklist items for reviewing background task code (app background/killed behavior, doze/timing, minimum periodic interval, background location permissions, battery optimization, data passed to background isolates, failure handling, and task cleanup). Also clarify navigation guidance by allowing Navigator.push() when popping a dialog (note added to both Mobile Architecture skill and Mobile QA Analyst agent docs).
2026-03-16 02:34:39 -04:00
Achintha Isuru
c0a7ca1329 Increase background geofence interval to 15m
Update BackgroundGeofenceService to register the periodic geofence task with a 15-minute interval instead of 10 seconds. This reduces frequent wakeups and resource usage and better matches typical platform background scheduling constraints.
2026-03-16 02:31:07 -04:00
Achintha Isuru
f4c56cf547 Update clock_in_bloc.dart 2026-03-16 02:25:55 -04:00
Achintha Isuru
31f03aa52a feat: Enhance clock-in feature with time window auto-refresh and lunch break data handling 2026-03-16 01:55:20 -04:00
Achintha Isuru
c5b5c14655 feat: Add mobile QA analyst agent for Flutter code analysis and bug detection 2026-03-16 01:35:49 -04:00
Achintha Isuru
5fd2a44a8b feat: Add localization for hourly rate and enhance geofence notifications
- Added localization for hourly rate in English and Spanish.
- Updated background geofence service to use localized notification titles and bodies.
- Enhanced ClockInBloc to compute time window flags for check-in/check-out availability.
- Updated ClockInState and ClockInEvent to include check-in/check-out availability flags and messages.
- Refactored ClockInActionSection to display availability messages based on computed flags.
- Ensured compliance with design system for user-facing strings and notification messages.
2026-03-16 01:27:15 -04:00
Achintha Isuru
86335dd177 feat(SKILL.md): add shift card design specifications and status chip variants 2026-03-15 21:42:12 -04:00
Achintha Isuru
5c99ddbca7 feat(SKILL.md): update interaction patterns for modals and long lists with date filters 2026-03-15 21:07:57 -04:00
Achintha Isuru
29adf60b8a feat(specification): update clock-in process with time-window enforcement and location verification details 2026-03-15 00:27:34 -04:00
Achintha Isuru
e02de1fb68 feat(clock_in): add early check-out banner and localization support 2026-03-14 20:36:35 -04:00
Achintha Isuru
f6de07fc25 refactor(clock_in): rename error handling variable for clarity in check-in interactions 2026-03-14 20:28:28 -04:00
Achintha Isuru
10bd61b250 feat(clock_in): add error handling support to check-in interactions 2026-03-14 20:21:10 -04:00
Achintha Isuru
e93f7f7004 fix(clock_in): improve error handling and state reset logic in clock-in process 2026-03-14 20:11:19 -04:00
Achintha Isuru
aa556c4a05 refactor(clock_in): reorganize validation logic into separate validator files 2026-03-14 20:03:30 -04:00
Achintha Isuru
28a219bbea 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.
2026-03-14 19:58:43 -04:00
Achintha Isuru
e3f7e1ac3e fix(clock_in): restore early check-in banner logic for active shifts 2026-03-14 14:30:28 -04:00
Achintha Isuru
3478436227 refactor(clock_in): reorganize geofence and clock-in BLoC structure
- Deleted old geofence_event.dart and geofence_state.dart files.
- Created new geofence_event.dart and geofence_state.dart files under a dedicated geofence directory.
- Moved clock_in_bloc.dart, clock_in_event.dart, and clock_in_state.dart to a new clock_in directory for better organization.
- Updated import paths throughout the codebase to reflect the new structure.
- Implemented new ClockInBloc and GeofenceBloc classes to handle clock-in and geofence functionalities respectively.
- Enhanced event and state management for clock-in operations, including handling location verification and geofence checks.
2026-03-14 01:23:27 -04:00
Achintha Isuru
08a4326da4 feat: Add task execution callback registration to BackgroundTaskService and update geofence dispatcher to use it 2026-03-14 00:59:39 -04:00
Achintha Isuru
2889098f9f refactor: Replace debugPrint with print statements in background geofence dispatcher for logging 2026-03-14 00:45:18 -04:00
Achintha Isuru
8fcf1d9d98 feat: Enhance background geofence functionality with notifications and localization support 2026-03-13 21:44:39 -04:00
Achintha Isuru
6f57cae247 feat: Add overridden banner for geofence check with justification and update localization strings 2026-03-13 20:47:59 -04:00
Achintha Isuru
c92138a573 refactor: Improve code readability by formatting and restructuring Bloc context usage in ClockInActionSection 2026-03-13 20:44:45 -04:00
Achintha Isuru
1bbd306ca0 feat: Update geofence handling to allow checkout when checked in and show verified banner for overridden geofence 2026-03-13 20:43:51 -04:00
Achintha Isuru
ea078eaa02 refactor: Rearrange MultiBlocProvider and Scaffold structure in ClockInPage for improved readability 2026-03-13 17:15:44 -04:00
Achintha Isuru
a85cd36975 feat: Implement geofence override approval with justification notes and update related state management 2026-03-13 17:11:14 -04:00
Achintha Isuru
ab1cd8c355 feat: Add geofence override functionality with justification modal and update banners 2026-03-13 17:04:40 -04:00
Achintha Isuru
a2b102a96d feat: Update action button styling and color in permission denied banner 2026-03-13 16:44:39 -04:00
Achintha Isuru
accff00155 feat: Enhance geofence functionality with new status banners and utility functions 2026-03-13 16:34:09 -04:00
Achintha Isuru
7b576c0ed4 feat: Implement notification and storage services, geofence management, and BLoC for geofence verification
- Add NotificationService for handling local notifications.
- Introduce StorageService for key-value storage using SharedPreferences.
- Create DeviceLocation model to represent geographic locations.
- Define LocationPermissionStatus enum for managing location permissions.
- Implement BackgroundGeofenceService for periodic geofence checks while clocked in.
- Develop GeofenceServiceImpl for geofence proximity verification using LocationService.
- Create GeofenceResult model to encapsulate geofence check results.
- Define GeofenceServiceInterface for geofence service abstraction.
- Implement GeofenceBloc to manage geofence verification and background tracking.
- Create events and states for GeofenceBloc to handle various geofence scenarios.
- Add GeofenceStatusBanner widget to display geofence verification status in the UI.
2026-03-13 16:01:26 -04:00
Achintha Isuru
2fc6b3139e refactor: reorder import statements for better organization in clock_in_bloc.dart 2026-03-13 13:08:03 -04:00
Achintha Isuru
2c1c71ad01 refactor: simplify widget structure and improve date selection logic in clock-in features 2026-03-13 12:14:06 -04:00
zouantchaw
b455455a49 feat(api): complete unified v2 mobile surface 2026-03-13 17:02:24 +01:00
Achintha Isuru
ec880007d0 feat(clock-in): add adaptive launcher icons and implement clock-in features
- Added adaptive launcher icons for both dev and stage environments in mobile apps.
- Introduced CheckInModeTab widget for selecting check-in methods.
- Created CheckedInBanner to display current check-in status with time.
- Implemented ClockInActionSection to manage check-in/out actions based on shift status.
- Developed ClockInBody to compose the main content of the clock-in page.
- Added utility functions in ClockInHelpers for time formatting and check-in availability.
- Created EarlyCheckInBanner to notify users arriving too early to check in.
- Implemented NFC scan dialog for NFC-based check-ins.
- Added NoShiftsBanner to inform users when no shifts are scheduled.
- Developed ShiftCard and ShiftCardList for displaying shifts in a selectable format.
- Created ShiftCompletedBanner to show success message after completing a shift.
2026-03-13 11:55:59 -04:00
zouantchaw
817a39e305 feat(api): add unified v2 gateway and mobile read slice 2026-03-13 15:17:00 +01:00
Achintha Isuru
13bcfc9d40 Merge pull request #650 from Oloodi/616-implement-shimmer-loading-in-mobile-applications-fe
616 implement shimmer loading in mobile applications fe
2026-03-12 16:54:45 -04:00
Achintha Isuru
8980278cdc chore: clean up pull request template by removing unnecessary sections 2026-03-12 16:54:33 -04:00
Achintha Isuru
a5079c014f feat: update design specifications for label styling and add mobile backend API documentation 2026-03-12 16:50:04 -04:00
Achintha Isuru
94712a2f5b Merge branch 'dev' into 616-implement-shimmer-loading-in-mobile-applications-fe 2026-03-12 14:42:39 -04:00
Achintha Isuru
038b590468 Add flavor-specific app icons setup for Android and iOS
- Create documentation for configuring flavor-specific app icons in mobile applications.
- Implement scripts to generate and set up flavor-specific icons for Android and iOS.
- Configure iOS schemes to use the appropriate AppIcon asset sets for dev and stage flavors.
- Ensure generated icons meet required sizes and formats for both platforms.
- Provide troubleshooting steps and CI/CD integration guidelines for automated builds.
2026-03-12 14:42:11 -04:00
Achintha Isuru
83ab314a52 Merge pull request #649 from Oloodi/codex/feat-backend-v2-foundation
feat(backend): add v2 foundation stack and frontend migration docs
2026-03-12 14:18:41 -04:00
Achintha Isuru
1a6132a485 chore: added logo images for each different flavours of the mobile apps. 2026-03-12 14:17:22 -04:00
zouantchaw
b61babe3c6 docs(api): consolidate v2 frontend backend guides 2026-03-12 14:09:05 +01:00
Achintha Isuru
d814f8052e Remove CLAUDE.md from tracking (keep in gitignore) 2026-03-11 21:23:39 -04:00
Achintha Isuru
7e628d0ebf feat: update warning and error chip styles for improved visibility 2026-03-11 21:22:17 -04:00
Achintha Isuru
29dc9342e9 feat: add mobile design reference to UI/UX guidelines and update .gitignore for paper designer files 2026-03-11 14:25:35 -04:00
zouantchaw
fe43ff23cf feat(backend): implement v2 domain slice and live smoke 2026-03-11 18:23:55 +01:00
zouantchaw
bc068373e9 Ignore local skills artifacts 2026-03-11 17:06:30 +01:00
zouantchaw
a465b04e9a Ignore local skills artifacts 2026-03-11 17:02:56 +01:00
zouantchaw
50cb493c53 Update validation Data Connect seed data 2026-03-11 16:58:26 +01:00