Commit Graph

90 Commits

Author SHA1 Message Date
Achintha Isuru
3a5f2cc9c6 feat(shifts): implement submit for approval functionality
- Added `submitForApproval` method to `ShiftsRepositoryInterface` and its implementation in `ShiftsRepositoryImpl`.
- Created `SubmitForApprovalUseCase` to handle the submission logic.
- Updated `ShiftsBloc` to handle `SubmitForApprovalEvent` and manage submission state.
- Enhanced `HistoryShiftsTab` and `MyShiftsTab` to support submission actions and display appropriate UI feedback.
- Refactored date utilities for better calendar management and filtering of past shifts.
- Improved UI components for better spacing and alignment.
- Localized success messages for shift submission actions.
2026-03-18 14:37:55 -04:00
Achintha Isuru
9ee8467632 Refactor widgets & imports; add krow_domain
Add local krow_domain dependency to client, staff apps and client home package. Numerous UI/widget cleanups across features: add const where applicable, use explicit List<Widget> types and List<Widget>.generate, add super.key to constructors, tighten BlocProvider generics, replace some Containers with SizedBox, and simplify InputDecoration/Border constructors. Fix API error handler to return a const UnknownException. Update internal imports to package-style paths (staff_home, staff_payments, staff_main repository interface) and normalize Flutter imports (use material.dart). Add missing braces for early returns in tax form pages. Mostly formatting and small API/typing refactors with no behavioral changes intended.
2026-03-18 10:27:31 -04:00
Achintha Isuru
eccd2c6dbd Use UserRole enum for session role handling
Replace string-based role handling with a typed UserRole enum. Adds src/entities/enums/user_role.dart and exports it from krow_domain. Update SessionHandlerMixin to use List<UserRole> and change fetchUserRole to return UserRole?. V2SessionService now derives the role via UserRole.fromSessionData, and client/staff SessionListener widgets pass const <UserRole>[...] when initializing the auth listener. This centralizes role derivation and eliminates scattered role string literals.
2026-03-17 11:19:54 -04:00
Achintha Isuru
ba5bf8e1d7 refactor(session): migrate V2 session listener initialization to improve dependency injection and role handling 2026-03-17 10:55:18 -04:00
Achintha Isuru
b31a615092 feat: Migrate staff profile features from Data Connect to V2 REST API
- Removed data_connect package from mobile pubspec.yaml.
- Added documentation for V2 profile migration status and QA findings.
- Implemented new session management with ClientSessionStore and StaffSessionStore.
- Created V2SessionService for handling user sessions via the V2 API.
- Developed use cases for cancelling late worker assignments and submitting worker reviews.
- Added arguments and use cases for payment chart retrieval and profile completion checks.
- Implemented repository interfaces and their implementations for staff main and profile features.
- Ensured proper error handling and validation in use cases.
2026-03-16 22:45:06 -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
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
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
1a6132a485 chore: added logo images for each different flavours of the mobile apps. 2026-03-12 14:17:22 -04:00
Achintha Isuru
316a148726 feat: Implement review order flow for one-time, recurring, and permanent orders
- Added ReviewOrderPage to handle order review before submission.
- Created ReviewOrderArguments model to pass data between pages.
- Implemented schedule sections for one-time, recurring, and permanent orders.
- Enhanced navigation flow to confirm order submission after review.
- Refactored order submission logic in OneTimeOrderPage, PermanentOrderPage, and RecurringOrderPage.
- Introduced utility functions for time parsing and scheduling.
- Created reusable widgets for displaying order information in the review section.
- Updated navigation methods to use popSafe for safer back navigation.
- Added MainActivity for Android platform integration.
2026-03-09 19:49:23 -04:00
Achintha Isuru
972951fd96 feat: implement conditional google-services processing and update Firebase configurations for staging and production environments 2026-03-09 18:09:25 -04:00
Achintha Isuru
c4dbdb5dcb feat: implement flavor-specific key properties for staging and production environments 2026-03-09 16:34:42 -04:00
Achintha Isuru
2484c6cff2 Refactor code structure for improved readability and maintainability 2026-03-09 16:26:53 -04:00
Achintha Isuru
1c3cd211ab Merge branch 'dev' into 493-implement-rapid-order-creation-voice-text-in-client-mobile-app 2026-03-05 17:06:46 -05:00
Achintha Isuru
4b09f050b0 fix: Update milestone version format in changelogs for consistency 2026-03-05 15:33:35 -05:00
Achintha Isuru
89dd9fe723 docs(mobile): remove placeholder entries for RAPID and recurring orders in CHANGELOGs 2026-03-05 11:38:36 -05:00
Achintha Isuru
f771bca72a docs(mobile): enhance CHANGELOGs with comprehensive M4 features from git history
- Add Documents & Certificates management features
- Include Camera/gallery support for uploads
- Add Benefits overview section
- Expand Attire management with verification states
- Include RAPID order audio recording and transcription
- Add Hub manager assignment and Cost center features
- Include session management improvements
- Add navigation enhancements and bug fixes
- Document Core API services integration
- Include all user-facing features from milestone issues
2026-03-05 11:34:00 -05:00
Achintha Isuru
c06e14e668 docs(mobile): update M4 version to 0.0.1-M4 (keeping same base version) 2026-03-05 11:21:43 -05:00
Achintha Isuru
889d48144c docs(mobile): move CHANGELOGs to correct app directories (staff and client) 2026-03-05 11:15:05 -05:00
Achintha Isuru
085445e730 feat: add comprehensive release process documentation and version file references
- Introduced RELEASE_VISUAL_GUIDE.md for a visual overview of the release pipeline, including development, staging, and production phases.
- Created RELEASE_WORKFLOW.md detailing step-by-step release procedures for single and multi-product releases, including hotfix processes.
- Added VERSION_FILES_REFERENCE.md to outline all necessary version file updates for each product during releases, ensuring consistency and completeness.
2026-03-05 10:49:09 -05:00
Achintha Isuru
a56d8e5fd6 Update pubspec.yaml 2026-03-04 14:10:25 -05:00
Achintha Isuru
e386c34b86 Use shared CI keystore env vars; remove backup
Standardize CI signing config and clean up Android build files:

- Replace app-specific CodeMagic keystore env vars (CM_KEYSTORE_PATH_CLIENT/STAFF, CM_KEYSTORE_PASSWORD_CLIENT/STAFF, CM_KEY_ALIAS_CLIENT/STAFF, CM_KEY_PASSWORD_CLIENT/STAFF) with shared variables (CM_KEYSTORE_PATH, CM_KEYSTORE_PASSWORD, CM_KEY_ALIAS, CM_KEY_PASSWORD) in client and staff build.gradle.kts to unify CI configuration.
- Remove stray TODO comment about applicationId in both build files (cleanup).
- Adjust manifestPlaceholders placement in the client build file.
- Delete a backup google-services.json_back from the staff app to remove an unnecessary/sensitive artifact.
2026-03-04 13:58:21 -05:00
Achintha Isuru
867ff8d61c refactor: Replace Navigator.pop with Modular.to.popSafe for consistent navigation handling 2026-03-04 13:08:39 -05:00
Achintha Isuru
be2aae1ba0 feat: Update keystore file paths in key.properties for client and staff configurations 2026-03-01 21:35:10 -05:00
Achintha Isuru
315e8f9598 feat: Implement rapid order creation with voice and text input in client mobile app 2026-03-01 12:33:42 -05:00
Achintha Isuru
1ab5ba2e6f feat: Implement Android keystore setup for secure signing in release builds and update documentation for local and CI/CD environments 2026-02-28 22:32:54 -05:00
Achintha Isuru
53b612851c refactor: enhance navigation robustness by introducing popSafe and safePushNamedAndRemoveUntil methods and updating their usage. 2026-02-28 17:23:53 -05:00
Achintha Isuru
a53dddf2e6 feat: Implement voice-to-text transcription for rapid order creation and refactor RapidOrderBloc state management. 2026-02-27 20:37:14 -05:00
Achintha Isuru
e0d633d65d Merge branch '493-implement-rapid-order-creation-voice-text-in-client-mobile-app' into dev 2026-02-27 13:17:41 -05:00
Achintha Isuru
9d25fd44cc Add rapid order parsing & audio recording
Add support for transcribing and parsing rapid (urgent) orders into one-time order drafts. Introduces ParseRapidOrderTextToOrderUseCase and wiring for TranscribeRapidOrderUseCase, implements parseRapidOrder and transcribeRapidOrder in the client repository, and injects these into the RapidOrderBloc and module. Adds the record package dependency and registers the record plugin for iOS/macOS targets. Updates OneTimeOrder state, bloc and views to handle rapid-order drafts and navigate to the one-time order flow after parsing. Also includes small formatting and navigator changes.
2026-02-27 13:16:11 -05:00
Achintha Isuru
55a31661a1 feat: Implement audio recording and transcription for rapid order creation across platforms. 2026-02-27 11:49:17 -05:00
Achintha Isuru
b8d07380c0 replace the "Krow" with "KROW" 2026-02-26 15:13:26 -05:00
fd43494bd4 chore: Maestro restructure, remove Marionette, add Makefile e2e commands 2026-02-26 16:07:43 +05:30
Achintha Isuru
0ad70a4a42 Merge branch 'dev' into 503-build-dedicated-interface-to-display-hub-details 2026-02-25 13:07:59 -05:00
Achintha Isuru
19b82ff73a feat: device services implemented 2026-02-25 12:39:25 -05:00
165fe5b66b maestra testcases 2026-02-25 22:06:22 +05:30
13f8003bda refactor of usecases 2026-02-23 17:18:50 +05:30
Achintha Isuru
88d4e74c9e Merge branch 'dev' into codex/local-dev-fixes 2026-02-17 16:34:58 -05:00
Achintha Isuru
631af65a2f feat: Update session navigation and enhance error handling in data services 2026-02-17 15:46:52 -05:00
Achintha Isuru
5b78f339a1 feat: Implement session management with SessionListener and integrate krow_data_connect 2026-02-17 15:19:08 -05:00
Achintha Isuru
888cf83c18 feat(breaks): Implement Google Maps API key integration and decode Dart defines for both client and staff apps 2026-02-16 13:50:02 -05:00
zouantchaw
6502a2f983 Add quality gates and baseline tests for web/mobile 2026-02-12 23:21:25 -05:00
Achintha Isuru
e1567ba84c Merge pull request #384 from Oloodi/feature/centralized-data-error-handling
refactor: centralize data connect error handling and stabilize mobile applications
2026-02-06 10:05:21 -05:00
5e7bf0d5c0 refactor: centralize data connect error handling and resolve build issues across applications
This commit addresses several critical issues across the mobile monorepo:

1. Centralized Error Handling: Integrated DataErrorHandler mixin into all repository implementations, ensuring consistent mapping of Data Connect exceptions to domain AppExceptions.
2. Build Stabilization: Fixed numerous type mismatches, parameter signature errors in widgets (e.g., google_places_flutter itemBuilder), and naming conflicts (StaffSession, FirebaseAuth).
3. Code Quality: Applied 'dart fix' across all modified packages and manually cleared debug print statements and UI clutter.
4. Mono-repo alignment: Standardized Data Connect usage and aliasing ('dc.') for better maintainability.

Signed-off-by: Suriya <suriya@tenext.in>
2026-02-06 13:28:57 +05:30
Achintha Isuru
5c6852fcba Merge pull request #383 from Oloodi/demo/prep-demo-m3
Introduce validation db instance
2026-02-06 00:45:04 -05:00
Achintha Isuru
aa2418b327 Refactor import order and remove debug logging in authentication repository 2026-02-06 00:29:04 -05:00
José Salazar
b0065068a4 validations of connection to validation db 2026-02-06 11:35:31 +09:00
Achintha Isuru
f359c3c0d1 Update versioning for client and staff applications to standardize identifiers 2026-02-05 14:35:20 -05:00
Achintha Isuru
831bfd2f64 Update versioning for client and staff applications to include specific identifiers for Iliana 2026-02-05 14:06:20 -05:00
Achintha Isuru
5d21069a49 Update versioning for client and staff applications to include specific identifiers for Iliana 2026-02-05 13:48:20 -05:00