Commit Graph

141 Commits

Author SHA1 Message Date
AmirReza Jamali 984f2e5139 refactor: use GET tenders/recommend and improve tender title UX
continuous-integration/drone/push Build is passing
Load the Recommended tab from GET /api/v1/tenders/recommend instead of the
AI POST flow with 503 fallback. Fix notification pagination offset, make
tender titles selectable across list and detail views, and ignore .cursor.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-27 12:23:53 +03:30
AmirReza Jamali d4a07fd774 test: add AI recommendations fallback tests
Cover repository and view model fallback behavior and fix load state handling for 503 fallback responses.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 13:24:28 +03:30
AmirReza Jamali 50e4f43738 feat: add AI recommendations flow for tenders
Implement company AI onboarding/recommendation models, services, repository, and tender UI integration with supporting tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 11:47:52 +03:30
AmirReza Jamali dde66521f6 Add Docker support and enhance data models for tender details
- 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.
2026-06-03 13:32:42 +03:30
AmirReza Jamali 83b77c05ef Refactor card movement logic in BoardViewModel to improve error handling and success validation
- 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.
2026-05-30 18:46:13 +03:30
AmirReza Jamali e6b4720dcd Update iOS deployment target to 13.0, enhance Flutter integration, and improve tender submission flow
- 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.
2026-05-30 16:48:05 +03:30
AmirReza Jamali ae08b946f6 Refactor tenders pagination and enhance API integration
- 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.
2026-05-26 18:30:46 +03:30
AmirReza Jamali 02057988dc Remove TaskStatus enum and related extensions, refactor BoardService and BoardResponse models for improved API integration, and update BoardViewModel to handle card movements between columns. Adjust UI components to reflect these changes and enhance error handling for card operations. 2026-05-26 10:41:34 +03:30
AmirReza Jamali 35af3e94ea Add liked tenders functionality to HomeRepository and ViewModel
- 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.
2026-05-24 18:23:37 +03:30
a.ghabeli 4525e06119 Merge pull request 'profile_changes' (#224) from profile_changes into develop
Reviewed-on: https://repo.ravanertebat.com/TM/tm_app/pulls/224
2026-05-24 12:13:00 +03:30
amirrezaghabeli 00a3180499 edit key word api added 2026-04-25 12:13:49 +03:30
amirrezaghabeli cc0032b21d fixed logout at refresh failed 2026-04-16 16:36:55 +03:30
amirrezaghabeli 41bba5d32c fixed home 2026-04-16 09:10:37 +03:30
amirrezaghabeli 64a1c30e6c Add logo SVG asset and improve authentication error handling
- 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.
2025-11-16 14:54:45 +03:30
amirrezaghabeli abf1cc3f7d Add board service and repository, update routes and assets
- 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.
2025-11-11 12:58:05 +03:30
amirrezaghabeli 38222afcfa Enhance authentication flow and user role management
- 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.
2025-10-14 12:24:04 +03:30
amirrezaghabeli 13dbb5fae5 Enhance Customer model to include role attribute and update related components
- 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.
2025-10-14 09:12:24 +03:30
a.ghabeli 2c5db7f297 Merge pull request 'added web tablet pages' (#214) from completion_of_documents into main
Reviewed-on: https://repo.ravanertebat.com/TM/tm_app/pulls/214
2025-10-13 14:52:20 +03:30
amirrezaghabeli 919b9fb2ed Refactor completion of documents routing and UI components
- 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.
2025-10-13 14:51:39 +03:30
amirrezaghabeli 6d674a4a1b Update dependencies and enhance tender approval status handling
- 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.
2025-10-12 14:57:33 +03:30
amirrezaghabeli cee5e6c6d6 Add forgot password, reset password, and verify OTP providers and view models
- 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.
2025-10-06 15:39:08 +03:30
amirrezaghabeli 7560402632 Refactor dependency injection to use lazy loading for providers in the core configuration. Remove unused logout method from AuthViewModel and adjust ProfileViewModel to call localLogout directly from AuthRepository. Clean up constructor parameters in ProfileViewModel and TenderDetailViewModel by removing unnecessary dependencies. 2025-10-06 12:24:18 +03:30
amirrezaghabeli 42f2e93a8e Update .gitignore to exclude Firebase configuration files and refactor notification handling in the app. Removed redundant logging and notification data storage in SharedPreferences. Introduced NotificationCheckService and NotificationStateService for improved notification management. Updated view models and UI components to utilize the new services, enhancing notification state tracking and user experience. 2025-10-06 11:59:54 +03:30
amirrezaghabeli 7e1240dffb some fixes 2025-10-06 10:32:58 +03:30
amirrezaghabeli 0653cdb6d7 changes 2025-10-06 08:58:36 +03:30
amirrezaghabeli 9305d85d01 fixed profile logout bug 2025-10-01 14:26:12 +03:30
amirrezaghabeli 92c759b6c6 fixed rest of the bugs 2025-09-30 12:37:54 +03:30
amirrezaghabeli fc925f7b84 fixed bugs 2025-09-30 11:12:17 +03:30
amirrezaghabeli 6e82f2c73f mark single notification as read 2025-09-28 14:28:18 +03:30
llsajjad 271b253f23 Fixed seen item in notifications 2025-09-28 12:52:13 +03:30
llsajjad ca78b76abd Fixed showing notification circular alert 2025-09-28 11:32:29 +03:30
llsajjad 1fdbff77a1 fixed pagination 2025-09-27 15:27:45 +03:30
llsajjad ca81da026d Fixed important in notification 2025-09-27 14:57:42 +03:30
amirrezaghabeli c989f3ae1f fixed time ago in notifications 2025-09-27 13:57:47 +03:30
llsajjad 835a6f865d hide notification circular when call mark as read 2025-09-27 13:35:05 +03:30
llsajjad fa974bc4a2 added new response data from notifications api 2025-09-27 13:02:12 +03:30
amirrezaghabeli ae348c3ed9 update notification tab data when clicking on navigation bars 2025-09-27 10:47:13 +03:30
llsajjad 811a1c1385 Fixed notification pagination for all and unread 2025-09-27 08:54:11 +03:30
amirrezaghabeli e49c12b6cc merge with conflict 2025-09-25 12:48:32 +03:30
amirrezaghabeli 70ecad74d1 fixed notification update fixed 2025-09-25 12:21:46 +03:30
amirrezaghabeli eee1d9cdd8 feedback response model changes 2025-09-25 09:01:10 +03:30
llsajjad b38c3fd4a4 Fixed loading bug in notification mobile 2025-09-24 13:39:19 +03:30
llsajjad 7456418ea2 Fixed warning context and hard code strings in notificationModelView and some widgets 2025-09-24 12:15:53 +03:30
a.ghabeli 060609c86a Merge pull request 'added_unread_allread_notification' (#157) from added_unread_allread_notification into main
Reviewed-on: https://repo.ravanertebat.com/TM/tm_app/pulls/157
2025-09-24 08:43:05 +03:30
llsajjad 1f60954c53 Added unread list api in notification 2025-09-23 15:49:30 +03:30
llsajjad 70066c26e8 Added markAll as read for notification 2025-09-23 15:01:42 +03:30
a.ghabeli f630c0d0ab Merge pull request 'splash_scren' (#156) from splash_scren into main
Reviewed-on: https://repo.ravanertebat.com/TM/tm_app/pulls/156
2025-09-23 13:38:01 +03:30
amirrezaghabeli 801e170d7c sort and filter added to tenders web 2025-09-23 13:15:41 +03:30
a.ghabeli da3efc730a Merge pull request 'Added notification logic and view api' (#152) from logic_notification into main
Reviewed-on: https://repo.ravanertebat.com/TM/tm_app/pulls/152
2025-09-22 16:09:10 +03:30
llsajjad cfc61daf71 Added notification logic and view api 2025-09-22 16:05:08 +03:30