Commit Graph

323 Commits

Author SHA1 Message Date
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 4b1260a437 Update home page navigation to reinitialize ViewModel after navigating to liked tenders 2026-05-25 18:21:13 +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
AmirReza Jamali 2515190576 Refactor date handling in tender data model and UI components. Added unixTimestampFromJson for parsing timestamps and updated timeConvertor to handle null values. Updated relevant model fields and UI to use the new parsing logic. Added unit tests for date utilities. 2026-05-24 15:28:47 +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 d87fc452c7 fixed tenders detail date times 2026-05-05 13:56:18 +03:30
amirrezaghabeli 00a3180499 edit key word api added 2026-04-25 12:13:49 +03:30
amirrezaghabeli eb75952b8e profile tabs fixed 2026-04-19 12:37:39 +03:30
amirrezaghabeli c6cb3221ab profile tabs added 2026-04-18 16:36:05 +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 7ae5c25ebb changed to test api url 2025-11-23 11:54:20 +03:30
amirrezaghabeli a5b01ffac4 Update ProfileData model to include companies and enhance profile UI
- 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.
2025-11-23 10:47:51 +03:30
amirrezaghabeli ae8501dc36 Refactor navigation structure and update asset references
- 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.
2025-11-22 15:29:46 +03:30
amirrezaghabeli d01e028dc1 Refactor profile data handling and update UI components
- 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.
2025-11-20 17:33:30 +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 a03e66f66b Enhance color theme and update board screen UI
- 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.
2025-11-11 09:54:54 +03:30
amirrezaghabeli e03c87f99d Add board navigation and assets
- 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.
2025-11-10 16:14:50 +03:30
amirrezaghabeli acd2a62b22 Add 'Add Partnership' button to completion of documents pages
- 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.
2025-10-27 13:52:19 +03:30
amirrezaghabeli de659ca9cf Add clock asset and enhance meeting time dialogs
- 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.
2025-10-27 13:22:51 +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 cc16d28195 Implement role-based navigation in MeetingTimeDialog
- 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.
2025-10-14 10:24:06 +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
amirrezaghabeli f37ddd1b88 Refactor tender status handling in desktop and tablet pages
- Updated the status checks in `_YourTendersDesktopPageState` and `_YourTendersTabletPageState` to use `TenderFeedback` values instead of string constants for better maintainability.
2025-10-13 16:18:13 +03:30
amirrezaghabeli f0cbe00b2f Update dependencies, enhance API endpoints, and refactor UI components
- 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.
2025-10-13 16:10:18 +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
llsajjad be6b0bbe98 added web tablet pages 2025-10-13 11:54:23 +03:30
amirrezaghabeli 495e2db384 Modified TenderDetailHeader to conditionally display the estimated value container based on its presence 2025-10-12 15:36:02 +03:30
a.ghabeli 5b0536aae8 Merge pull request 'dialogs_fix' (#212) from dialogs_fix into main
Reviewed-on: https://repo.ravanertebat.com/TM/tm_app/pulls/212
2025-10-12 15:30:34 +03:30
amirrezaghabeli 79a0ecd87f Refactor tender dialogs to utilize ViewModel and improve state management
- 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.
2025-10-12 15:29:54 +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
llsajjad ecd6f863c2 Fixed icon color of web and tablet pagination 2025-10-12 11:36:24 +03:30
amirrezaghabeli f7fd3826f5 fixed web build failed 2025-10-11 11:15:04 +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 b43ebf885b Refactor provider initialization to load only essential providers at startup. Introduce TabNavigationService for managing tab state and update screens to respond to tab changes. Clean up view models and navigation logic for improved performance and maintainability. 2025-10-06 14:12:40 +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
a.ghabeli 17634744f7 Merge pull request 'auth_view_model' (#205) from auth_view_model into main
Reviewed-on: https://repo.ravanertebat.com/TM/tm_app/pulls/205
2025-10-06 10:33:38 +03:30
amirrezaghabeli 7e1240dffb some fixes 2025-10-06 10:32:58 +03:30
amirrezaghabeli 06fc708e21 filter notifications based on event type which should be PUSH 2025-10-06 09:47:20 +03:30
amirrezaghabeli 0653cdb6d7 changes 2025-10-06 08:58:36 +03:30
amirrezaghabeli 0600572804 added sized box 2025-10-05 10:29:08 +03:30
amirrezaghabeli d050aab728 Refactor loading and error handling in DesktopHomePage; improve notification click handling in service worker 2025-10-05 10:23:29 +03:30
amirrezaghabeli 56620d4c1b tender detail changes 2025-10-04 10:37:49 +03:30
amirrezaghabeli 5f1b939d95 fixed jira tm-172 and pagination dialog design changed 2025-10-02 10:10:13 +03:30