From 6a78b1c6d24c934ad0a0df670c83f770f1e67edd Mon Sep 17 00:00:00 2001 From: venbaittech Date: Tue, 25 Nov 2025 18:29:36 +0530 Subject: [PATCH] UI_chnages Header_Highlight --- .flutter-plugins-dependencies | 2 +- lib/presentation/layouts/appheader.dart | 138 ++++++++++-- .../Enquiry/policy_claims_endros/claims.dart | 131 ++++++----- .../policy_claims_endros/endrosment.dart | 124 ++++++----- .../screens/Masters/Brokers/brokerList.dart | 35 ++- .../Masters/PaymentMode/paymentList.dart | 65 ++++-- .../StaffAttendance/attendanceAllDetails.dart | 43 ++-- .../individual_Attendance.dart | 35 +-- .../screens/UserManagement/Agent/agent.dart | 54 +++-- .../Agent/agentIncentiveFile.dart | 139 +++++++++--- .../UserManagement/Agent/agentList.dart | 205 ++++++++++-------- .../screens/UserManagement/Staff/staff.dart | 94 ++++++-- .../UserManagement/Staff/staffList.dart | 120 +++++----- .../screens/dashboard/dashboard.dart | 13 +- .../screens/login/login_screen.dart | 5 +- .../staff/Enquiry/enquiry_inline_list.dart | 175 +++++++++++---- .../screens/staff/Enquiry/raise_enq_form.dart | 5 +- .../staff/Enquiry/tabs/createQuotation.dart | 3 +- .../screens/staff/Enquiry/tabs/policyTab.dart | 9 +- .../screens/staff/Enquiry/tabs/tab.dart | 11 +- .../screens/staff/policy/policy_list.dart | 127 ++++++----- .../themes/indicators/export_btn.dart | 6 +- .../themes/indicators/month_field_theme.dart | 14 +- .../widgets/custom_month_filter.dart | 28 ++- pubspec.lock | 20 +- 25 files changed, 1046 insertions(+), 555 deletions(-) diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index c72f293..2eec261 100644 --- a/.flutter-plugins-dependencies +++ b/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"connectivity_plus","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/file_picker-10.3.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_app_check","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_app_check-0.4.0+1/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_auth","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_auth-6.0.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_core-4.1.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_messaging","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_messaging-16.0.1/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"flutter_secure_storage","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"fluttertoast","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/fluttertoast-9.0.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"google_sign_in_ios","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/google_sign_in_ios-6.1.0/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_darwin","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/local_auth_darwin-1.6.0/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"open_file_ios","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/open_file_ios-1.0.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"package_info_plus","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/package_info_plus-8.3.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.2/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_ios","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.4/","native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"connectivity_plus","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/file_picker-10.3.3/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"],"dev_dependency":false},{"name":"firebase_app_check","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_app_check-0.4.0+1/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_auth","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_auth-6.0.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_core-4.1.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_messaging","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_messaging-16.0.1/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"flutter_plugin_android_lifecycle","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.30/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_secure_storage","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"fluttertoast","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/fluttertoast-9.0.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"google_sign_in_android","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/google_sign_in_android-7.0.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_android","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/local_auth_android-1.0.52/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"],"dev_dependency":false},{"name":"open_file_android","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/open_file_android-1.0.6/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"package_info_plus","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/package_info_plus-8.3.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_android","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_android-2.2.18/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_android","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.12/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_android","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.20/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"connectivity_plus","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/file_picker-10.3.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_app_check","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_app_check-0.4.0+1/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_auth","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_auth-6.0.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_core-4.1.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_messaging","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_messaging-16.0.1/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"flutter_secure_storage_macos","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_macos-3.1.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"google_sign_in_ios","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/google_sign_in_ios-6.1.0/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_darwin","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/local_auth_darwin-1.6.0/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"open_file_mac","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/open_file_mac-1.0.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"package_info_plus","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/package_info_plus-8.3.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.2/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_macos","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.3/","native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"connectivity_plus","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/file_picker-10.3.3/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"flutter_secure_storage_linux","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_linux-1.2.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"open_file_linux","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/open_file_linux-0.0.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"package_info_plus","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/package_info_plus-8.3.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"path_provider_linux","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_linux","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/","native_build":false,"dependencies":["path_provider_linux"],"dev_dependency":false},{"name":"url_launcher_linux","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/","native_build":true,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"connectivity_plus","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/file_picker-10.3.3/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"firebase_auth","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_auth-6.0.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_core-4.1.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_secure_storage_windows","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_windows-3.1.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_windows","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/local_auth_windows-1.0.11/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"open_file_windows","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/open_file_windows-0.0.3/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"package_info_plus","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/package_info_plus-8.3.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"path_provider_windows","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_windows","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/","native_build":false,"dependencies":["path_provider_windows"],"dev_dependency":false},{"name":"url_launcher_windows","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/","native_build":true,"dependencies":[],"dev_dependency":false}],"web":[{"name":"connectivity_plus","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/file_picker-10.3.3/","dependencies":[],"dev_dependency":false},{"name":"firebase_app_check_web","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_app_check_web-0.2.0+16/","dependencies":["firebase_core_web"],"dev_dependency":false},{"name":"firebase_auth_web","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_auth_web-6.0.2/","dependencies":["firebase_core_web"],"dev_dependency":false},{"name":"firebase_core_web","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_core_web-3.1.0/","dependencies":[],"dev_dependency":false},{"name":"firebase_messaging_web","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/firebase_messaging_web-4.0.1/","dependencies":["firebase_core_web"],"dev_dependency":false},{"name":"flutter_secure_storage_web","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_web-1.2.1/","dependencies":[],"dev_dependency":false},{"name":"fluttertoast","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/fluttertoast-9.0.0/","dependencies":[],"dev_dependency":false},{"name":"google_sign_in_web","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/google_sign_in_web-1.0.0/","dependencies":[],"dev_dependency":false},{"name":"open_file_web","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/open_file_web-0.0.4/","dependencies":[],"dev_dependency":false},{"name":"package_info_plus","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/package_info_plus-8.3.1/","dependencies":[],"dev_dependency":false},{"name":"shared_preferences_web","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.3/","dependencies":[],"dev_dependency":false},{"name":"url_launcher_web","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher_web-2.4.1/","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"connectivity_plus","dependencies":[]},{"name":"file_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"firebase_app_check","dependencies":["firebase_app_check_web","firebase_core"]},{"name":"firebase_app_check_web","dependencies":["firebase_core","firebase_core_web"]},{"name":"firebase_auth","dependencies":["firebase_auth_web","firebase_core"]},{"name":"firebase_auth_web","dependencies":["firebase_core","firebase_core_web"]},{"name":"firebase_core","dependencies":["firebase_core_web"]},{"name":"firebase_core_web","dependencies":[]},{"name":"firebase_messaging","dependencies":["firebase_core","firebase_messaging_web"]},{"name":"firebase_messaging_web","dependencies":["firebase_core","firebase_core_web"]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"flutter_secure_storage","dependencies":["flutter_secure_storage_linux","flutter_secure_storage_macos","flutter_secure_storage_web","flutter_secure_storage_windows"]},{"name":"flutter_secure_storage_linux","dependencies":[]},{"name":"flutter_secure_storage_macos","dependencies":[]},{"name":"flutter_secure_storage_web","dependencies":[]},{"name":"flutter_secure_storage_windows","dependencies":["path_provider"]},{"name":"fluttertoast","dependencies":[]},{"name":"google_sign_in","dependencies":["google_sign_in_android","google_sign_in_ios","google_sign_in_web"]},{"name":"google_sign_in_android","dependencies":[]},{"name":"google_sign_in_ios","dependencies":[]},{"name":"google_sign_in_web","dependencies":[]},{"name":"local_auth","dependencies":["local_auth_android","local_auth_darwin","local_auth_windows"]},{"name":"local_auth_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"local_auth_darwin","dependencies":[]},{"name":"local_auth_windows","dependencies":[]},{"name":"open_file","dependencies":["open_file_android","open_file_web","open_file_ios","open_file_mac","open_file_windows","open_file_linux"]},{"name":"open_file_android","dependencies":[]},{"name":"open_file_ios","dependencies":[]},{"name":"open_file_linux","dependencies":[]},{"name":"open_file_mac","dependencies":[]},{"name":"open_file_web","dependencies":[]},{"name":"open_file_windows","dependencies":[]},{"name":"package_info_plus","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2025-11-24 15:23:39.340066","version":"3.35.7","swift_package_manager_enabled":{"ios":false,"macos":false}} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"connectivity_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_app_check","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_app_check-0.4.0+1/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_auth","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth-6.0.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core-4.1.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_messaging","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_messaging-16.0.1/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"flutter_secure_storage","path":"/home/venba/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"fluttertoast","path":"/home/venba/.pub-cache/hosted/pub.dev/fluttertoast-9.0.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"google_sign_in_ios","path":"/home/venba/.pub-cache/hosted/pub.dev/google_sign_in_ios-6.1.0/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_darwin","path":"/home/venba/.pub-cache/hosted/pub.dev/local_auth_darwin-1.6.0/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"open_file_ios","path":"/home/venba/.pub-cache/hosted/pub.dev/open_file_ios-1.0.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"package_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/package_info_plus-8.3.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/home/venba/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.2/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/home/venba/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_ios","path":"/home/venba/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.4/","native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"connectivity_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.3/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"],"dev_dependency":false},{"name":"firebase_app_check","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_app_check-0.4.0+1/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_auth","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth-6.0.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core-4.1.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_messaging","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_messaging-16.0.1/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"flutter_plugin_android_lifecycle","path":"/home/venba/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.30/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_secure_storage","path":"/home/venba/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"fluttertoast","path":"/home/venba/.pub-cache/hosted/pub.dev/fluttertoast-9.0.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"google_sign_in_android","path":"/home/venba/.pub-cache/hosted/pub.dev/google_sign_in_android-7.0.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_android","path":"/home/venba/.pub-cache/hosted/pub.dev/local_auth_android-1.0.52/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"],"dev_dependency":false},{"name":"open_file_android","path":"/home/venba/.pub-cache/hosted/pub.dev/open_file_android-1.0.6/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"package_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/package_info_plus-8.3.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_android","path":"/home/venba/.pub-cache/hosted/pub.dev/path_provider_android-2.2.18/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_android","path":"/home/venba/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.12/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_android","path":"/home/venba/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.20/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"connectivity_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_app_check","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_app_check-0.4.0+1/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_auth","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth-6.0.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core-4.1.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_messaging","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_messaging-16.0.1/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"flutter_secure_storage_macos","path":"/home/venba/.pub-cache/hosted/pub.dev/flutter_secure_storage_macos-3.1.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"google_sign_in_ios","path":"/home/venba/.pub-cache/hosted/pub.dev/google_sign_in_ios-6.1.0/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_darwin","path":"/home/venba/.pub-cache/hosted/pub.dev/local_auth_darwin-1.6.0/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"open_file_mac","path":"/home/venba/.pub-cache/hosted/pub.dev/open_file_mac-1.0.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"package_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/package_info_plus-8.3.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/home/venba/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.2/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/home/venba/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_macos","path":"/home/venba/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.3/","native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"connectivity_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.3/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"flutter_secure_storage_linux","path":"/home/venba/.pub-cache/hosted/pub.dev/flutter_secure_storage_linux-1.2.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"open_file_linux","path":"/home/venba/.pub-cache/hosted/pub.dev/open_file_linux-0.0.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"package_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/package_info_plus-8.3.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"path_provider_linux","path":"/home/venba/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_linux","path":"/home/venba/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/","native_build":false,"dependencies":["path_provider_linux"],"dev_dependency":false},{"name":"url_launcher_linux","path":"/home/venba/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/","native_build":true,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"connectivity_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.3/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"firebase_auth","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth-6.0.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core-4.1.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_secure_storage_windows","path":"/home/venba/.pub-cache/hosted/pub.dev/flutter_secure_storage_windows-3.1.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_windows","path":"/home/venba/.pub-cache/hosted/pub.dev/local_auth_windows-1.0.11/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"open_file_windows","path":"/home/venba/.pub-cache/hosted/pub.dev/open_file_windows-0.0.3/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"package_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/package_info_plus-8.3.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"path_provider_windows","path":"/home/venba/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_windows","path":"/home/venba/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/","native_build":false,"dependencies":["path_provider_windows"],"dev_dependency":false},{"name":"url_launcher_windows","path":"/home/venba/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/","native_build":true,"dependencies":[],"dev_dependency":false}],"web":[{"name":"connectivity_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.3/","dependencies":[],"dev_dependency":false},{"name":"firebase_app_check_web","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_app_check_web-0.2.0+16/","dependencies":["firebase_core_web"],"dev_dependency":false},{"name":"firebase_auth_web","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth_web-6.0.2/","dependencies":["firebase_core_web"],"dev_dependency":false},{"name":"firebase_core_web","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core_web-3.1.0/","dependencies":[],"dev_dependency":false},{"name":"firebase_messaging_web","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_messaging_web-4.0.1/","dependencies":["firebase_core_web"],"dev_dependency":false},{"name":"flutter_secure_storage_web","path":"/home/venba/.pub-cache/hosted/pub.dev/flutter_secure_storage_web-1.2.1/","dependencies":[],"dev_dependency":false},{"name":"fluttertoast","path":"/home/venba/.pub-cache/hosted/pub.dev/fluttertoast-9.0.0/","dependencies":[],"dev_dependency":false},{"name":"google_sign_in_web","path":"/home/venba/.pub-cache/hosted/pub.dev/google_sign_in_web-1.0.0/","dependencies":[],"dev_dependency":false},{"name":"open_file_web","path":"/home/venba/.pub-cache/hosted/pub.dev/open_file_web-0.0.4/","dependencies":[],"dev_dependency":false},{"name":"package_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/package_info_plus-8.3.1/","dependencies":[],"dev_dependency":false},{"name":"shared_preferences_web","path":"/home/venba/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.3/","dependencies":[],"dev_dependency":false},{"name":"url_launcher_web","path":"/home/venba/.pub-cache/hosted/pub.dev/url_launcher_web-2.4.1/","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"connectivity_plus","dependencies":[]},{"name":"file_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"firebase_app_check","dependencies":["firebase_app_check_web","firebase_core"]},{"name":"firebase_app_check_web","dependencies":["firebase_core","firebase_core_web"]},{"name":"firebase_auth","dependencies":["firebase_auth_web","firebase_core"]},{"name":"firebase_auth_web","dependencies":["firebase_core","firebase_core_web"]},{"name":"firebase_core","dependencies":["firebase_core_web"]},{"name":"firebase_core_web","dependencies":[]},{"name":"firebase_messaging","dependencies":["firebase_core","firebase_messaging_web"]},{"name":"firebase_messaging_web","dependencies":["firebase_core","firebase_core_web"]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"flutter_secure_storage","dependencies":["flutter_secure_storage_linux","flutter_secure_storage_macos","flutter_secure_storage_web","flutter_secure_storage_windows"]},{"name":"flutter_secure_storage_linux","dependencies":[]},{"name":"flutter_secure_storage_macos","dependencies":[]},{"name":"flutter_secure_storage_web","dependencies":[]},{"name":"flutter_secure_storage_windows","dependencies":["path_provider"]},{"name":"fluttertoast","dependencies":[]},{"name":"google_sign_in","dependencies":["google_sign_in_android","google_sign_in_ios","google_sign_in_web"]},{"name":"google_sign_in_android","dependencies":[]},{"name":"google_sign_in_ios","dependencies":[]},{"name":"google_sign_in_web","dependencies":[]},{"name":"local_auth","dependencies":["local_auth_android","local_auth_darwin","local_auth_windows"]},{"name":"local_auth_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"local_auth_darwin","dependencies":[]},{"name":"local_auth_windows","dependencies":[]},{"name":"open_file","dependencies":["open_file_android","open_file_web","open_file_ios","open_file_mac","open_file_windows","open_file_linux"]},{"name":"open_file_android","dependencies":[]},{"name":"open_file_ios","dependencies":[]},{"name":"open_file_linux","dependencies":[]},{"name":"open_file_mac","dependencies":[]},{"name":"open_file_web","dependencies":[]},{"name":"open_file_windows","dependencies":[]},{"name":"package_info_plus","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2025-11-25 10:25:49.290766","version":"3.32.1","swift_package_manager_enabled":{"ios":false,"macos":false}} \ No newline at end of file diff --git a/lib/presentation/layouts/appheader.dart b/lib/presentation/layouts/appheader.dart index 1df86c0..68b75c5 100644 --- a/lib/presentation/layouts/appheader.dart +++ b/lib/presentation/layouts/appheader.dart @@ -28,12 +28,14 @@ class _AppHeaderState extends ConsumerState { Map? profileData; String? _token; OverlayEntry? _overlayEntry; + String? _activeMenu; @override void initState() { super.initState(); _loadUser(); _initializeToken(); + _setActiveMenu(); } @override @@ -42,6 +44,33 @@ class _AppHeaderState extends ConsumerState { super.dispose(); } + // Set active menu based on current route + void _setActiveMenu() { + WidgetsBinding.instance.addPostFrameCallback((_) { + final currentRoute = GoRouterState.of(context).uri.path; + setState(() { + if (currentRoute.contains('dashboard')) { + _activeMenu = 'Dashboard'; + } else if (currentRoute.contains('enquiry')) { + _activeMenu = 'Enquiry'; + } else if (currentRoute.contains('agent') || + currentRoute.contains('staff')) { + _activeMenu = 'User'; + } else if (currentRoute.contains('claim') || + currentRoute.contains('endosement') || + currentRoute.contains('policy') || + currentRoute.contains('attendance')) { + _activeMenu = 'Reports'; + } else if (currentRoute.contains('broker') || + currentRoute.contains('payment')) { + _activeMenu = 'Masters'; + } else if (currentRoute.contains('invoice')) { + _activeMenu = 'Pay Out'; + } + }); + }); + } + Future _initializeToken() async { _token = await AuthService.getToken(); if (_token != null) { @@ -97,16 +126,20 @@ class _AppHeaderState extends ConsumerState { if (key == 'User') ...[ _buildPopupItem( label: "Partner", + onTap: () { _hidePopup(); + setState(() => _activeMenu = 'User'); context.go(AppRoutes.agentLst); }, ), const SizedBox(height: 2), _buildPopupItem( label: "Staff", + onTap: () { _hidePopup(); + setState(() => _activeMenu = 'User'); context.go(AppRoutes.staffLst); }, ), @@ -115,8 +148,10 @@ class _AppHeaderState extends ConsumerState { if (role == 'manager') ...[ _buildPopupItem( label: "Attendance", + onTap: () { _hidePopup(); + setState(() => _activeMenu = 'Reports'); context.go(AppRoutes.allStaffAttendance); }, ), @@ -126,6 +161,7 @@ class _AppHeaderState extends ConsumerState { label: "Claims", onTap: () { _hidePopup(); + setState(() => _activeMenu = 'Reports'); context.go(AppRoutes.claimlist); }, ), @@ -141,6 +177,7 @@ class _AppHeaderState extends ConsumerState { _buildPopupItem( label: "Policy", onTap: () { + setState(() => _activeMenu = 'Reports'); _hidePopup(); context.go(AppRoutes.policylist); }, @@ -153,6 +190,7 @@ class _AppHeaderState extends ConsumerState { label: "Broker", onTap: () { _hidePopup(); + setState(() => _activeMenu = 'Masters'); context.go(AppRoutes.brokerLst); }, ), @@ -161,6 +199,7 @@ class _AppHeaderState extends ConsumerState { _buildPopupItem( label: "Payment Mode", onTap: () { + setState(() => _activeMenu = 'Masters'); _hidePopup(); context.go(AppRoutes.paymentModeLst); }, @@ -210,8 +249,10 @@ class _AppHeaderState extends ConsumerState { _buildMenuItem( icon: Icons.dashboard, label: "Dashboard", + isActive: _activeMenu == 'Dashboard', onTap: () async { _hidePopup(); + setState(() => _activeMenu = 'Dashboard'); await _clearDashboardFilters(); context.go(AppRoutes.dashboard); }, @@ -222,20 +263,22 @@ class _AppHeaderState extends ConsumerState { // Enquiry if (role != 'admin') ...[ - _buildMenuItem( - icon: Icons.list_alt_rounded, - label: "Enquiry", - onTap: () async { - _hidePopup(); - await _clearDashboardFilters(); - if (roleId == 'agent') { - context.go(AppRoutes.enquiryLst); - } else { - context.go(AppRoutes.enquiryForStaff); - } - }, - ), - ], + _buildMenuItem( + icon: Icons.list_alt_rounded, + label: "Enquiry", + isActive: _activeMenu == 'Enquiry', + onTap: () async { + _hidePopup(); + setState(() => _activeMenu = 'Enquiry'); + await _clearDashboardFilters(); + if (roleId == 'agent') { + context.go(AppRoutes.enquiryLst); + } else { + context.go(AppRoutes.enquiryForStaff); + } + }, + ), + ], const SizedBox(width: 8), @@ -245,6 +288,7 @@ class _AppHeaderState extends ConsumerState { icon: Icons.person_add_alt, label: "User", popupKey: 'User', + isActive: _activeMenu == 'User', ), const SizedBox(width: 8), ], @@ -255,6 +299,7 @@ class _AppHeaderState extends ConsumerState { icon: Icons.settings_suggest_outlined, label: "Masters", popupKey: 'Masters', + isActive: _activeMenu == 'Masters', ), const SizedBox(width: 8), ], @@ -265,6 +310,7 @@ class _AppHeaderState extends ConsumerState { icon: Icons.receipt_long, label: "Reports", popupKey: 'Reports', + isActive: _activeMenu == 'Reports', ), const SizedBox(width: 8), ], @@ -272,10 +318,12 @@ class _AppHeaderState extends ConsumerState { // Pay Out button for admin if (role == 'admin') ...[ _buildMenuItem( + isActive: _activeMenu == 'Pay Out', icon: Icons.checklist_outlined, label: "Pay Out", onTap: () async { _hidePopup(); + setState(() => _activeMenu = 'Pay Out'); await _clearDashboardFilters(); context.go(AppRoutes.invoiceList); }, @@ -361,7 +409,7 @@ class _AppHeaderState extends ConsumerState { backgroundColor: const Color(0xFF2E7D6E), child: Text( profileData?['name']?.substring(0, 2).toUpperCase() ?? - 'P', + 'A', style: const TextStyle( color: Colors.white, fontWeight: FontWeight.bold, @@ -449,6 +497,7 @@ class _AppHeaderState extends ConsumerState { required IconData icon, required String label, required VoidCallback onTap, + bool isActive = false, }) { return InkWell( onTap: onTap, @@ -457,18 +506,36 @@ class _AppHeaderState extends ConsumerState { onEnter: (_) => _hidePopup(), child: Container( padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 6), - decoration: BoxDecoration(borderRadius: BorderRadius.circular(6)), + decoration: BoxDecoration( + color: isActive + ? const Color(0xFF2E7D6E).withOpacity(0.03) + : Colors.transparent, + borderRadius: BorderRadius.circular(6), + border: isActive + ? Border( + bottom: BorderSide( + color: const Color(0xFF2E7D6E), + width: 2, + ), + ) + : null, + ), + // decoration: BoxDecoration(borderRadius: BorderRadius.circular(6)), child: Row( mainAxisSize: MainAxisSize.min, children: [ - Icon(icon, size: 18, color: Colors.black87), + Icon( + icon, + size: 18, + color: isActive ? const Color(0xFF2E7D6E) : Colors.black87, + ), const SizedBox(width: 6), Text( label, style: GoogleFonts.inter( - color: Colors.black87, + color: isActive ? const Color(0xFF2E7D6E) : Colors.black87, fontSize: 13, - fontWeight: FontWeight.w500, + fontWeight: isActive ? FontWeight.w600 : FontWeight.w500, ), ), ], @@ -483,6 +550,7 @@ class _AppHeaderState extends ConsumerState { required IconData icon, required String label, required String popupKey, + bool isActive = false, }) { return Builder( builder: (itemContext) { @@ -495,22 +563,44 @@ class _AppHeaderState extends ConsumerState { }, child: Container( padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 6), - decoration: BoxDecoration(borderRadius: BorderRadius.circular(6)), + decoration: BoxDecoration( + color: isActive + ? const Color(0xFF2E7D6E).withOpacity(0.02) + : Colors.transparent, + borderRadius: BorderRadius.circular(6), + border: isActive + ? Border( + bottom: BorderSide( + color: const Color(0xFF2E7D6E), + width: 2, + ), + ) + : null, + ), + // decoration: BoxDecoration(borderRadius: BorderRadius.circular(6)), child: Row( mainAxisSize: MainAxisSize.min, children: [ - Icon(icon, size: 18, color: Colors.black87), + Icon( + icon, + size: 18, + color: isActive ? const Color(0xFF2E7D6E) : Colors.black87, + ), const SizedBox(width: 6), Text( label, style: GoogleFonts.inter( - color: Colors.black87, + color: isActive ? const Color(0xFF2E7D6E) : Colors.black87, fontSize: 13, - fontWeight: FontWeight.w500, + fontWeight: isActive ? FontWeight.w600 : FontWeight.w500, ), ), const SizedBox(width: 2), - Icon(Icons.arrow_drop_down, color: Colors.black87, size: 18), + Icon( + Icons.arrow_drop_down, + color: isActive ? const Color(0xFF2E7D6E) : Colors.black87, + size: 18, + ), ], ), ), diff --git a/lib/presentation/screens/Enquiry/policy_claims_endros/claims.dart b/lib/presentation/screens/Enquiry/policy_claims_endros/claims.dart index c76ccdb..9a5b060 100644 --- a/lib/presentation/screens/Enquiry/policy_claims_endros/claims.dart +++ b/lib/presentation/screens/Enquiry/policy_claims_endros/claims.dart @@ -177,49 +177,48 @@ class claimListState extends ConsumerState { crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ - Container( - height: 30, - width: MediaQuery.of(context).size.width, - child: GestureDetector( - onTap: () { - context.go(AppRoutes.dashboard); - }, - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Tooltip( - message: 'Back', - child: IconButton( - icon: const Icon( - Icons.arrow_left_sharp, - size: 25, - color: Color(0xFF425B5B), - ), - onPressed: () { - context.go(AppRoutes.dashboard); - }, - splashRadius: 18, - hoverColor: Colors.black12, - padding: const EdgeInsets.all(4), - constraints: const BoxConstraints(), - ), - ), - const SizedBox(width: 5), // spacing between icon and text - Text( - "Claims", - style: GoogleFonts.inter( - fontSize: 18, - fontWeight: FontWeight.w600, - ), - ), - ], - ), - ), - ), - - SizedBox(height: 5), - + // Container( + // // height: 30, + // width: MediaQuery.of(context).size.width, + // child: GestureDetector( + // onTap: () { + // context.go(AppRoutes.dashboard); + // }, + // child: Row( + // crossAxisAlignment: CrossAxisAlignment.center, + // mainAxisAlignment: MainAxisAlignment.start, + // children: [ + // Tooltip( + // message: 'Back', + // child: IconButton( + // icon: const Icon( + // Icons.arrow_left_sharp, + // size: 25, + // color: Color(0xFF425B5B), + // ), + // onPressed: () { + // context.go(AppRoutes.dashboard); + // }, + // splashRadius: 18, + // hoverColor: Colors.black12, + // padding: const EdgeInsets.all(4), + // constraints: const BoxConstraints(), + // ), + // ), + // const SizedBox(width: 5), // spacing between icon and text + // Text( + // "Claims", + // style: GoogleFonts.poppins( + // fontSize: 12, + // fontWeight: FontWeight.w500, + // ), + // ), + // ], + // ), + // ), + // ), + // + // SizedBox(height: 5), Expanded( child: Container( // color: Colors.green, @@ -236,18 +235,27 @@ class claimListState extends ConsumerState { crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ + Text( + "Claims", + style: GoogleFonts.poppins( + fontSize: 14, + fontWeight: FontWeight.w500, + ), + ), + Spacer(), + ThemedSearchField( hintText: 'Search', - backgroundColor: Color(0xFFF6F8F8), + backgroundColor: Color(0xFFFFFFFF), + txtHeight: 30, + // backgroundColor: Color(0xFFF6F8F8), onChanged: filterData, controller: _searchStaffController, txtwidth: ResponsiveLayout.isMobile(context) ? MediaQuery.of(context).size.width * 0.6 - : MediaQuery.of(context).size.width * 0.2, + : MediaQuery.of(context).size.width * 0.15, ), - - Spacer(), - + SizedBox(width: 10), ExportBtn( sheetName: "Claims", fileName: "claim_list", @@ -318,11 +326,12 @@ class claimListState extends ConsumerState { ], ), ), - SizedBox(height: 5), + SizedBox(height: 10), if (!ResponsiveLayout.isMobile(context)) Container( decoration: BoxDecoration( - color: const Color(0xFFEDF6F5), + // color: const Color(0xFFEDF6F5), + color: Color(0xFFF1F5F9), borderRadius: BorderRadius.circular(6), ), padding: const EdgeInsets.symmetric( @@ -369,7 +378,12 @@ class claimListState extends ConsumerState { ], ), ), - Expanded(child: _buildDataTable(context)), + Expanded( + child: Container( + color: Colors.white, + child: _buildDataTable(context), + ), + ), ], ), ), @@ -429,7 +443,7 @@ class claimListState extends ConsumerState { final sno = startIndex + index; return !ResponsiveLayout.isMobile(context) - ? _buildDataRow(item, sno) + ? Container(color: Colors.white, child: _buildDataRow(item, sno)) : _buildDataCard(item, sno); }, ); @@ -441,7 +455,7 @@ class claimListState extends ConsumerState { Widget _buildDataRow(Map item, sno) { return Container( - padding: const EdgeInsets.symmetric(vertical: 6, horizontal: 16), + padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 16), // margin: const EdgeInsets.only(top: 10), decoration: BoxDecoration( color: Colors.white, @@ -688,8 +702,7 @@ class claimListState extends ConsumerState { } static final _dataBold = GoogleFonts.inter( - fontSize: 14, - + fontSize: 11.5, fontWeight: FontWeight.w400, color: Color(0xFF000000), ); @@ -700,10 +713,12 @@ class claimListState extends ConsumerState { color: Color(0xFF585757), ); - static final _headerStyle = GoogleFonts.inter( - color: Colors.black, - fontWeight: FontWeight.bold, + static final _headerStyle = GoogleFonts.poppins( + fontSize: 11.2, + fontWeight: FontWeight.w500, + color: Color(0xFF1E293B), ); + static final _cardheaderStyle = GoogleFonts.inter( color: Colors.black, fontWeight: FontWeight.w600, diff --git a/lib/presentation/screens/Enquiry/policy_claims_endros/endrosment.dart b/lib/presentation/screens/Enquiry/policy_claims_endros/endrosment.dart index f335a33..ac8303c 100644 --- a/lib/presentation/screens/Enquiry/policy_claims_endros/endrosment.dart +++ b/lib/presentation/screens/Enquiry/policy_claims_endros/endrosment.dart @@ -174,49 +174,48 @@ class endosementState extends ConsumerState { crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ - Container( - height: 30, - width: MediaQuery.of(context).size.width, - child: GestureDetector( - onTap: () { - context.go(AppRoutes.dashboard); - }, - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Tooltip( - message: 'Back', - child: IconButton( - icon: const Icon( - Icons.arrow_left_sharp, - size: 25, - color: Color(0xFF425B5B), - ), - onPressed: () { - context.go(AppRoutes.dashboard); - }, - splashRadius: 18, - hoverColor: Colors.black12, - padding: const EdgeInsets.all(4), - constraints: const BoxConstraints(), - ), - ), - const SizedBox(width: 5), // spacing between icon and text - Text( - "Endorsement", - style: GoogleFonts.inter( - fontSize: 18, - fontWeight: FontWeight.w600, - ), - ), - ], - ), - ), - ), - - SizedBox(height: 5), - + // Container( + // height: 30, + // width: MediaQuery.of(context).size.width, + // child: GestureDetector( + // onTap: () { + // context.go(AppRoutes.dashboard); + // }, + // child: Row( + // crossAxisAlignment: CrossAxisAlignment.center, + // mainAxisAlignment: MainAxisAlignment.start, + // children: [ + // Tooltip( + // message: 'Back', + // child: IconButton( + // icon: const Icon( + // Icons.arrow_left_sharp, + // size: 25, + // color: Color(0xFF425B5B), + // ), + // onPressed: () { + // context.go(AppRoutes.dashboard); + // }, + // splashRadius: 18, + // hoverColor: Colors.black12, + // padding: const EdgeInsets.all(4), + // constraints: const BoxConstraints(), + // ), + // ), + // const SizedBox(width: 5), // spacing between icon and text + // Text( + // "Endorsement", + // style: GoogleFonts.poppins( + // fontSize: 14, + // fontWeight: FontWeight.w400, + // ), + // ), + // ], + // ), + // ), + // ), + // + // SizedBox(height: 5), Expanded( child: Container( // color: Colors.green, @@ -233,17 +232,27 @@ class endosementState extends ConsumerState { crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ + Text( + "Endorsement", + style: GoogleFonts.poppins( + fontSize: 14, + fontWeight: FontWeight.w400, + ), + ), + Spacer(), ThemedSearchField( hintText: 'Search', - backgroundColor: Color(0xFFF6F8F8), + backgroundColor: Color(0xFFFFFFFF), + txtHeight: 30, + // backgroundColor: Color(0xFFF6F8F8), onChanged: filterData, controller: _searchStaffController, txtwidth: ResponsiveLayout.isMobile(context) ? MediaQuery.of(context).size.width * 0.6 - : MediaQuery.of(context).size.width * 0.2, + : MediaQuery.of(context).size.width * 0.15, ), - Spacer(), + SizedBox(width: 10), ExportBtn( sheetName: "Endorsement", @@ -311,15 +320,16 @@ class endosementState extends ConsumerState { ], ), ), - SizedBox(height: 5), + SizedBox(height: 10), if (!ResponsiveLayout.isMobile(context)) Container( decoration: BoxDecoration( - color: Color(0xFFEDF6F5), + color: Color(0xFFF1F5F9), + // color: Color(0xFFEDF6F5), borderRadius: BorderRadius.circular(6), ), padding: const EdgeInsets.symmetric( - vertical: 12, + vertical: 8, horizontal: 16, ), child: Row( @@ -361,7 +371,12 @@ class endosementState extends ConsumerState { ], ), ), - Expanded(child: _buildDataTable(context)), + Expanded( + child: Container( + color: Colors.white, + child: _buildDataTable(context), + ), + ), ], ), ), @@ -636,7 +651,7 @@ class endosementState extends ConsumerState { } static final _dataBold = GoogleFonts.inter( - fontSize: 14, + fontSize: 11, fontWeight: FontWeight.w400, color: Color(0xFF000000), @@ -648,9 +663,10 @@ class endosementState extends ConsumerState { color: Color(0xFF585757), ); - static final _headerStyle = GoogleFonts.inter( - color: Colors.black, - fontWeight: FontWeight.bold, + static final _headerStyle = GoogleFonts.poppins( + fontSize: 11.2, + fontWeight: FontWeight.w500, + color: Color(0xFF1E293B), ); static final _cardheaderStyle = GoogleFonts.inter( color: Colors.black, diff --git a/lib/presentation/screens/Masters/Brokers/brokerList.dart b/lib/presentation/screens/Masters/Brokers/brokerList.dart index a458dbe..06db986 100644 --- a/lib/presentation/screens/Masters/Brokers/brokerList.dart +++ b/lib/presentation/screens/Masters/Brokers/brokerList.dart @@ -192,7 +192,15 @@ class BrokerListState extends ConsumerState { child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.start, - children: [Text('Broker List', style: _headerStyle)], + children: [ + Text( + 'Broker', + style: GoogleFonts.poppins( + fontSize: 14, + fontWeight: FontWeight.w500, + ), + ), + ], ), ), ), @@ -205,11 +213,11 @@ class BrokerListState extends ConsumerState { width: MediaQuery.of(context).size.width, // margin: EdgeInsets.all(10.0), decoration: BoxDecoration( - color: Colors.white, + // color: Colors.white, borderRadius: BorderRadius.circular(15.0), ), - padding: EdgeInsets.all(15.0), + padding: EdgeInsets.all(8.0), child: Column( children: [ Container( @@ -239,7 +247,7 @@ class BrokerListState extends ConsumerState { txtHeight: 30, onChanged: filterData, controller: _searchStaffController, - txtwidth: MediaQuery.of(context).size.width * 0.2, + txtwidth: MediaQuery.of(context).size.width * 0.15, ), SizedBox(width: 10), @@ -265,7 +273,7 @@ class BrokerListState extends ConsumerState { borderRadius: BorderRadius.circular(6), ), padding: const EdgeInsets.symmetric( - vertical: 10, + vertical: 8, horizontal: 16, ), child: Row( @@ -290,7 +298,12 @@ class BrokerListState extends ConsumerState { ], ), ), - Expanded(child: _buildDataTable(context)), + Expanded( + child: Container( + color: Colors.white, + child: _buildDataTable(context), + ), + ), ], ), ), @@ -455,7 +468,6 @@ class BrokerListState extends ConsumerState { static final _dataBold = GoogleFonts.inter( fontSize: 11.5, - fontWeight: FontWeight.w400, color: Color(0xFF000000), ); @@ -466,10 +478,9 @@ class BrokerListState extends ConsumerState { color: Color(0xFF585757), ); - static final _headerStyle = GoogleFonts.inter( - color: Color(0XFF1e293b), - fontSize: 12, - - fontWeight: FontWeight.w600, + static final _headerStyle = GoogleFonts.poppins( + fontSize: 11.2, + fontWeight: FontWeight.w500, + color: Color(0xFF1E293B), ); } diff --git a/lib/presentation/screens/Masters/PaymentMode/paymentList.dart b/lib/presentation/screens/Masters/PaymentMode/paymentList.dart index 768f2a3..ae82ee0 100644 --- a/lib/presentation/screens/Masters/PaymentMode/paymentList.dart +++ b/lib/presentation/screens/Masters/PaymentMode/paymentList.dart @@ -174,22 +174,36 @@ class PaymentLsitState extends ConsumerState { crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ - Container( - // height: 30, - // color: Colors.red.shade50, - width: MediaQuery.of(context).size.width, - child: GestureDetector( - onTap: () { - context.go(AppRoutes.dashboard); - }, - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - children: [Text('Payment List', style: _headerStyle)], - ), + // Container( + // // height: 30, + // // color: Colors.red.shade50, + // width: MediaQuery.of(context).size.width, + // child: GestureDetector( + // onTap: () { + // context.go(AppRoutes.dashboard); + // }, + // child: Row( + // crossAxisAlignment: CrossAxisAlignment.center, + // mainAxisAlignment: MainAxisAlignment.start, + // children: [ + // Text( + // 'Payment List', + // style: GoogleFonts.poppins( + // fontSize: 14, + // fontWeight: FontWeight.w500, + // ), + // ), + // ], + // ), + // ), + // ), + Text( + 'Payment', + style: GoogleFonts.poppins( + fontSize: 14, + fontWeight: FontWeight.w500, ), ), - SizedBox(height: 5), Expanded( child: Container( @@ -198,11 +212,11 @@ class PaymentLsitState extends ConsumerState { width: MediaQuery.of(context).size.width, // margin: EdgeInsets.all(10.0), decoration: BoxDecoration( - color: Colors.white, + // color: Colors.white, borderRadius: BorderRadius.circular(15.0), ), - padding: EdgeInsets.all(15.0), + padding: EdgeInsets.all(8.0), child: Column( children: [ Container( @@ -232,7 +246,7 @@ class PaymentLsitState extends ConsumerState { txtHeight: 30, onChanged: filterData, controller: _searchStaffController, - txtwidth: MediaQuery.of(context).size.width * 0.2, + txtwidth: MediaQuery.of(context).size.width * 0.15, ), SizedBox(width: 10), @@ -253,7 +267,6 @@ class PaymentLsitState extends ConsumerState { Container( decoration: BoxDecoration( color: Color(0xFFF1F5F9), - // color: Color(0xFFEDF6F5), borderRadius: BorderRadius.circular(6), ), @@ -283,7 +296,12 @@ class PaymentLsitState extends ConsumerState { ], ), ), - Expanded(child: _buildDataTable(context)), + Expanded( + child: Container( + color: Colors.white, + child: _buildDataTable(context), + ), + ), ], ), ), @@ -462,10 +480,9 @@ class PaymentLsitState extends ConsumerState { color: Color(0xFF585757), ); - static final _headerStyle = GoogleFonts.inter( - color: Color(0XFF1e293b), - fontSize: 12, - - fontWeight: FontWeight.w600, + static final _headerStyle = GoogleFonts.poppins( + fontSize: 11.2, + fontWeight: FontWeight.w500, + color: Color(0xFF1E293B), ); } diff --git a/lib/presentation/screens/StaffAttendance/attendanceAllDetails.dart b/lib/presentation/screens/StaffAttendance/attendanceAllDetails.dart index 8a11664..70a0704 100644 --- a/lib/presentation/screens/StaffAttendance/attendanceAllDetails.dart +++ b/lib/presentation/screens/StaffAttendance/attendanceAllDetails.dart @@ -306,7 +306,7 @@ class AttendanceAllDetailsState extends ConsumerState { onPressed: () { context.go(AppRoutes.dashboard); }, - splashRadius: 18, + splashRadius: 1, hoverColor: Colors.black12, padding: const EdgeInsets.all(4), constraints: const BoxConstraints(), @@ -315,9 +315,9 @@ class AttendanceAllDetailsState extends ConsumerState { const SizedBox(width: 5), // spacing between icon and text Text( "Staff Attendance", - style: GoogleFonts.inter( - fontSize: ResponsiveLayout.isMobile(context) ? 14 : 18, - fontWeight: FontWeight.w600, + style: GoogleFonts.poppins( + fontSize: ResponsiveLayout.isMobile(context) ? 11 : 14, + fontWeight: FontWeight.w500, ), ), ], @@ -393,12 +393,14 @@ class AttendanceAllDetailsState extends ConsumerState { ThemedSearchField( hintText: 'Search', - backgroundColor: Color(0xFFF6F8F8), + backgroundColor: Color(0xFFFFFFFF), + txtHeight: 30, + // backgroundColor: Color(0xFFF6F8F8), onChanged: filterData, controller: _searchStaffController, txtwidth: ResponsiveLayout.isMobile(context) ? MediaQuery.of(context).size.width * 0.6 - : MediaQuery.of(context).size.width * 0.2, + : MediaQuery.of(context).size.width * 0.15, ), ResponsiveLayout.isMobile(context) ? Spacer() @@ -423,10 +425,11 @@ class AttendanceAllDetailsState extends ConsumerState { Container( decoration: BoxDecoration( - color: Color(0xFFEDF6F5), + // color: Color(0xFFEDF6F5), + color: Color(0xFFF1F5F9), borderRadius: BorderRadius.circular(6), ), - padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16), + padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16), child: Row( children: [ Expanded(flex: 1, child: Text('S.No.', style: _headerStyle)), @@ -441,7 +444,12 @@ class AttendanceAllDetailsState extends ConsumerState { ResponsiveLayout.isMobile(context) ? _buildDataTable(context) - : Expanded(child: _buildDataTable(context)), + : Expanded( + child: Container( + color: Colors.white, + child: _buildDataTable(context), + ), + ), ], ); } @@ -478,7 +486,7 @@ class AttendanceAllDetailsState extends ConsumerState { Widget _buildDataRow(Map item, sno) { print('test 5'); return Container( - padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 16), + padding: const EdgeInsets.symmetric(vertical: 3, horizontal: 16), // margin: const EdgeInsets.only(top: 10), decoration: BoxDecoration( color: Colors.white, @@ -515,7 +523,7 @@ class AttendanceAllDetailsState extends ConsumerState { Expanded( flex: 2, child: Padding( - padding: const EdgeInsets.all(8.0), + padding: const EdgeInsets.all(4.0), child: Row( children: [ Tooltip( @@ -523,13 +531,13 @@ class AttendanceAllDetailsState extends ConsumerState { child: IconButton( icon: Image.asset( "assets/miscellaneous/Edit.png", - height: 15, + height: 12, width: 15, ), onPressed: () { handleEdit(item); }, - splashRadius: 28, + splashRadius: 18, hoverColor: Colors.black12, padding: const EdgeInsets.all(8), constraints: const BoxConstraints(), @@ -614,7 +622,7 @@ class AttendanceAllDetailsState extends ConsumerState { } static final _dataBold = GoogleFonts.inter( - fontSize: 14, + fontSize: 12, fontWeight: FontWeight.w400, color: Color(0xFF000000), @@ -630,9 +638,10 @@ class AttendanceAllDetailsState extends ConsumerState { // color: Colors.black, // fontWeight: FontWeight.bold, // ); - static final _headerStyle = GoogleFonts.inter( - color: Colors.black, - fontWeight: FontWeight.bold, + static final _headerStyle = GoogleFonts.poppins( + fontSize: 11.2, + fontWeight: FontWeight.w500, + color: Color(0xFF1E293B), ); static final _cardheaderStyle = GoogleFonts.inter( color: Colors.black, diff --git a/lib/presentation/screens/StaffAttendance/individual_Attendance.dart b/lib/presentation/screens/StaffAttendance/individual_Attendance.dart index 6a8f8dc..9bddda9 100644 --- a/lib/presentation/screens/StaffAttendance/individual_Attendance.dart +++ b/lib/presentation/screens/StaffAttendance/individual_Attendance.dart @@ -323,9 +323,9 @@ class IndividualAttendanceDetailsState const SizedBox(width: 5), // spacing between icon and text Text( "Attendance", - style: GoogleFonts.inter( - fontSize: ResponsiveLayout.isMobile(context) ? 14 : 18, - fontWeight: FontWeight.w600, + style: GoogleFonts.poppins( + fontSize: ResponsiveLayout.isMobile(context) ? 11 : 14, + fontWeight: FontWeight.w500, ), ), ], @@ -401,12 +401,14 @@ class IndividualAttendanceDetailsState ThemedSearchField( hintText: 'Search', - backgroundColor: Color(0xFFF6F8F8), + backgroundColor: Color(0xFFFFFFFF), + txtHeight: 30, + // backgroundColor: Color(0xFFF6F8F8), onChanged: filterData, controller: _searchStaffController, txtwidth: ResponsiveLayout.isMobile(context) ? MediaQuery.of(context).size.width * 0.6 - : MediaQuery.of(context).size.width * 0.2, + : MediaQuery.of(context).size.width * 0.15, ), ResponsiveLayout.isMobile(context) ? Spacer() @@ -441,10 +443,11 @@ class IndividualAttendanceDetailsState Container( decoration: BoxDecoration( - color: Color(0xFFEDF6F5), + color: Color(0xFFF1F5F9), + // color: Color(0xFFEDF6F5), borderRadius: BorderRadius.circular(6), ), - padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16), + padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16), child: Row( children: [ Expanded(flex: 1, child: Text('S.No.', style: _headerStyle)), @@ -463,7 +466,12 @@ class IndividualAttendanceDetailsState ResponsiveLayout.isMobile(context) ? _buildDataTable(context) - : Expanded(child: _buildDataTable(context)), + : Expanded( + child: Container( + color: Colors.white, + child: _buildDataTable(context), + ), + ), ], ); } @@ -500,7 +508,7 @@ class IndividualAttendanceDetailsState Widget _buildDataRow(Map item, sno) { print('test 5'); return Container( - padding: const EdgeInsets.symmetric(vertical: 15, horizontal: 16), + padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 16), // margin: const EdgeInsets.only(top: 10), decoration: BoxDecoration( color: Colors.white, @@ -603,7 +611,7 @@ class IndividualAttendanceDetailsState } static final _dataBold = GoogleFonts.inter( - fontSize: 14, + fontSize: 12, fontWeight: FontWeight.w400, color: Color(0xFF000000), @@ -619,9 +627,10 @@ class IndividualAttendanceDetailsState // color: Colors.black, // fontWeight: FontWeight.bold, // ); - static final _headerStyle = GoogleFonts.inter( - color: Colors.black, - fontWeight: FontWeight.bold, + static final _headerStyle = GoogleFonts.poppins( + fontSize: 11.2, + fontWeight: FontWeight.w500, + color: Color(0xFF1E293B), ); static final _cardheaderStyle = GoogleFonts.inter( color: Colors.black, diff --git a/lib/presentation/screens/UserManagement/Agent/agent.dart b/lib/presentation/screens/UserManagement/Agent/agent.dart index d40cf8c..19ea301 100644 --- a/lib/presentation/screens/UserManagement/Agent/agent.dart +++ b/lib/presentation/screens/UserManagement/Agent/agent.dart @@ -8,6 +8,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; +import 'package:google_fonts/google_fonts.dart'; import 'package:http/http.dart' as http; import 'package:nhance_partner/core/routing/routes.dart'; import 'package:nhance_partner/presentation/themes/indicators/text_field_theme.dart'; @@ -366,9 +367,9 @@ class AgentState extends ConsumerState { const SizedBox(width: 5), // spacing between icon and text Text( "Partner", - style: TextStyle( - fontSize: 18, - fontWeight: FontWeight.w600, + style: GoogleFonts.poppins( + fontSize: 14, + fontWeight: FontWeight.w500, ), ), ], @@ -384,7 +385,8 @@ class AgentState extends ConsumerState { padding: EdgeInsets.symmetric(horizontal: 14.0, vertical: 20.0), decoration: BoxDecoration( borderRadius: BorderRadius.circular(8.0), - color: Color(0xFFEDF6F5), + color: Colors.white, + // color: Color(0xFFEDF6F5), ), child: Column( children: [ @@ -405,11 +407,15 @@ class AgentState extends ConsumerState { decoration: BoxDecoration( borderRadius: BorderRadius.circular(8.0), - color: Color(0xFF425B5B), + color: Color(0xFF2E7D6E), + // color: Color(0xFF425B5B), ), child: Text( 'Save', - style: TextStyle(color: Colors.white), + style: GoogleFonts.poppins( + color: Colors.white, + fontSize: 12, + ), ), ), ), @@ -478,6 +484,8 @@ class AgentState extends ConsumerState { ThemedFormField( controller: controllers['name']!, validator: (value) => Validators.requiredField(value, "name"), + borderColor: Color(0xFFE2E8F0), + highlightColor: Color(0xFF50A398), txtwidth: MediaQuery.of(context).size.width * 0.26, ), ], @@ -493,6 +501,8 @@ class AgentState extends ConsumerState { ThemedFormField( controller: controllers['email']!, validator: (value) => Validators.email(value, "email"), + borderColor: Color(0xFFE2E8F0), + highlightColor: Color(0xFF50A398), inputFormatters: [ FilteringTextInputFormatter.allow(RegExp(r'[a-zA-Z0-9_@.]')), ], @@ -511,6 +521,8 @@ class AgentState extends ConsumerState { ThemedFormField( controller: controllers['mobile']!, validator: (value) => Validators.phone(value, "phNumber"), + borderColor: Color(0xFFE2E8F0), + highlightColor: Color(0xFF50A398), inputFormatters: [ FilteringTextInputFormatter.allow(RegExp(r'[ 0-9]')), ], @@ -531,6 +543,8 @@ class AgentState extends ConsumerState { inputFormatters: [ FilteringTextInputFormatter.allow(RegExp(r'[a-zA-Z0-9]')), ], + borderColor: Color(0xFFE2E8F0), + highlightColor: Color(0xFF50A398), validator: (value) => Validators.requiredField(value, "id"), txtwidth: MediaQuery.of(context).size.width * 0.26, ), @@ -546,7 +560,8 @@ class AgentState extends ConsumerState { SizedBox(width: 10), ThemedFormField( controller: controllers['address']!, - + borderColor: Color(0xFFE2E8F0), + highlightColor: Color(0xFF50A398), txtwidth: MediaQuery.of(context).size.width * 0.26, ), ], @@ -567,6 +582,8 @@ class AgentState extends ConsumerState { ThemedUploadField( hintText: selectedFileNames ?? "Upload Document", txtwidth: MediaQuery.of(context).size.width * 0.26, + borderColor: Color(0xFFE2E8F0), + // highlightColor: Color(0xFF50A398), onFileSelected: (fileName, file) { print("Picked file: $fileName (${file.size} bytes)"); setState(() { @@ -595,7 +612,7 @@ class AgentState extends ConsumerState { // ), // tooltip: 'To Remove Upload', // ), - GestureDetector( + InkWell( onTap: () => apiService.downloadFile( apiUrl: 'api/agent/downloadAgentCertificateFile?agent_id=$selectedId', @@ -604,10 +621,10 @@ class AgentState extends ConsumerState { fileName: selectedFileNames, ), child: Container( - padding: const EdgeInsets.all(5), + // padding: const EdgeInsets.all(5), decoration: BoxDecoration( borderRadius: BorderRadius.circular(5), - color: Color(0xFF425B5B), + // color: Color(0xFF425B5B), // color: Colors.green.shade300, ), child: Row( @@ -615,13 +632,14 @@ class AgentState extends ConsumerState { Text( "Download", style: TextStyle( - fontSize: 12, - fontWeight: FontWeight.w200, - color: Colors.white, + fontSize: 11, + fontWeight: FontWeight.w600, + // color: Colors.white, + color: Color(0xFF2E7D6E), ), ), - SizedBox(width: 5), - Icon(Icons.download, size: 13, color: Colors.white), + // SizedBox(width: 5), + // Icon(Icons.download, size: 13, color: Colors.white), ], ), ), @@ -775,8 +793,8 @@ class AgentState extends ConsumerState { ); } - static const _textStyle = TextStyle( - fontSize: 14, - fontWeight: FontWeight.w600, + static final _textStyle = GoogleFonts.poppins( + fontSize: 12, + fontWeight: FontWeight.w500, ); } diff --git a/lib/presentation/screens/UserManagement/Agent/agentIncentiveFile.dart b/lib/presentation/screens/UserManagement/Agent/agentIncentiveFile.dart index 60446ad..e7801db 100644 --- a/lib/presentation/screens/UserManagement/Agent/agentIncentiveFile.dart +++ b/lib/presentation/screens/UserManagement/Agent/agentIncentiveFile.dart @@ -385,7 +385,8 @@ class UploadIncentiveModalState extends ConsumerState { Text( "Incentive Files", style: GoogleFonts.poppins( - fontSize: 18, + fontSize: 14, + color: Color(0xFF50A398), fontWeight: FontWeight.w500, ), ), @@ -395,8 +396,9 @@ class UploadIncentiveModalState extends ConsumerState { child: IconButton( icon: const Icon( Icons.refresh, - size: 20, - color: Color(0xFF425B5B), + size: 18, + color: Color(0xFF2E7D6E), + // color: Color(0xFF425B5B), ), onPressed: () { refresh(); @@ -412,8 +414,9 @@ class UploadIncentiveModalState extends ConsumerState { child: IconButton( icon: const Icon( Icons.close, - size: 20, - color: Color(0xFF425B5B), + size: 18, + // color: Color(0xFF425B5B), + color: Color(0xFF2E7D6E), ), onPressed: () { Navigator.pop(context); @@ -456,32 +459,80 @@ class UploadIncentiveModalState extends ConsumerState { agent['name'].toString(), // what to show compareFn: (item, selectedItem) => item['id'] == selectedItem['id'], // ✅ compare by id - decoratorProps: DropDownDecoratorProps( - decoration: AppInputDecorations.dropdownDecoration( - label: "Select Partner", - ), - ), + decoratorProps: DropDownDecoratorProps( + decoration: + AppInputDecorations.dropdownDecoration( + label: "Select Partner", + ).copyWith( + hintStyle: GoogleFonts.inter( + fontSize: 12, + color: Colors.black, + ), + filled: true, + fillColor: Colors + .white, // 👈 makes the dropdown input white + enabledBorder: OutlineInputBorder( + borderSide: BorderSide( + color: Color(0xFFE2E8F0), + // color: Colors.white, + ), // 👈 Normal border + ), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide( + color: Color(0xFFE2E8F0), + // color: Colors.white, + width: 1.5, + ), // 👈 Focused border + ), + + contentPadding: EdgeInsets.symmetric( + horizontal: 8, + vertical: 6, + ), + ), + ), popupProps: PopupProps.menu( fit: FlexFit.loose, + menuProps: MenuProps(backgroundColor: Colors.white), showSearchBox: true, searchFieldProps: TextFieldProps( decoration: InputDecoration( hintText: "Search partner...", + hintStyle: GoogleFonts.inter( + fontSize: 12, + color: Colors.black, + ), + enabledBorder: OutlineInputBorder( - borderSide: BorderSide( - color: Colors.grey, - ), // 👈 Normal border + borderSide: BorderSide(color: Colors.white), ), focusedBorder: OutlineInputBorder( borderSide: BorderSide( - color: Colors.grey, - width: 1.5, - ), // 👈 Focused border + // color: Colors.blue, + color: Color(0xFFEDF6F5), + width: 1, + ), ), ), ), // constraints: BoxConstraints(), + itemBuilder: (context, item, isDisabled, isSelected) { + return Container( + // color: isSelected ? Colors.blue.withOpacity(0.1) : null, + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 3, + ), + child: Text( + item['name'].toString(), + style: GoogleFonts.inter( + fontSize: 12, + color: Colors.black, + ), + ), + ); + }, ), onChanged: (agent) { @@ -509,7 +560,9 @@ class UploadIncentiveModalState extends ConsumerState { controller: controllers['agentId']!, txtwidth: MediaQuery.of(context).size.width * 0.27, txtheight: 40, - backgroundColor: Color(0xFFECECEC), + borderColor: Color(0xFFE2E8F0), + highlightColor: Color(0xFF50A398), + // backgroundColor: Color(0xFFECECEC), readOnly: true, // backgroundColor: Color(0xFFCBCBCB), ), @@ -539,10 +592,12 @@ class UploadIncentiveModalState extends ConsumerState { hintText: "Select Month", txtwidth: MediaQuery.of(context).size.width * 0.27, txtheight: 40, - backgroundColor: const Color(0xFFECECEC), + + // backgroundColor: const Color(0xFFECECEC), validator: (value) => Validators.requiredField(value, "date"), - borderColor: Colors.grey.shade300, + borderColor: Color(0xFFE2E8F0), + highlightColor: Color(0xFF50A398), controller: controllers['date']!, onDateSelected: (date) { print("Picked Date: $date"); @@ -576,7 +631,9 @@ class UploadIncentiveModalState extends ConsumerState { // } // return null; // }, - backgroundColor: Color(0xFFECECEC), + // backgroundColor: Color(0xFFECECEC), + backgroundColor: Colors.white, + borderColor: Color(0xFFE2E8F0), hintText: (selectedFileNames == null || selectedFileNames!.isEmpty) @@ -603,7 +660,8 @@ class UploadIncentiveModalState extends ConsumerState { MediaQuery.of(context).size.width * 0.068, child: ElevatedButton( style: ElevatedButton.styleFrom( - backgroundColor: Color(0xFF425B5B), + // backgroundColor: Color(0xFF425B5B), + backgroundColor: Color(0xFF2E7D6E), foregroundColor: Colors.white, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular( @@ -638,12 +696,13 @@ class UploadIncentiveModalState extends ConsumerState { Text('Files', style: _labelHeaderStyle), ThemedSearchField( hintText: 'Search', - backgroundColor: Color(0xFFECECEC), + backgroundColor: Colors.white, + // backgroundColor: Color(0xFFECECEC), onChanged: filterData, // onChanged: null, controller: controllers['search']!, - txtwidth: MediaQuery.of(context).size.width * 0.18, - txtHeight: 35, + txtwidth: MediaQuery.of(context).size.width * 0.15, + txtHeight: 30, ), ], ), @@ -729,11 +788,11 @@ class UploadIncentiveModalState extends ConsumerState { final _labelStyle = GoogleFonts.poppins( color: Colors.black, - fontWeight: FontWeight.w600, + fontWeight: FontWeight.w400, fontSize: 12, ); final _labelHeaderStyle = GoogleFonts.poppins( - fontSize: 14, + fontSize: 12, fontWeight: FontWeight.w600, ); @@ -770,10 +829,14 @@ class IncentiveFileRow extends StatelessWidget { padding: const EdgeInsets.all(6.0), decoration: BoxDecoration( color: const Color(0xFFF4F6F8), - borderRadius: BorderRadius.circular(8.0), + borderRadius: BorderRadius.circular(6.0), border: Border.all(color: const Color(0xFFE3E3E3)), ), - child: const Icon(Icons.file_present, color: Color(0xFF838587)), + child: const Icon( + Icons.file_present, + color: Color(0xFF838587), + size: 18, + ), ), const SizedBox(width: 10), Column( @@ -783,13 +846,22 @@ class IncentiveFileRow extends StatelessWidget { width: 100, child: Text( fileName, - style: const TextStyle(fontWeight: FontWeight.w600), + style: GoogleFonts.poppins( + fontWeight: FontWeight.w400, + fontSize: 12, + ), overflow: TextOverflow.ellipsis, softWrap: true, maxLines: 1, ), ), - Text(date, style: const TextStyle(color: Color(0xFF6E6E6E))), + Text( + date, + style: GoogleFonts.poppins( + color: Color(0xFF6E6E6E), + fontSize: 10, + ), + ), ], ), const Spacer(), @@ -798,12 +870,17 @@ class IncentiveFileRow extends StatelessWidget { child: const Icon( Icons.file_download_outlined, color: Color(0xFF6E6E6E), + size: 18, ), ), SizedBox(width: 10), GestureDetector( onTap: onDelete, - child: const Icon(Icons.delete_outlined, color: Color(0xFF6E6E6E)), + child: const Icon( + Icons.delete_outlined, + color: Color(0xFF6E6E6E), + size: 18, + ), ), ], ), diff --git a/lib/presentation/screens/UserManagement/Agent/agentList.dart b/lib/presentation/screens/UserManagement/Agent/agentList.dart index b481821..757d1d9 100644 --- a/lib/presentation/screens/UserManagement/Agent/agentList.dart +++ b/lib/presentation/screens/UserManagement/Agent/agentList.dart @@ -2,6 +2,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; +import 'package:google_fonts/google_fonts.dart'; import '../../../../core/routing/routes.dart'; import '../../../../core/services/api_service.dart'; @@ -173,49 +174,49 @@ class AgentListState extends ConsumerState { crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ - Container( - // height: 30, - // color: Colors.red.shade50, - width: MediaQuery.of(context).size.width, - child: GestureDetector( - onTap: () { - context.go(AppRoutes.dashboard); - }, - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Tooltip( - message: 'Back', - child: IconButton( - icon: const Icon( - Icons.arrow_left_sharp, - size: 25, - color: Color(0xFF425B5B), - ), - onPressed: () { - context.go(AppRoutes.dashboard); - }, - splashRadius: 18, - hoverColor: Colors.black12, - padding: const EdgeInsets.all(4), - constraints: const BoxConstraints(), - ), - ), - const SizedBox(width: 5), // spacing between icon and text - Text( - "Partner", - style: TextStyle( - fontSize: 18, - fontWeight: FontWeight.w600, - ), - ), - ], - ), - ), - ), + // Container( + // // height: 30, + // // color: Colors.red.shade50, + // width: MediaQuery.of(context).size.width, + // child: GestureDetector( + // onTap: () { + // context.go(AppRoutes.dashboard); + // }, + // child: Row( + // crossAxisAlignment: CrossAxisAlignment.center, + // mainAxisAlignment: MainAxisAlignment.start, + // children: [ + // // Tooltip( + // // message: 'Back', + // // child: IconButton( + // // icon: const Icon( + // // Icons.arrow_left_sharp, + // // size: 25, + // // color: Color(0xFF425B5B), + // // ), + // // onPressed: () { + // // context.go(AppRoutes.dashboard); + // // }, + // // splashRadius: 18, + // // hoverColor: Colors.black12, + // // padding: const EdgeInsets.all(4), + // // constraints: const BoxConstraints(), + // // ), + // // ), + // // const SizedBox(width: 5), // spacing between icon and text + // Text( + // "Partner", + // style: GoogleFonts.poppins( + // fontSize: 12, + // fontWeight: FontWeight.w500, + // ), + // ), + // ], + // ), + // ), + // ), - SizedBox(height: 10), + // SizedBox(height: 5), Expanded( child: Container( // color: Colors.green, @@ -232,42 +233,56 @@ class AgentListState extends ConsumerState { crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ + Text( + "Partner", + style: GoogleFonts.poppins( + fontSize: 14, + fontWeight: FontWeight.w500, + ), + ), + Spacer(), ThemedSearchField( hintText: 'Search', - backgroundColor: Color(0xFFF6F8F8), + backgroundColor: Color(0xFFFFFFFF), + // backgroundColor: Color(0xFFF6F8F8), + txtHeight: 30, onChanged: filterData, controller: _searchController, - txtwidth: MediaQuery.of(context).size.width * 0.2, + txtwidth: MediaQuery.of(context).size.width * 0.15, ), - Spacer(), - - GestureDetector( + SizedBox(width: 10), + InkWell( onTap: () { showUploadIncentiveModal(context); }, child: Container( - padding: EdgeInsets.all(8.0), + padding: EdgeInsets.all(5.4), decoration: BoxDecoration( - color: Color(0xFF425B5B), + color: const Color(0xFF2E7D6E), + // color: Color(0xFF425B5B), borderRadius: BorderRadius.circular(8.0), ), child: Row( - mainAxisSize: MainAxisSize.min, + // mainAxisSize: MainAxisSize.min, children: [ - Text( - 'Incentive File', - style: TextStyle( + // Text( + // 'Incentive File', + // style: TextStyle( + // color: Colors.white, + // fontWeight: FontWeight.w600, + // fontSize: 12, + // ), + // ), + // SizedBox(width: 10), + Tooltip( + message: 'Incentive File', + child: Icon( + Icons.file_open_outlined, color: Colors.white, - fontWeight: FontWeight.w600, - fontSize: 14, + size: 18, ), ), - SizedBox(width: 10), - Icon( - Icons.file_open_outlined, - color: Colors.white, - ), ], ), ), @@ -301,29 +316,37 @@ class AgentListState extends ConsumerState { ), SizedBox(width: 10), - GestureDetector( + InkWell( onTap: () { context.go('/agent/create'); }, child: Container( - padding: EdgeInsets.all(8.0), + padding: EdgeInsets.all(5.0), decoration: BoxDecoration( - color: Color(0xFF425B5B), + // color: Color(0xFF425B5B), + color: const Color(0xFF2E7D6E), borderRadius: BorderRadius.circular(8.0), ), child: Row( mainAxisSize: MainAxisSize.min, children: [ - Text( - 'Create New Partner', - style: TextStyle( + // Text( + // 'Create New Partner', + // style: TextStyle( + // color: Colors.white, + // fontWeight: FontWeight.w600, + // fontSize: 12, + // ), + // ), + // SizedBox(width: 10), + Tooltip( + message: 'Create New Partner', + child: Icon( + Icons.add, color: Colors.white, - fontWeight: FontWeight.w600, - fontSize: 14, + size: 18, ), ), - SizedBox(width: 10), - Icon(Icons.add, color: Colors.white), ], ), ), @@ -334,16 +357,18 @@ class AgentListState extends ConsumerState { SizedBox(height: 10), Container( - height: 50, + // height: 50, decoration: BoxDecoration( - color: Color(0xFFEDF6F5), + color: Color(0xFFF1F5F9), + + // color: Color(0xFFEDF6F5), borderRadius: BorderRadius.circular(6), ), padding: const EdgeInsets.symmetric( - vertical: 12, + vertical: 8, horizontal: 16, ), - child: const Row( + child: Row( mainAxisSize: MainAxisSize.min, children: [ Expanded( @@ -382,7 +407,12 @@ class AgentListState extends ConsumerState { ), ), - Expanded(child: _buildClaimsDataTable(context)), + Expanded( + child: Container( + color: Colors.white, + child: _buildClaimsDataTable(context), + ), + ), ], ), ), @@ -455,7 +485,7 @@ class AgentListState extends ConsumerState { Widget _buildDataRow(Map item, sno) { return Container( - padding: const EdgeInsets.symmetric(vertical: 6, horizontal: 16), + padding: const EdgeInsets.symmetric(vertical: 2, horizontal: 16), // margin: const EdgeInsets.only(top: 10), decoration: BoxDecoration( color: Colors.white, @@ -495,7 +525,7 @@ class AgentListState extends ConsumerState { child: Row( children: [ Transform.scale( - scale: 0.6, // reduce size (0.7–0.9 works well) + scale: 0.4, // reduce size (0.7–0.9 works well) child: Switch( value: item['is_active'] == "1", onChanged: (val) { @@ -509,8 +539,10 @@ class AgentListState extends ConsumerState { ); print("Response - $response"); }, - activeColor: Color(0xFF425B5B), - activeTrackColor: Color(0xFFB2D8D3), + // activeColor: Color(0xFF425B5B), + // activeTrackColor: Color(0xFFB2D8D3), + activeColor: Color(0xFF2E7D6E), // thumb when active + activeTrackColor: Color(0xFFDCFCE7), // track when active inactiveThumbColor: Colors.grey.shade400, // thumb when inactive inactiveTrackColor: @@ -530,7 +562,7 @@ class AgentListState extends ConsumerState { child: IconButton( icon: Image.asset( "assets/miscellaneous/Edit.png", - height: 15, + height: 12, width: 15, ), onPressed: () { @@ -550,7 +582,7 @@ class AgentListState extends ConsumerState { children: [ Image.asset( "assets/miscellaneous/Edit_muted.png", - height: 15, + height: 12, width: 15, ), ], @@ -595,8 +627,8 @@ class AgentListState extends ConsumerState { ); } - static final _dataBold = TextStyle( - fontSize: 14, + static final _dataBold = GoogleFonts.inter( + fontSize: 12, fontWeight: FontWeight.w400, color: Color(0xFF000000), ); @@ -607,8 +639,9 @@ class AgentListState extends ConsumerState { color: Color(0xFF585757), ); - static const _headerStyle = TextStyle( - color: Colors.black, - fontWeight: FontWeight.bold, + static final _headerStyle = GoogleFonts.poppins( + fontSize: 11.2, + fontWeight: FontWeight.w500, + color: Color(0xFF1E293B), ); } diff --git a/lib/presentation/screens/UserManagement/Staff/staff.dart b/lib/presentation/screens/UserManagement/Staff/staff.dart index 674f91c..dcd298a 100644 --- a/lib/presentation/screens/UserManagement/Staff/staff.dart +++ b/lib/presentation/screens/UserManagement/Staff/staff.dart @@ -7,6 +7,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; +import 'package:google_fonts/google_fonts.dart'; import 'package:http/http.dart' as http; import 'package:nhance_partner/core/routing/routes.dart'; import 'package:nhance_partner/data/utils/toastNotification.dart'; @@ -352,7 +353,7 @@ class StaffState extends ConsumerState { child: IconButton( icon: const Icon( Icons.arrow_left_sharp, - size: 35, + size: 25, color: Color(0xFF425B5B), ), onPressed: () { @@ -367,16 +368,16 @@ class StaffState extends ConsumerState { const SizedBox(width: 5), // spacing between icon and text Text( "Staff", - style: TextStyle( + style: GoogleFonts.poppins( fontSize: 14, - fontWeight: FontWeight.w600, + fontWeight: FontWeight.w500, ), ), ], ), ), ), - SizedBox(height: 10), + // SizedBox(height: 10), Expanded( child: Container( // color: Colors.green, @@ -385,8 +386,8 @@ class StaffState extends ConsumerState { padding: EdgeInsets.symmetric(horizontal: 14.0, vertical: 20.0), decoration: BoxDecoration( borderRadius: BorderRadius.circular(8.0), - // color: Colors.white, - color: Color(0xFFEDF6F5), + color: Colors.white, + // color: Color(0xFFEDF6F5), ), child: Column( children: [ @@ -407,11 +408,15 @@ class StaffState extends ConsumerState { decoration: BoxDecoration( borderRadius: BorderRadius.circular(8.0), - color: Color(0xFF425B5B), + color: Color(0xFF2E7D6E), + // color: Color(0xFF425B5B), ), child: Text( 'Save', - style: TextStyle(color: Colors.white), + style: GoogleFonts.poppins( + color: Colors.white, + fontSize: 12, + ), ), ), ), @@ -480,6 +485,8 @@ class StaffState extends ConsumerState { Text("Full Name *", style: _textStyle), SizedBox(width: 10), ThemedFormField( + borderColor: Color(0xFFE2E8F0), + highlightColor: Color(0xFF50A398), controller: controllers['name']!, validator: (value) => Validators.requiredField(value, "name"), txtwidth: MediaQuery.of(context).size.width * 0.26, @@ -496,6 +503,8 @@ class StaffState extends ConsumerState { SizedBox(width: 10), ThemedFormField( controller: controllers['email']!, + borderColor: Color(0xFFE2E8F0), + highlightColor: Color(0xFF50A398), validator: (value) => Validators.email(value, "email"), inputFormatters: [ FilteringTextInputFormatter.allow(RegExp(r'[a-zA-Z0-9_@.]')), @@ -514,6 +523,8 @@ class StaffState extends ConsumerState { SizedBox(width: 10), ThemedFormField( controller: controllers['mobile']!, + borderColor: Color(0xFFE2E8F0), + highlightColor: Color(0xFF50A398), validator: (value) => Validators.phone(value, "phNumber"), inputFormatters: [ FilteringTextInputFormatter.allow(RegExp(r'[ 0-9]')), @@ -532,6 +543,8 @@ class StaffState extends ConsumerState { SizedBox(width: 10), ThemedFormField( controller: controllers['code']!, + borderColor: Color(0xFFE2E8F0), + highlightColor: Color(0xFF50A398), // validator: (value) => Validators.requiredField(value, "id"), txtwidth: MediaQuery.of(context).size.width * 0.26, ), @@ -611,6 +624,25 @@ class StaffState extends ConsumerState { filled: true, fillColor: Colors.white, // 👈 makes the dropdown input white + isDense: true, + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(5), + borderSide: const BorderSide( + color: Color(0xFFE2E8F0), + width: 1, + ), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(5), + borderSide: const BorderSide( + color: Color(0xFFE2E8F0), + width: 1, + ), + ), + contentPadding: EdgeInsets.symmetric( + horizontal: 8, + vertical: 6, + ), ), ), @@ -624,18 +656,26 @@ class StaffState extends ConsumerState { showSearchBox: true, searchFieldProps: TextFieldProps( + autofocus: true, decoration: InputDecoration( + contentPadding: EdgeInsets.all(3), filled: true, fillColor: Colors.white, hintText: "Search Role...", + hintStyle: GoogleFonts.inter( + fontSize: 12, + color: Colors.black, + ), enabledBorder: OutlineInputBorder( borderSide: BorderSide( - color: Colors.white, + color: Color(0xFFE2E8F0), + // color: Colors.white, ), // 👈 Normal border ), focusedBorder: OutlineInputBorder( borderSide: BorderSide( - color: Colors.white, + color: Color(0xFFE2E8F0), + // color: Colors.white, width: 1.5, ), // 👈 Focused border ), @@ -733,9 +773,31 @@ class StaffState extends ConsumerState { AppInputDecorations.dropdownDecoration( label: "Select Handler", ).copyWith( + hintStyle: GoogleFonts.inter( + fontSize: 12, + color: Colors.black, + ), filled: true, fillColor: Colors.white, // 👈 makes the dropdown input white + enabledBorder: OutlineInputBorder( + borderSide: BorderSide( + color: Color(0xFFE2E8F0), + // color: Colors.white, + ), // 👈 Normal border + ), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide( + color: Color(0xFFE2E8F0), + // color: Colors.white, + width: 1.5, + ), // 👈 Focused border + ), + + contentPadding: EdgeInsets.symmetric( + horizontal: 8, + vertical: 6, + ), ), ), popupProps: PopupPropsMultiSelection.menu( @@ -745,10 +807,16 @@ class StaffState extends ConsumerState { menuProps: MenuProps(backgroundColor: Colors.white), searchFieldProps: TextFieldProps( + autofocus: true, decoration: InputDecoration( filled: true, fillColor: Colors.white, hintText: "Search Handler...", + hintStyle: GoogleFonts.inter( + fontSize: 12, + color: Colors.black, + ), + enabledBorder: OutlineInputBorder( borderSide: BorderSide(color: Colors.white), ), @@ -847,8 +915,8 @@ class StaffState extends ConsumerState { ); } - static const _textStyle = TextStyle( - fontSize: 14, - fontWeight: FontWeight.w600, + static final _textStyle = GoogleFonts.poppins( + fontSize: 12, + fontWeight: FontWeight.w500, ); } diff --git a/lib/presentation/screens/UserManagement/Staff/staffList.dart b/lib/presentation/screens/UserManagement/Staff/staffList.dart index e0feb96..b479a28 100644 --- a/lib/presentation/screens/UserManagement/Staff/staffList.dart +++ b/lib/presentation/screens/UserManagement/Staff/staffList.dart @@ -203,48 +203,48 @@ class StaffListState extends ConsumerState { crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ - Container( - // height: 30, - // color: Colors.red.shade50, - width: MediaQuery.of(context).size.width, - child: GestureDetector( - onTap: () { - context.go(AppRoutes.dashboard); - }, - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Text('Staff List', style: _headerStyle), - // Icon( - // Icons.arrow_left_sharp, - // size: 35, - // color: Color(0xFF425B5B), - // ), - // Tooltip( - // message: 'Back', - // child: IconButton( - // icon: const Icon( - // Icons.arrow_left_sharp, - // size: 25, - // color: Color(0xFF425B5B), - // ), - // onPressed: () { - // context.go(AppRoutes.dashboard); - // }, - // splashRadius: 18, - // hoverColor: Colors.black12, - // padding: const EdgeInsets.all(4), - // constraints: const BoxConstraints(), - // ), - // ), - // const SizedBox(width: 15), // spacing between icon and text - ], - ), - ), - ), - - SizedBox(height: 5), + // Container( + // // height: 30, + // // color: Colors.red.shade50, + // width: MediaQuery.of(context).size.width, + // child: GestureDetector( + // onTap: () { + // context.go(AppRoutes.dashboard); + // }, + // child: Row( + // crossAxisAlignment: CrossAxisAlignment.center, + // mainAxisAlignment: MainAxisAlignment.start, + // children: [ + // Text('Staff List', style: _headerStyle), + // // Icon( + // // Icons.arrow_left_sharp, + // // size: 35, + // // color: Color(0xFF425B5B), + // // ), + // // Tooltip( + // // message: 'Back', + // // child: IconButton( + // // icon: const Icon( + // // Icons.arrow_left_sharp, + // // size: 25, + // // color: Color(0xFF425B5B), + // // ), + // // onPressed: () { + // // context.go(AppRoutes.dashboard); + // // }, + // // splashRadius: 18, + // // hoverColor: Colors.black12, + // // padding: const EdgeInsets.all(4), + // // constraints: const BoxConstraints(), + // // ), + // // ), + // // const SizedBox(width: 15), // spacing between icon and text + // ], + // ), + // ), + // ), + // + // SizedBox(height: 5), Expanded( child: Container( // color: Colors.green, @@ -252,12 +252,13 @@ class StaffListState extends ConsumerState { width: MediaQuery.of(context).size.width, // margin: EdgeInsets.all(10.0), decoration: BoxDecoration( - color: Colors.white, + // color: Colors.white, borderRadius: BorderRadius.circular(15.0), ), - padding: EdgeInsets.all(15.0), + padding: EdgeInsets.all(8.0), child: Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( // height: 40, @@ -266,6 +267,14 @@ class StaffListState extends ConsumerState { crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ + Text( + 'Staff List', + style: GoogleFonts.poppins( + fontSize: 14, + fontWeight: FontWeight.w500, + ), + ), + Spacer(), ThemedSearchField( hintText: 'Search', // backgroundColor: Color(0xFFF6F8F8), @@ -273,7 +282,7 @@ class StaffListState extends ConsumerState { txtHeight: 30, onChanged: filterData, controller: _searchStaffController, - txtwidth: MediaQuery.of(context).size.width * 0.2, + txtwidth: MediaQuery.of(context).size.width * 0.15, ), SizedBox(width: 10), @@ -302,13 +311,13 @@ class StaffListState extends ConsumerState { ], ), - Spacer(), + SizedBox(width: 10), InkWell( onTap: () { context.go('/staff/create'); }, child: Container( - padding: EdgeInsets.all(6.5), + padding: EdgeInsets.all(4.8), decoration: BoxDecoration( color: const Color(0xFF2E7D6E), borderRadius: BorderRadius.circular(8.0), @@ -331,7 +340,7 @@ class StaffListState extends ConsumerState { ], ), ), - SizedBox(height: 10), + SizedBox(height: 5), Container( decoration: BoxDecoration( color: Color(0xFFF1F5F9), @@ -491,8 +500,8 @@ class StaffListState extends ConsumerState { print("Response - $response"); }, activeColor: Color(0xFF2E7D6E), // thumb when active - // activeColor: Color(0xFF425B5B), // thumb when active activeTrackColor: Color(0xFFDCFCE7), // track when active + // activeColor: Color(0xFF425B5B), // thumb when active // activeTrackColor: Color(0xFFB2D8D3), // track when active inactiveThumbColor: Colors.grey.shade400, // thumb when inactive @@ -548,7 +557,7 @@ class StaffListState extends ConsumerState { children: [ Image.asset( "assets/miscellaneous/Edit_muted.png", - height: 15, + height: 12, width: 15, ), ], @@ -594,7 +603,7 @@ class StaffListState extends ConsumerState { } static final _dataBold = GoogleFonts.inter( - fontSize: 11.5, + fontSize: 12, fontWeight: FontWeight.w400, color: Color(0xFF000000), @@ -606,10 +615,9 @@ class StaffListState extends ConsumerState { color: Color(0xFF585757), ); - static final _headerStyle = GoogleFonts.inter( - color: Color(0XFF1e293b), - fontSize: 12, - - fontWeight: FontWeight.w600, + static final _headerStyle = GoogleFonts.poppins( + fontSize: 11.2, + fontWeight: FontWeight.w500, + color: Color(0xFF1E293B), ); } diff --git a/lib/presentation/screens/dashboard/dashboard.dart b/lib/presentation/screens/dashboard/dashboard.dart index 5494dea..5075791 100644 --- a/lib/presentation/screens/dashboard/dashboard.dart +++ b/lib/presentation/screens/dashboard/dashboard.dart @@ -2017,12 +2017,13 @@ Future handleDashboardNavigation( await prefs.setString('dashboardStatusProvider', status); await prefs.setString('dashboardStaffIdProvider', staffId!); - // ✅ Navigate - if (role == 'manager') { - context.go(AppRoutes.enquiryForStaff); - } else { - context.go(AppRoutes.enquiryHandlerLst); - } + context.go(AppRoutes.enquiryForStaff); + // // ✅ Navigate + // if (role == 'manager') { + // context.go(AppRoutes.enquiryForStaff); + // } else { + // context.go(AppRoutes.enquiryHandlerLst); + // } } final _headerStyle = GoogleFonts.inter( diff --git a/lib/presentation/screens/login/login_screen.dart b/lib/presentation/screens/login/login_screen.dart index 2420287..e5af5eb 100644 --- a/lib/presentation/screens/login/login_screen.dart +++ b/lib/presentation/screens/login/login_screen.dart @@ -340,12 +340,13 @@ class _LoginScreenState extends ConsumerState { print('managerId -- $managerId'); final userRole = ref.watch(userRoleProvider); print('userRole -- $userRole'); + if (userRole == 'staff') { context.go(AppRoutes.enquiryForStaff); - } if (userRole == 'admin') { + } else if (userRole == 'admin') { context.go(AppRoutes.payout); } else { - context.go(AppRoutes.dashboard); + context.go(AppRoutes.dashboard); } } else { ToastHelper.showErrorToast(context, data['message'] ?? 'Invalid OTP'); diff --git a/lib/presentation/screens/staff/Enquiry/enquiry_inline_list.dart b/lib/presentation/screens/staff/Enquiry/enquiry_inline_list.dart index 0c09efb..261889d 100644 --- a/lib/presentation/screens/staff/Enquiry/enquiry_inline_list.dart +++ b/lib/presentation/screens/staff/Enquiry/enquiry_inline_list.dart @@ -121,7 +121,10 @@ class EnquiryStaffState extends ConsumerState { Map dataDetails() { final data = { - "agent_id": ((roleId == 'handler') || (roleId == 'manager')) + "agent_id": + ((roleId == 'handler') || + (roleId == 'manager') || + (roleId == 'staff')) ? selectedAgent : userId, "name": controllers["name"]?.text, @@ -2808,7 +2811,7 @@ class EnquiryStaffState extends ConsumerState { 'Proposal Created': const Color(0xFFF0F9FF), // Cyan 50 'Proposal Accepted': const Color(0xFFF0FDF4), // Green 50 'Proposal Rejected': const Color(0xFFFEF9C3), // Yellow 50 - 'Policy Created': const Color(0xFFEDE9FE), // Purple 50 (generated) + 'Policy Created': const Color(0xFFF3F0FF), // Purple 50 (generated) }; final Map statusBorderColors = { @@ -2816,7 +2819,8 @@ class EnquiryStaffState extends ConsumerState { 'Proposal Created': const Color(0xFFBAE6FD), // Cyan 100 'Proposal Accepted': const Color(0xFFDCFCE7), // Green 100 'Proposal Rejected': const Color(0xFFFEF3C7), // Yellow 100 - 'Policy Created': const Color(0xFFD8B4FE), // Purple 200 + 'Policy Created': const Color(0xFFF0E4FF), // Purple 200 + // 'Policy Created': const Color(0xFFE5CCFF), // Purple 200 }; final Map statusTextColors = { @@ -2839,7 +2843,7 @@ class EnquiryStaffState extends ConsumerState { }); }, child: Container( - padding: EdgeInsets.symmetric(horizontal: 10, vertical: 8), + padding: EdgeInsets.symmetric(horizontal: 10, vertical: 4), child: Row( children: [ Icon( @@ -2869,7 +2873,7 @@ class EnquiryStaffState extends ConsumerState { child: Text( '$count', style: GoogleFonts.inter( - fontSize: 12, + fontSize: 11, color: Color(0xFF2563EB), fontWeight: FontWeight.w500, ), @@ -2990,7 +2994,7 @@ class EnquiryStaffState extends ConsumerState { Container( // width: double.infinity, width: MediaQuery.of(context).size.width, - margin: EdgeInsets.fromLTRB(12, 8, 12, 8), + margin: EdgeInsets.fromLTRB(12, 4, 12, 4), child: _buildGroupHeader(status, items.length), ), ], @@ -3091,10 +3095,10 @@ class EnquiryStaffState extends ConsumerState { if (status != 'Proposal Accepted' && status != 'Proposal Rejected') Padding( - padding: EdgeInsets.all(20), + padding: EdgeInsets.all(5), child: Center( child: Text( - 'No records found', + 'No enquiries found', style: GoogleFonts.inter( fontSize: 12, color: Colors.grey, @@ -3148,6 +3152,7 @@ class EnquiryStaffState extends ConsumerState { // Assigned To DataCell( SizedBox( + // flex: 1, width: 100, child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -3213,7 +3218,7 @@ class EnquiryStaffState extends ConsumerState { // Vehicle No DataCell( SizedBox( - width: 85, + width: 95, child: Builder( builder: (buttonContext) => Material( color: Colors.white, @@ -3282,40 +3287,74 @@ class EnquiryStaffState extends ConsumerState { DataCell( SizedBox( - width: 40.0, + width: 50.0, child: Row( children: [ + // Tooltip( + // message: + // 'Email : ${item["email"]}\n' + // 'Mobile : ${item["mobile"]}\n' + // 'Remarks : ${item["remarks"]}', + // decoration: BoxDecoration( + // color: Colors.white, // background color + // borderRadius: BorderRadius.circular(6), + // border: Border.all(color: Colors.grey, width: 1), + // ), + // textStyle: GoogleFonts.inter( + // color: Colors.black, + // fontSize: 12, + // ), + // + // padding: const EdgeInsets.symmetric( + // horizontal: 8, + // vertical: 4, // reduce tooltip height + // ), + // margin: const EdgeInsets.only( + // left: 10, + // ), // tooltip distance from widget + // waitDuration: Duration(milliseconds: 500), + // showDuration: Duration(seconds: 2), + // child: Icon( + // Icons.info_outline_rounded, + // size: 15, + // color: Colors.blue, + // ), + // ), Tooltip( - message: - 'Email : ${item["email"]}\n' - 'Mobile : ${item["mobile"]}\n' - 'Remarks : ${item["remarks"]}', - decoration: BoxDecoration( - color: Colors.white, // background color - borderRadius: BorderRadius.circular(6), - border: Border.all(color: Colors.grey, width: 1), - ), - textStyle: GoogleFonts.inter( - color: Colors.black, - fontSize: 12, - ), + richMessage: WidgetSpan( + child: Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + // color: Colors.white, + color: Color(0xFFFFFCF2), + borderRadius: BorderRadius.circular(6), + // border: Border.all(color: Colors.blueGrey.shade100), + // border: Border.all(color: Colors.grey.shade400), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, - padding: const EdgeInsets.symmetric( - horizontal: 8, - vertical: 4, // reduce tooltip height + // mainAxisSize: MainAxisSize.min, + children: [ + _row("Email", item["email"]), + _row("Mobile", item["mobile"]), + _row("Remarks", item["remarks"]), + ], + ), + ), ), - margin: const EdgeInsets.only( - left: 10, - ), // tooltip distance from widget + padding: EdgeInsets + .zero, // important (remove default tooltip padding) + verticalOffset: 12, // distance from icon waitDuration: Duration(milliseconds: 500), showDuration: Duration(seconds: 2), + decoration: BoxDecoration(), // remove default yellow box child: Icon( Icons.info_outline_rounded, size: 15, color: Colors.blue, ), ), - IconButton( padding: EdgeInsets.zero, // remove outer padding constraints: BoxConstraints( @@ -3388,7 +3427,7 @@ class EnquiryStaffState extends ConsumerState { // ) // : SizedBox( - width: 80, + width: 90, child: Text( item['premium_amount']?.toString() ?? '-', style: _dataBold, @@ -3399,8 +3438,8 @@ class EnquiryStaffState extends ConsumerState { // Payment Mode DataCell( SizedBox( - width: 80, - child: Text(item['payment_mode'] ?? '-', style: _dataBold), + width: 100, + child: Text(item['payment_mode_value'] ?? '-', style: _dataBold), ), ), @@ -3453,15 +3492,21 @@ class EnquiryStaffState extends ConsumerState { border: Border.all(color: borderColor), borderRadius: BorderRadius.circular(5), ), - child: Text( - item['status'] ?? '-', - style: GoogleFonts.inter( - fontSize: 11, - color: Color(0XFF1e293b), - // color: statusTextColors[status] ?? Colors.black, - fontWeight: FontWeight.w500, - ), - // overflow: TextOverflow.clip, // + + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + item['status'] ?? '-', + style: GoogleFonts.inter( + fontSize: 11, + color: Color(0XFF1e293b), + // color: statusTextColors[status] ?? Colors.black, + fontWeight: FontWeight.w500, + ), + // overflow: TextOverflow.clip, // + ), + ], ), ), ), @@ -3507,11 +3552,11 @@ class EnquiryStaffState extends ConsumerState { // _buildHeaderCell('Broker *', 100), _buildHeaderCell('Insurer *', 90), _buildHeaderCell('Insured Name *', 120), - _buildHeaderCell('Vehicle No *', 100), + _buildHeaderCell('Vehicle No *', 110), _buildHeaderCell('Action', 60), // _buildHeaderCell('Assigned Date', 100), _buildHeaderCell('Premium', 100), - _buildHeaderCell('Payment Mode', 100), + _buildHeaderCell('Payment Mode', 120), _buildHeaderCell('Policy Number', 120), _buildHeaderCell('Status', 100), ], @@ -3526,8 +3571,8 @@ class EnquiryStaffState extends ConsumerState { width: width, child: Text( label, - style: GoogleFonts.inter( - fontSize: 12, + style: GoogleFonts.poppins( + fontSize: 11, fontWeight: FontWeight.w500, color: Color(0xFF1E293B), // color: Colors.black87, @@ -3537,6 +3582,44 @@ class EnquiryStaffState extends ConsumerState { ); } + Widget _row(String label, String value) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 2), + child: Row( + mainAxisSize: MainAxisSize.min, + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + SizedBox( + width: 70, + child: Text( + "$label ", + style: GoogleFonts.poppins( + color: Colors.black, + fontSize: 10, + fontWeight: FontWeight.w500, + ), + ), + ), + + SizedBox( + width: 180, + child: Text( + value ?? '-', + softWrap: true, + maxLines: 5, + + style: GoogleFonts.poppins( + color: Colors.black, + fontSize: 10, + fontWeight: FontWeight.w400, + ), + ), + ), + ], + ), + ); + } + static final _dataBold = GoogleFonts.inter( fontSize: 11, diff --git a/lib/presentation/screens/staff/Enquiry/raise_enq_form.dart b/lib/presentation/screens/staff/Enquiry/raise_enq_form.dart index 543f066..3c21696 100644 --- a/lib/presentation/screens/staff/Enquiry/raise_enq_form.dart +++ b/lib/presentation/screens/staff/Enquiry/raise_enq_form.dart @@ -95,7 +95,10 @@ class RaiseEnqFormState extends ConsumerState { print('checking agent id $selectedAgent'); final data = { - "agent_id": ((roleId == 'handler') || (roleId == 'manager')) + "agent_id": + ((roleId == 'handler') || + (roleId == 'manager') || + (roleId == 'staff')) ? selectedAgent : userId, "name": controllers["name"]?.text, diff --git a/lib/presentation/screens/staff/Enquiry/tabs/createQuotation.dart b/lib/presentation/screens/staff/Enquiry/tabs/createQuotation.dart index b278de8..9fe584f 100644 --- a/lib/presentation/screens/staff/Enquiry/tabs/createQuotation.dart +++ b/lib/presentation/screens/staff/Enquiry/tabs/createQuotation.dart @@ -226,7 +226,8 @@ class CreateProposalFormState extends ConsumerState { selectedBroker = widget.selectedQuotationFrmListdata!['broker_id'] ?.toString(); - selectedPaymentMode = widget.selectedQuotationFrmListdata!['broker_id'] + selectedPaymentMode = widget + .selectedQuotationFrmListdata!['payment_mode_id'] ?.toString(); // controllers["insurer"]?.text = 'LIC'; diff --git a/lib/presentation/screens/staff/Enquiry/tabs/policyTab.dart b/lib/presentation/screens/staff/Enquiry/tabs/policyTab.dart index 4bebad6..62e4165 100644 --- a/lib/presentation/screens/staff/Enquiry/tabs/policyTab.dart +++ b/lib/presentation/screens/staff/Enquiry/tabs/policyTab.dart @@ -130,6 +130,7 @@ class PolicyStaffTabState extends ConsumerState { dynamic roleId; dynamic enqBrokerName; + dynamic selectedPaymentMode; List> getVehicleTypeData = []; List> filteredVechicleData = []; @@ -435,7 +436,7 @@ class PolicyStaffTabState extends ConsumerState { policyData['policy_number']?.toString() ?? ''; controllers["policyPaymentMode"]?.text = policyData['payment_mode']?.toString() ?? ''; - + selectedPaymentMode = policyData['payment_mode_value']?.toString() ?? ''; controllers["issueDate"]?.text = fixInvalidDate( policyData['issued_date'], ); @@ -509,7 +510,8 @@ class PolicyStaffTabState extends ConsumerState { controllers["policyNumber"]?.text = policyData['policy_number']?.toString() ?? ''; controllers["policyPaymentMode"]?.text = - policyData['payment_mode']?.toString() ?? ''; + policyData['payment_mode_value']?.toString() ?? ''; + selectedPaymentMode = policyData['payment_mode_value']?.toString() ?? ''; controllers["issueDate"]?.text = _formatDate(policyData['issued_date']!.toString()) ?? ''; @@ -1606,7 +1608,8 @@ class PolicyStaffTabState extends ConsumerState { SizedBox( width: MediaQuery.of(context).size.width * 0.075, child: Text( - controllers['policyPaymentMode']?.text ?? 'Online', + selectedPaymentMode, + // controllers['policyPaymentMode']!.text, style: GoogleFonts.inter(fontSize: 12), ), ), diff --git a/lib/presentation/screens/staff/Enquiry/tabs/tab.dart b/lib/presentation/screens/staff/Enquiry/tabs/tab.dart index a09457a..4d6801d 100644 --- a/lib/presentation/screens/staff/Enquiry/tabs/tab.dart +++ b/lib/presentation/screens/staff/Enquiry/tabs/tab.dart @@ -227,7 +227,8 @@ class TabEnquiryStaffListState extends ConsumerState { horizontal: 16, ), decoration: BoxDecoration( - color: Color(0xffEDF6F5), + // color: Color(0xffEDF6F5), + color: Color(0xFFF6FBFA), // color: Color(0xFFE0F7F9), border: const Border( bottom: BorderSide(color: Color(0xFFEAEAEA), width: 1), @@ -352,7 +353,7 @@ class TabEnquiryStaffListState extends ConsumerState { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text('AgentName', style: _textStyle), + Text('Agent Name', style: _textStyle), SizedBox(height: 10), Text(selectedAgentName ?? '', style: _textDataStyle), ], @@ -408,11 +409,11 @@ class TabEnquiryStaffListState extends ConsumerState { static final _textStyle = GoogleFonts.inter( fontSize: 12, - fontWeight: FontWeight.w500, + fontWeight: FontWeight.w400, ); - static final _textDataStyle = GoogleFonts.inter( + static final _textDataStyle = GoogleFonts.poppins( fontSize: 12, - fontWeight: FontWeight.w600, + fontWeight: FontWeight.w500, ); static final _headertextStyle = GoogleFonts.inter( diff --git a/lib/presentation/screens/staff/policy/policy_list.dart b/lib/presentation/screens/staff/policy/policy_list.dart index b799ee4..1c6146b 100644 --- a/lib/presentation/screens/staff/policy/policy_list.dart +++ b/lib/presentation/screens/staff/policy/policy_list.dart @@ -380,35 +380,35 @@ class policylistState extends ConsumerState { width: MediaQuery.of(context).size.width, child: GestureDetector( onTap: () { - context.go(AppRoutes.dashboard); + // context.go(AppRoutes.dashboard); }, child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.start, children: [ - Tooltip( - message: 'Back', - child: IconButton( - icon: const Icon( - Icons.arrow_left_sharp, - size: 25, - color: Color(0xFF425B5B), - ), - onPressed: () { - context.go(AppRoutes.dashboard); - }, - splashRadius: 18, - hoverColor: Colors.black12, - padding: const EdgeInsets.all(4), - constraints: const BoxConstraints(), - ), - ), - const SizedBox(width: 5), // spacing between icon and text + // Tooltip( + // message: 'Back', + // child: IconButton( + // icon: const Icon( + // Icons.arrow_left_sharp, + // size: 18, + // color: Color(0xFF425B5B), + // ), + // onPressed: () { + // context.go(AppRoutes.dashboard); + // }, + // splashRadius: 18, + // hoverColor: Colors.black12, + // padding: const EdgeInsets.all(4), + // constraints: const BoxConstraints(), + // ), + // ), + // const SizedBox(width: 5), // spacing between icon and text Text( "Policy", - style: GoogleFonts.inter( - fontSize: 18, - fontWeight: FontWeight.w600, + style: GoogleFonts.poppins( + fontSize: 14, + fontWeight: FontWeight.w500, ), ), ], @@ -577,12 +577,14 @@ class policylistState extends ConsumerState { : SizedBox.shrink(), ThemedSearchField( hintText: 'Search', - backgroundColor: Color(0xFFF6F8F8), + // backgroundColor: Color(0xFFF6F8F8), + backgroundColor: Color(0xFFFFFFFF), + txtHeight: 30, onChanged: filterData, controller: _searchStaffController, txtwidth: ResponsiveLayout.isMobile(context) ? MediaQuery.of(context).size.width * 0.7 - : MediaQuery.of(context).size.width * 0.2, + : MediaQuery.of(context).size.width * 0.15, ), ResponsiveLayout.isMobile(context) ? Spacer() @@ -593,9 +595,10 @@ class policylistState extends ConsumerState { data: filteredData, txt: !ResponsiveLayout.isMobile(context) ? true : false, displayHeaders: [ - "Received Date & Time", - "Partner", + // "Received Date & Time", "Assigned To", + "Partner", + "Insurer", "Vehicle.No.", "Insured Name", @@ -604,9 +607,9 @@ class policylistState extends ConsumerState { "Policy Number", ], keys: [ - "updated_on", - "agent_name", + // "updated_on", "assigned_to_name", + "agent_name", "insurer_name", "reg_no", "insured_name", @@ -661,22 +664,23 @@ class policylistState extends ConsumerState { if (!ResponsiveLayout.isMobile(context)) Container( decoration: BoxDecoration( - color: Color(0xFFEDF6F5), + color: Color(0xFFF1F5F9), + // color: Color(0xFFEDF6F5), borderRadius: BorderRadius.circular(6), ), - padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16), + padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16), child: Row( children: [ - Expanded( - flex: 2, - child: Text('Recieved Date', style: _headerStyle), - ), - - Expanded(flex: 2, child: Text('Partner', style: _headerStyle)), + // Expanded( + // flex: 2, + // child: Text('Recieved Date', style: _headerStyle), + // ), Expanded( flex: 2, child: Text('Assigned To', style: _headerStyle), ), + + Expanded(flex: 2, child: Text('Partner', style: _headerStyle)), Expanded(flex: 4, child: Text('Insurer', style: _headerStyle)), Expanded( @@ -800,23 +804,24 @@ class policylistState extends ConsumerState { ), child: Row( children: [ + // Expanded( + // flex: 2, + // child: Text( + // _formatDate(item['updated_on']) ?? '-', + // style: _dataBold, + // softWrap: true, + // maxLines: 3, + // ), + // ), Expanded( flex: 2, - child: Text( - _formatDate(item['updated_on']) ?? '-', - style: _dataBold, - softWrap: true, - maxLines: 3, - ), + child: Text(item['assigned_to_name'] ?? '-', style: _dataBold), ), Expanded( flex: 2, child: Text(item['agent_name'] ?? '-', style: _dataBold), ), - Expanded( - flex: 2, - child: Text(item['assigned_to_name'] ?? '-', style: _dataBold), - ), + Expanded( flex: 4, child: Text( @@ -871,14 +876,14 @@ class policylistState extends ConsumerState { child: Tooltip( message: 'Download', // color: Colors.white, - child: - Row( - mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.end, - children: [ - InkWell( + child: Row( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + InkWell( onTap: () => apiService.downloadFile( - apiUrl: 'api/policy/downloadPolicyFile?policy_id=$policyId&file_type=policy_pdf', + apiUrl: + 'api/policy/downloadPolicyFile?policy_id=$policyId&file_type=policy_pdf', apiId: policyId, localFile: null, fileName: fileName, @@ -887,16 +892,17 @@ class policylistState extends ConsumerState { child: Container( padding: const EdgeInsets.symmetric( horizontal: 5, - vertical: 8, + vertical: 6, ), decoration: BoxDecoration( borderRadius: BorderRadius.circular(5), - color: Color(0xFF425B5B), + // color: Color(0xFF425B5B), + color: const Color(0xFF2E7D6E), // color: Colors.green.shade300, ), child: Row( children: const [ - Icon(Icons.download, size: 13, color: Colors.white), + Icon(Icons.download, size: 12, color: Colors.white), ], ), ), @@ -1097,7 +1103,7 @@ class policylistState extends ConsumerState { } static final _dataBold = GoogleFonts.inter( - fontSize: 14, + fontSize: 11.5, fontWeight: FontWeight.w400, color: Color(0xFF000000), @@ -1109,9 +1115,10 @@ class policylistState extends ConsumerState { color: Color(0xFF585757), ); - static final _headerStyle = GoogleFonts.inter( - color: Colors.black, - fontWeight: FontWeight.bold, + static final _headerStyle = GoogleFonts.poppins( + fontSize: 11.2, + fontWeight: FontWeight.w500, + color: Color(0xFF1E293B), ); static final _cardheaderStyle = GoogleFonts.inter( color: Colors.black, diff --git a/lib/presentation/themes/indicators/export_btn.dart b/lib/presentation/themes/indicators/export_btn.dart index 812681b..ca4762b 100644 --- a/lib/presentation/themes/indicators/export_btn.dart +++ b/lib/presentation/themes/indicators/export_btn.dart @@ -72,7 +72,7 @@ class ExportBtn extends HookWidget { // ); // }, child: Container( - padding: const EdgeInsets.all(8.0), + padding: const EdgeInsets.all(7.0), decoration: BoxDecoration( color: const Color(0xFF2E7D6E), // color: const Color(0xFF425B5B), @@ -94,8 +94,8 @@ class ExportBtn extends HookWidget { // ?txt! ? SizedBox(width: 15) : null, Image.asset( "assets/miscellaneous/export.png", - height: 25, - width: 25, + height: 13, + width: 13, ), // Icon(Icons.input_sharp, color: Colors.white), // Image.asset("assets/miscellaneous/export", height: 15, width: 15), diff --git a/lib/presentation/themes/indicators/month_field_theme.dart b/lib/presentation/themes/indicators/month_field_theme.dart index 79f21be..9460025 100644 --- a/lib/presentation/themes/indicators/month_field_theme.dart +++ b/lib/presentation/themes/indicators/month_field_theme.dart @@ -1,5 +1,6 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:google_fonts/google_fonts.dart'; import 'package:intl/intl.dart'; import 'package:month_picker_dialog/month_picker_dialog.dart'; @@ -11,6 +12,7 @@ class ThemedMonthField extends StatefulWidget { this.txtheight, this.backgroundColor, this.borderColor, + this.highlightColor, this.errorBorderColor, this.onDateSelected, this.controller, @@ -23,6 +25,7 @@ class ThemedMonthField extends StatefulWidget { final Color? backgroundColor; final Color? borderColor; final Color? errorBorderColor; + final Color? highlightColor; final TextEditingController? controller; final Function(DateTime)? onDateSelected; final String? Function(String? value)? validator; // ✅ new @@ -70,15 +73,16 @@ class _ThemedMonthFieldState extends State { onTap: () => pickDate(context, field), borderRadius: BorderRadius.circular(10), child: Container( - padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 15), + padding: const EdgeInsets.symmetric(vertical: 1, horizontal: 15), decoration: BoxDecoration( color: widget.backgroundColor ?? Colors.white, borderRadius: BorderRadius.circular(10), + border: Border.all( color: hasError ? (widget.errorBorderColor ?? Colors.red) : (widget.borderColor ?? Colors.grey.shade50), - width: 1.5, + width: 1, ), ), child: Row( @@ -89,8 +93,8 @@ class _ThemedMonthFieldState extends State { widget.controller?.text.isNotEmpty == true ? widget.controller!.text : widget.hintText ?? "Select Date", - style: TextStyle( - fontSize: 12, + style: GoogleFonts.inter( + fontSize: 11, color: hasError ? Colors.red : Colors.black, ), overflow: TextOverflow.ellipsis, @@ -98,7 +102,7 @@ class _ThemedMonthFieldState extends State { ), const Icon( Icons.calendar_today, - size: 16, + size: 12, color: Colors.black, ), ], diff --git a/lib/presentation/widgets/custom_month_filter.dart b/lib/presentation/widgets/custom_month_filter.dart index 00e8409..d643e01 100644 --- a/lib/presentation/widgets/custom_month_filter.dart +++ b/lib/presentation/widgets/custom_month_filter.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:google_fonts/google_fonts.dart'; import 'package:intl/intl.dart'; import '../themes/indicators/month_field_theme.dart'; @@ -29,7 +30,11 @@ class MonthFilterRow extends StatelessWidget { Tooltip( message: 'Filter', child: IconButton( - icon: const Icon(Icons.filter_alt_outlined), + icon: const Icon( + Icons.filter_alt_outlined, + color: const Color(0xFF94A3B8), + size: 18, + ), onPressed: () { if (formKey.currentState!.validate()) onFilter(); }, @@ -38,7 +43,12 @@ class MonthFilterRow extends StatelessWidget { Tooltip( message: 'Refresh', child: IconButton( - icon: const Icon(Icons.refresh), + splashRadius: 2, + icon: const Icon( + Icons.refresh, + color: const Color(0xFF94A3B8), + size: 18, + ), onPressed: onRefresh, ), ), @@ -58,7 +68,10 @@ class MonthFilterRow extends StatelessWidget { Tooltip( message: 'Filter', child: IconButton( - icon: const Icon(Icons.filter_alt_outlined), + icon: const Icon( + Icons.filter_alt_outlined, + color: Color(0xFFF6F8F8), + ), onPressed: () { if (formKey.currentState!.validate()) onFilter(); }, @@ -67,7 +80,10 @@ class MonthFilterRow extends StatelessWidget { Tooltip( message: 'Refresh', child: IconButton( - icon: const Icon(Icons.refresh), + icon: const Icon( + Icons.refresh, + color: Color(0xFFF6F8F8), + ), onPressed: onRefresh, ), ), @@ -86,7 +102,7 @@ class MonthFilterRow extends StatelessWidget { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - const Text('Month', style: _textStyle), + Text('Month', style: _textStyle), const SizedBox(height: 5), ThemedMonthField( hintText: "Select Month", @@ -106,7 +122,7 @@ class MonthFilterRow extends StatelessWidget { ); } - static const _textStyle = TextStyle( + static final _textStyle = GoogleFonts.poppins( fontSize: 12, fontWeight: FontWeight.w600, ); diff --git a/pubspec.lock b/pubspec.lock index d2a66a8..bbb6d37 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -700,26 +700,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "11.0.2" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" + sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 url: "https://pub.dev" source: hosted - version: "3.0.10" + version: "3.0.9" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.0.1" lints: dependency: transitive description: @@ -1225,10 +1225,10 @@ packages: dependency: transitive description: name: test_api - sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.7.6" + version: "0.7.4" toastification: dependency: "direct main" description: @@ -1345,10 +1345,10 @@ packages: dependency: transitive description: name: vector_math - sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.1.4" vm_service: dependency: transitive description: