- 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.
- 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.
- Implemented UiShimmer as a core shimmer wrapper for animated gradient effects.
- Created shimmer presets for list items, stats cards, section headers, and more.
- Developed specific skeletons for billing, invoices, coverage, hubs, reports, payments, shifts, and home pages.
- Enhanced user experience by providing visual placeholders during data loading.
- Created a modular package for Frequently Asked Questions (FAQs) functionality.
- Established Clean Architecture with Domain, Data, and Presentation layers.
- Implemented BLoC for state management with events and states.
- Developed search functionality with real-time filtering of FAQs.
- Designed an accordion UI for displaying FAQs by category.
- Added localization support for English and Spanish.
- Included comprehensive documentation and testing checklist.
- Integrated dependency injection for repositories and use cases.
- Configured routing for seamless navigation to FAQs page.
- Introduced new bank account entities: BusinessBankAccount and StaffBankAccount.
- Updated bank account adapter to handle new entities.
- Removed legacy BankAccount entity and its adapter.
- Implemented use case for fetching bank accounts in billing repository.
- Updated BillingBloc and BillingState to include bank accounts.
- Refactored PaymentMethodCard to display bank account information.
- Adjusted actions widget layout for better UI consistency.
- Updated staff bank account repository and use cases to utilize new entity structure.
- Ensured all references to bank accounts in the codebase are updated to the new structure.
- Added AppColors for consistent theming across the feature.
- Created AttendanceCard widget to display attendance information.
- Developed CommuteTracker widget to manage and display commute status.
- Implemented DateSelector for selecting shift dates.
- Added LunchBreakDialog for logging lunch breaks with multiple steps.
- Created SwipeToCheckIn widget for checking in and out via swipe or NFC.
- Established StaffClockInModule for dependency injection and routing.
- Updated pubspec.yaml with necessary dependencies for the feature.
- Created AvailabilityPage with UI for managing staff availability.
- Integrated BLoC for state management, including LoadAvailability and ToggleDayStatus events.
- Added quick set options for availability (All Week, Weekdays, Weekends, Clear All).
- Implemented week navigation and day selection with visual feedback.
- Developed time slot management for each day, allowing toggling of availability.
- Established StaffAvailabilityModule for dependency injection and routing.
- Updated pubspec.yaml with necessary dependencies for the feature.
- Implemented Spanish translations for time card related strings.
- Created TimeCardRepository to fetch time card data based on shifts.
- Added use cases for retrieving time cards and payment history.
- Developed BLoC for managing time card state and events.
- Designed UI components for displaying time card summary and shift history.
- Integrated time card navigation within the staff main module.
- Updated pubspec.yaml files to include new dependencies and modules.
- Implemented ShiftAssignmentCard widget for displaying shift assignments with client details, pay calculation, and confirmation actions.
- Created StaffShiftsModule to manage dependencies, routes, and use cases related to staff shifts.
- Added necessary dependencies in pubspec.yaml and generated pubspec.lock.
- Introduced localization for staff attire in English and Spanish.
- Created AttireItem entity to represent attire items.
- Implemented StaffAttireModule with repository, use cases, and BLoC for state management.
- Developed UI components including AttirePage, AttireGrid, AttireInfoCard, AttestationCheckbox, and AttireBottomBar.
- Added navigation for attire management and integrated with existing staff profile flow.
- Implemented functionality for selecting attire items, uploading photos, and saving selections with validation.
- Created staff_tax_forms_module.dart to manage tax forms feature.
- Implemented routes for TaxFormsPage, FormI9Page, and FormW4Page.
- Added mock repository for tax forms.
- Established necessary dependencies in pubspec.yaml.
- Exported module in staff_tax_forms.dart.
- Added StaffProfileInfoModule for managing personal information onboarding.
- Created PersonalInfoRepositoryImpl and PersonalInfoRepositoryMock for data handling.
- Developed use cases for fetching and updating staff profile information.
- Implemented PersonalInfoBloc for state management using BLoC pattern.
- Designed UI components including PersonalInfoPage, PersonalInfoContent, and form widgets.
- Integrated navigation for onboarding steps and added necessary routes.
- Updated pubspec.yaml files to include new dependencies and feature packages.
- Created `client_coverage` feature with necessary dependencies in `pubspec.yaml`.
- Implemented `GetUserSessionDataUseCase` for retrieving user session data.
- Developed `ClientHomeEditBanner` for edit mode instructions and reset functionality.
- Added `ClientHomeHeader` to display user information and action buttons.
- Built `DashboardWidgetBuilder` to render various dashboard widgets based on state.
- Introduced `DraggableWidgetWrapper` for managing widget visibility and drag handles in edit mode.
- Created `HeaderIconButton` for interactive header actions with optional badge support.
Introduces the client billing feature with domain, data, and presentation layers. Adds billing BLoC, navigation, UI widgets, and integrates with mock financial repository. Updates localization files for billing-related strings, adds new icons and typography, and registers url_launcher plugins for Linux, macOS, and Windows platforms.
Introduces the client 'View Orders' feature, including domain entity, repository, use case, Cubit, state, navigation extension, UI page, and widget. Integrates the feature into the client main module, updates localization files for English and Spanish, and adds supporting icons to the design system. Also updates the mock repository to provide sample order data.
Introduces the new client_main feature package, providing a main shell with bottom navigation for the client app. Updates routing to use /client-main instead of /client-home, adds localization for new tabs, and implements navigation logic, UI, and tests for the main shell. Also refactors create_order module bindings and cleans up unused dependencies.
Introduces the client_create_order feature with navigation, BLoC, state, and UI for selecting order types. Adds English and Spanish localization keys, updates dependencies, and integrates the new module into the client app routing.
Replaces the old analytics_options.yaml with a new analysis_options.yaml at the workspace root, consolidating lint rules and analyzer settings. Updates all references in subprojects to use the new file, and adds flutter_lints as a direct dev dependency in pubspec.yaml for consistent linting across the workspace.
Relocated all app directories (client, design_system_viewer, staff) and their contents under the new 'apps/mobile' path. This change improves project organization and prepares for future platform-specific structuring.