- Introduced a .dockerignore file to optimize Docker builds by excluding unnecessary files.
- Updated the Dockerfile to use a Flutter base image, enabling web builds for the application.
- Added new data models for `Lot` and `OrganizationAddress` to represent tender details more accurately.
- Enhanced the `Organization` model to include `companyId` and a nested `address` field.
- Updated the `TenderData` model to include new fields such as `noticeTypeCode`, `formType`, and `lots`, reflecting the API response structure.
- Regenerated necessary code for data models to ensure compatibility with the updated structures.
- Updated the handling of card movement results to differentiate between successful and unsuccessful API responses.
- Implemented rollback of board state and error messaging for failed moves, ensuring a more robust user experience.
- Enhanced the notification system to surface relevant error messages when card movements fail.
- Changed the iOS deployment target from 12.0 to 13.0 in Podfile and project settings.
- Updated AppDelegate to support implicit Flutter engine initialization.
- Modified Info.plist to include scene configuration for multiple scenes.
- Enhanced CompletionOfDocumentsRouteData to accept a tenderId parameter.
- Implemented tender submission functionality in TenderDetailViewModel and updated UI components to reflect loading states and success/error messages.
- Added new strings for submission success and error notifications.
- Updated TendersRepository and TendersService to support cursor-based pagination.
- Modified TendersViewModel to manage pagination state and handle API responses more effectively.
- Replaced existing pagination UI components with a new WindowedPagination widget across desktop, mobile, and tablet views.
- Improved notification handling in the UI to reflect the presence of notifications dynamically.
- Adjusted main tenders slider to ensure proper rendering based on the current page index.
- Integrated LikedTendersService into HomeRepository to fetch the count of user-liked tenders.
- Updated HomeViewModel to load and manage the userLikedTendersCount.
- Adjusted UI components across home pages to display the liked tenders count.
- Refactored date handling in date_utils.dart to improve timestamp parsing and validation.
- Enhanced unit tests for date utilities to cover new edge cases.
- Added a new field for companies in the ProfileData model to store associated company information.
- Updated JSON serialization methods to handle the new companies field.
- Modified profile page views to display the user's full name and company name, replacing previous role and department fields for improved clarity.
- Introduced new string constants for full name and phone in ProfileStrings.
- Swapped routes for Profile and Notification branches in the app's navigation structure.
- Updated the current index for navigation items in TabletNavigationWidget and related pages to reflect the new routing.
- Added a new logo SVG asset to the asset manager for branding consistency.
- Adjusted the pubspec.lock file to downgrade several package versions for compatibility.
- Changed references from companyProfileData to profileData across multiple profile page views for consistency.
- Updated UI elements to display user-specific information such as username, email, role, department, and position.
- Modified the profile screen to fetch user profile data instead of company profile data.
- Added new string constants for user-related fields in ProfileStrings.
- Added a new logo SVG asset to the AssetsManager for better branding.
- Updated the AuthViewModel to notify listeners on authentication error changes.
- Modified DesktopNavigationWidget to use the new logo SVG with specified dimensions for improved layout.
- Introduced BoardService and BoardRepository for managing board-related data.
- Updated app routes to reflect the new board screen structure.
- Added new board-related assets to the asset manager.
- Refactored BoardScreen navigation to utilize the new provider structure.
- Added new color definitions for secondary and orange shades in AppColors.
- Updated TaskItem model to remove title and improve description handling.
- Refactored BoardScreen to utilize new color definitions and improve task display.
- Enhanced task status messaging and UI consistency across task cards.
- Introduced new board-related assets in AssetsManager.
- Updated NetworkManager to increase connection and receive timeouts to 20 seconds.
- Added BoardRouteData for navigation to the BoardScreen.
- Updated app routes to include the new board route.
- Modified DesktopNavigationWidget to include a navigation item for the board.
- Added a new string constant for the board label in TendersStrings.
- Introduced a new button labeled 'Add Partnership' on the desktop, mobile, and tablet versions of the Completion of Documents pages.
- The button is styled with a primary color background and rounded corners for improved UI consistency.
- Added a new clock icon asset to the AssetsManager.
- Updated MeetingTimeBottomSheet and MeetingTimeDialog to include a close button for better user experience.
- Introduced MeetingTimeSuccessfulRegisteredBottomSheet and MeetingTimeSuccessfulRegisteredDialog for confirming meeting time registration.
- Refactored submission dialogs to improve layout and interaction consistency.
- Updated AuthViewModel to hydrate user data from storage on initialization.
- Added method to AuthRepository for retrieving stored customer data.
- Enhanced AuthService to save and retrieve customer data from SharedPreferences.
- Refactored UI components to use context.watch for user role updates in MeetingTimeDialog, TenderDetailActions, and TendersPage.
- Improved navigation logic in final completion pages to handle user interactions more effectively.
- Added user role retrieval from AuthViewModel in MeetingTimeDialog.
- Updated navigation logic to conditionally push routes based on user role (admin or non-admin) when confirming meeting time.
- Added a new `role` attribute to the `Customer` model in `customer.dart` and updated the corresponding generated files.
- Modified the `AuthViewModel` to set the user role based on the logged-in user's role.
- Updated UI components in `TenderDetailActions` and `DesktopTendersPage` to conditionally render elements based on the user's role.
- Refactored tests to validate the new role attribute in the `Customer` model.
- Updated the status checks in `_YourTendersDesktopPageState` and `_YourTendersTabletPageState` to use `TenderFeedback` values instead of string constants for better maintainability.
- Updated `pubspec.lock` to new package versions for `async`, `fake_async`, `leak_tracker`, and `vm_service`.
- Modified API endpoint for unread notifications to include `event_type=PUSH`.
- Refactored `CompletionOfDocumentsMobilePage` layout for improved structure.
- Simplified `DetailDropDown` widget by removing unnecessary animations.
- Updated `CommentBox` styling and adjusted padding for better UI consistency.
- Replaced deprecated `FormCard` implementation in final completion pages with a new widget structure.
- Enhanced button styles across various dialogs and pages for a cohesive design.
- Removed unused mobile route for completion of documents.
- Updated app routes to reflect the removal of the mobile route.
- Enhanced the desktop and mobile pages for completion of documents with improved layout and added TabletDesktopAppbar.
- Introduced meeting time handling in TenderDetailActions, integrating new bottom sheet and dialog components for better user interaction.
- Added meeting time state management in TenderDetailViewModel.
- Cleaned up deprecated files related to meeting time selection.
- Updated `TendersFilterDialog` and `TendersSortDialog` to use a stateful approach, allowing for better management of selected filters and sorting options.
- Integrated `TendersViewModel` into both dialogs, enabling direct interaction with the view model for setting date ranges and statuses.
- Enhanced the UI to reflect changes in state, ensuring a more responsive user experience when applying filters and sorting.
- Updated the `d_tenders_page.dart` to pass the view model and handle filter and sort actions appropriately.
- Updated `pubspec.lock` to reflect new versions for several packages, including `async`, `fake_async`, `leak_tracker`, and `vm_service`.
- Modified `TenderApprovalStatus` enum to include a new status `approved`.
- Updated routing for `YourTendersRouteData` to accept a status parameter and pass it to the `YourTendersScreen`.
- Adjusted API calls and view models to utilize the new status handling, ensuring proper filtering and display of tender data based on approval status.
- Enhanced filter dialog to support new status options and improved user feedback in the UI for submitted and approved tenders.
- Implemented `ForgotPasswordViewModel`, `ResetPasswordViewModel`, and `VerifyOtpViewModel` for handling respective functionalities.
- Created provider functions for lazy loading of these view models in the app.
- Updated routing to utilize the new providers for managing state in the forgot password flow.
- Refactored UI components to integrate with the new view models, ensuring proper state management and user feedback during operations.