diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index b2c12c1..569d5d2 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":"/home/venba/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"device_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/device_info_plus-11.5.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.7/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_auth","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core-4.2.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_messaging","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_messaging-16.0.4/","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.2.1/","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":"pdf_render","path":"/home/venba/.pub-cache/hosted/pub.dev/pdf_render-1.4.12/","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":"syncfusion_flutter_pdfviewer","path":"/home/venba/.pub-cache/hosted/pub.dev/syncfusion_flutter_pdfviewer-31.1.19/","native_build":true,"dependencies":["device_info_plus"],"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":"device_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/device_info_plus-11.5.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.7/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"],"dev_dependency":false},{"name":"firebase_auth","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core-4.2.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_messaging","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_messaging-16.0.4/","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.31/","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.2.1/","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.19/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"pdf_render","path":"/home/venba/.pub-cache/hosted/pub.dev/pdf_render-1.4.12/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_android","path":"/home/venba/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.13/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"syncfusion_flutter_pdfviewer","path":"/home/venba/.pub-cache/hosted/pub.dev/syncfusion_flutter_pdfviewer-31.1.19/","native_build":true,"dependencies":["device_info_plus"],"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":"device_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/device_info_plus-11.5.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.7/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_auth","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core-4.2.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_messaging","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_messaging-16.0.4/","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.2.1/","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":"pdf_render","path":"/home/venba/.pub-cache/hosted/pub.dev/pdf_render-1.4.12/","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":"syncfusion_pdfviewer_macos","path":"/home/venba/.pub-cache/hosted/pub.dev/syncfusion_pdfviewer_macos-31.1.19/","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":"device_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/device_info_plus-11.5.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.7/","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":"syncfusion_pdfviewer_linux","path":"/home/venba/.pub-cache/hosted/pub.dev/syncfusion_pdfviewer_linux-31.1.19/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_linux","path":"/home/venba/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.2/","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":"device_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/device_info_plus-11.5.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.7/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"firebase_auth","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core-4.2.1/","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":"syncfusion_pdfviewer_windows","path":"/home/venba/.pub-cache/hosted/pub.dev/syncfusion_pdfviewer_windows-31.1.19/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_windows","path":"/home/venba/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.5/","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":"device_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/device_info_plus-11.5.0/","dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.7/","dependencies":[],"dev_dependency":false},{"name":"firebase_auth_web","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth_web-6.1.0/","dependencies":["firebase_core_web"],"dev_dependency":false},{"name":"firebase_core_web","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core_web-3.3.0/","dependencies":[],"dev_dependency":false},{"name":"firebase_messaging_web","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_messaging_web-4.1.0/","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.1.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":"pdf_render","path":"/home/venba/.pub-cache/hosted/pub.dev/pdf_render-1.4.12/","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":"syncfusion_pdfviewer_web","path":"/home/venba/.pub-cache/hosted/pub.dev/syncfusion_pdfviewer_web-31.1.19/","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":"device_info_plus","dependencies":[]},{"name":"file_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"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":"pdf_render","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":"syncfusion_flutter_pdfviewer","dependencies":["url_launcher","device_info_plus","syncfusion_pdfviewer_web","syncfusion_pdfviewer_macos","syncfusion_pdfviewer_windows","syncfusion_pdfviewer_linux"]},{"name":"syncfusion_pdfviewer_linux","dependencies":[]},{"name":"syncfusion_pdfviewer_macos","dependencies":[]},{"name":"syncfusion_pdfviewer_web","dependencies":[]},{"name":"syncfusion_pdfviewer_windows","dependencies":[]},{"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-12-12 17:10:15.376603","version":"3.32.1","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":"device_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/device_info_plus-11.5.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.7/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_auth","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core-4.2.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_messaging","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_messaging-16.0.4/","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.2.1/","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":"pdf_render","path":"/home/venba/.pub-cache/hosted/pub.dev/pdf_render-1.4.12/","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":"syncfusion_flutter_pdfviewer","path":"/home/venba/.pub-cache/hosted/pub.dev/syncfusion_flutter_pdfviewer-31.1.19/","native_build":true,"dependencies":["device_info_plus"],"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":"device_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/device_info_plus-11.5.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.7/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"],"dev_dependency":false},{"name":"firebase_auth","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core-4.2.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_messaging","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_messaging-16.0.4/","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.31/","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.2.1/","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.19/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"pdf_render","path":"/home/venba/.pub-cache/hosted/pub.dev/pdf_render-1.4.12/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_android","path":"/home/venba/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.13/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"syncfusion_flutter_pdfviewer","path":"/home/venba/.pub-cache/hosted/pub.dev/syncfusion_flutter_pdfviewer-31.1.19/","native_build":true,"dependencies":["device_info_plus"],"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":"device_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/device_info_plus-11.5.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.7/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_auth","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core-4.2.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"firebase_messaging","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_messaging-16.0.4/","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.2.1/","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":"pdf_render","path":"/home/venba/.pub-cache/hosted/pub.dev/pdf_render-1.4.12/","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":"syncfusion_pdfviewer_macos","path":"/home/venba/.pub-cache/hosted/pub.dev/syncfusion_pdfviewer_macos-31.1.19/","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":"device_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/device_info_plus-11.5.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.7/","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":"syncfusion_pdfviewer_linux","path":"/home/venba/.pub-cache/hosted/pub.dev/syncfusion_pdfviewer_linux-31.1.19/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_linux","path":"/home/venba/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.2/","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":"device_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/device_info_plus-11.5.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.7/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"firebase_auth","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/","native_build":true,"dependencies":["firebase_core"],"dev_dependency":false},{"name":"firebase_core","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core-4.2.1/","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":"syncfusion_pdfviewer_windows","path":"/home/venba/.pub-cache/hosted/pub.dev/syncfusion_pdfviewer_windows-31.1.19/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_windows","path":"/home/venba/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.5/","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":"device_info_plus","path":"/home/venba/.pub-cache/hosted/pub.dev/device_info_plus-11.5.0/","dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/home/venba/.pub-cache/hosted/pub.dev/file_picker-10.3.7/","dependencies":[],"dev_dependency":false},{"name":"firebase_auth_web","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_auth_web-6.1.0/","dependencies":["firebase_core_web"],"dev_dependency":false},{"name":"firebase_core_web","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_core_web-3.3.0/","dependencies":[],"dev_dependency":false},{"name":"firebase_messaging_web","path":"/home/venba/.pub-cache/hosted/pub.dev/firebase_messaging_web-4.1.0/","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.1.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":"pdf_render","path":"/home/venba/.pub-cache/hosted/pub.dev/pdf_render-1.4.12/","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":"syncfusion_pdfviewer_web","path":"/home/venba/.pub-cache/hosted/pub.dev/syncfusion_pdfviewer_web-31.1.19/","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":"device_info_plus","dependencies":[]},{"name":"file_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"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":"pdf_render","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":"syncfusion_flutter_pdfviewer","dependencies":["url_launcher","device_info_plus","syncfusion_pdfviewer_web","syncfusion_pdfviewer_macos","syncfusion_pdfviewer_windows","syncfusion_pdfviewer_linux"]},{"name":"syncfusion_pdfviewer_linux","dependencies":[]},{"name":"syncfusion_pdfviewer_macos","dependencies":[]},{"name":"syncfusion_pdfviewer_web","dependencies":[]},{"name":"syncfusion_pdfviewer_windows","dependencies":[]},{"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-12-12 19:25:06.990144","version":"3.32.1","swift_package_manager_enabled":{"ios":false,"macos":false}} \ No newline at end of file diff --git a/lib/presentation/providers/manager_provider.dart b/lib/presentation/providers/manager_provider.dart index 4bbcda7..7180307 100644 --- a/lib/presentation/providers/manager_provider.dart +++ b/lib/presentation/providers/manager_provider.dart @@ -17,3 +17,4 @@ final dashboardKeyProvider = StateProvider((ref) => null); final dashboardStatusProvider = StateProvider((ref) => null); final dashboardStaffIdProvider = StateProvider((ref) => null); final enquiryRefreshProvider = StateProvider((ref) => false); +final policyDataAcurancyRefreshProvider = StateProvider((ref) => false); diff --git a/lib/presentation/screens/staff/policy/policy_list.dart b/lib/presentation/screens/staff/policy/policy_list.dart index 44f4cce..a47636e 100644 --- a/lib/presentation/screens/staff/policy/policy_list.dart +++ b/lib/presentation/screens/staff/policy/policy_list.dart @@ -47,6 +47,7 @@ class policylistState extends ConsumerState { dynamic choosedPolcyId; PlatformFile? docPDFUploadedFile; String? selectedPDFFileNames; + late ProviderSubscription refreshSub; @override void initState() { @@ -67,6 +68,19 @@ class policylistState extends ConsumerState { if (userId != null) { getStaffList(managerId!, userId, roleId); } + + refreshSub = ref.listenManual(policyDataAcurancyRefreshProvider, ( + previous, + next, + ) { + if (next == true) { + print('refresh triggered Quick Creation'); + + // callRefresh(); + getStaffList(managerId!, userId, roleId); + ref.read(policyDataAcurancyRefreshProvider.notifier).state = false; + } + }); }); } diff --git a/lib/presentation/screens/staff/policy/policy_validation.dart b/lib/presentation/screens/staff/policy/policy_validation.dart index e9dc792..18777db 100644 --- a/lib/presentation/screens/staff/policy/policy_validation.dart +++ b/lib/presentation/screens/staff/policy/policy_validation.dart @@ -73,7 +73,6 @@ class _policyValidationState extends ConsumerState { String? pdfUrl; // full file path from API - // --- Controllers (all editable fields) late TextEditingController policyNumberController; late TextEditingController insuredNameController; @@ -174,7 +173,8 @@ class _policyValidationState extends ConsumerState { rtoCityCodeController.text = item['rto_city_code']?.toString() ?? ''; weightController.text = item['weight']?.toString() ?? ''; fuelTypeController.text = item['fuel_type']?.toString() ?? ''; - registrationDateController.text = item['date_of_registration']?.toString() ?? ''; + registrationDateController.text = + item['date_of_registration']?.toString() ?? ''; yomController.text = item['year_of_manufacture']?.toString() ?? ''; engineNoController.text = item['engine_no']?.toString() ?? ''; @@ -185,7 +185,8 @@ class _policyValidationState extends ConsumerState { vehicleTypeController.text = item['vehicle_type']?.toString() ?? ''; brokerNameController.text = item['broker_name']?.toString() ?? ''; - commissionAmountController.text = item['commission_amount']?.toString() ?? ''; + commissionAmountController.text = + item['commission_amount']?.toString() ?? ''; // read providers + call APIs Future.microtask(() { @@ -265,19 +266,22 @@ class _policyValidationState extends ConsumerState { setState(() => isLoading = true); try { - final url = Uri.parse('${Env - .apiUrl}policy/PolicyFilePath?policy_id=$policyId&file_type=policy_pdf'); + final url = Uri.parse( + '${Env.apiUrl}policy/PolicyFilePath?policy_id=$policyId&file_type=policy_pdf', + ); - setState(() { - pdfUrl = "$url"; - }); + setState(() { + pdfUrl = "$url"; + }); - final response = await apiService.policyFilePathApi(policyId, 'policy_pdf'); + final response = await apiService.policyFilePathApi( + policyId, + 'policy_pdf', + ); debugPrint('policyFilePathApi response: $response'); if (response != null && response['status'] == 'success') { - // final filePath = response['data']?.toString(); // // // The API returns a server absolute path like: @@ -299,7 +303,9 @@ class _policyValidationState extends ConsumerState { // debugPrint("FINAL PDF URL -> $pdfUrl"); // } } else { - debugPrint('policyFilePathApi returned error: ${response?['message'] ?? 'unknown'}'); + debugPrint( + 'policyFilePathApi returned error: ${response?['message'] ?? 'unknown'}', + ); } } catch (e, st) { debugPrint('Exception in getPolicyFilePath: $e\n$st'); @@ -329,15 +335,23 @@ class _policyValidationState extends ConsumerState { if (!mounted) return; setState(() { // update controllers (overwrite with authoritative API values) - policyNumberController.text = data['policy_number']?.toString() ?? policyNumberController.text; - insuredNameController.text = data['insured_name']?.toString() ?? insuredNameController.text; - premiumController.text = data['premium_amount']?.toString() ?? premiumController.text; - remarksController.text = data['remarks']?.toString() ?? remarksController.text; + policyNumberController.text = + data['policy_number']?.toString() ?? policyNumberController.text; + insuredNameController.text = + data['insured_name']?.toString() ?? insuredNameController.text; + premiumController.text = + data['premium_amount']?.toString() ?? premiumController.text; + remarksController.text = + data['remarks']?.toString() ?? remarksController.text; - rcNoController.text = data['rc_no']?.toString() ?? rcNoController.text; - issuedDateController.text = data['issued_date']?.toString() ?? issuedDateController.text; - startDateController.text = data['start_date']?.toString() ?? startDateController.text; - endDateController.text = data['end_date']?.toString() ?? endDateController.text; + rcNoController.text = + data['rc_no']?.toString() ?? rcNoController.text; + issuedDateController.text = + data['issued_date']?.toString() ?? issuedDateController.text; + startDateController.text = + data['start_date']?.toString() ?? startDateController.text; + endDateController.text = + data['end_date']?.toString() ?? endDateController.text; tpController.text = data['tp']?.toString() ?? tpController.text; odController.text = data['od']?.toString() ?? odController.text; @@ -346,25 +360,43 @@ class _policyValidationState extends ConsumerState { sgstController.text = data['sgst']?.toString() ?? sgstController.text; igstController.text = data['igst']?.toString() ?? igstController.text; - rtoStateCodeController.text = data['rto_state_code']?.toString() ?? rtoStateCodeController.text; - rtoCityCodeController.text = data['rto_city_code']?.toString() ?? rtoCityCodeController.text; - weightController.text = data['weight']?.toString() ?? weightController.text; - fuelTypeController.text = data['fuel_type']?.toString() ?? fuelTypeController.text; - registrationDateController.text = data['date_of_registration']?.toString() ?? registrationDateController.text; - yomController.text = data['year_of_manufacture']?.toString() ?? yomController.text; + rtoStateCodeController.text = + data['rto_state_code']?.toString() ?? rtoStateCodeController.text; + rtoCityCodeController.text = + data['rto_city_code']?.toString() ?? rtoCityCodeController.text; + weightController.text = + data['weight']?.toString() ?? weightController.text; + fuelTypeController.text = + data['fuel_type']?.toString() ?? fuelTypeController.text; + registrationDateController.text = + data['date_of_registration']?.toString() ?? + registrationDateController.text; + yomController.text = + data['year_of_manufacture']?.toString() ?? yomController.text; - engineNoController.text = data['engine_no']?.toString() ?? engineNoController.text; - chassisNoController.text = data['chassis_no']?.toString() ?? chassisNoController.text; + engineNoController.text = + data['engine_no']?.toString() ?? engineNoController.text; + chassisNoController.text = + data['chassis_no']?.toString() ?? chassisNoController.text; makeController.text = data['make']?.toString() ?? makeController.text; - modelController.text = data['model']?.toString() ?? modelController.text; - cubicCapacityController.text = data['cubic_capacity']?.toString() ?? cubicCapacityController.text; - vehicleTypeController.text = data['vehicle_type']?.toString() ?? vehicleTypeController.text; + modelController.text = + data['model']?.toString() ?? modelController.text; + cubicCapacityController.text = + data['cubic_capacity']?.toString() ?? + cubicCapacityController.text; + vehicleTypeController.text = + data['vehicle_type']?.toString() ?? vehicleTypeController.text; - brokerNameController.text = data['broker_name']?.toString() ?? brokerNameController.text; - commissionAmountController.text = data['commission_amount']?.toString() ?? commissionAmountController.text; + brokerNameController.text = + data['broker_name']?.toString() ?? brokerNameController.text; + commissionAmountController.text = + data['commission_amount']?.toString() ?? + commissionAmountController.text; }); } else { - debugPrint('findPolicyApi returned error: ${response?['message'] ?? 'unknown'}'); + debugPrint( + 'findPolicyApi returned error: ${response?['message'] ?? 'unknown'}', + ); } } catch (e, st) { debugPrint('Exception in getFindPolicy: $e\n$st'); @@ -374,7 +406,10 @@ class _policyValidationState extends ConsumerState { } } - Future _pickDate(TextEditingController controller, BuildContext context) async { + Future _pickDate( + TextEditingController controller, + BuildContext context, + ) async { DateTime initial = DateTime.now(); try { if (controller.text.isNotEmpty) { @@ -395,7 +430,8 @@ class _policyValidationState extends ConsumerState { lastDate: DateTime(2100), ); if (picked != null) { - controller.text = "${picked.day.toString().padLeft(2,'0')}-${picked.month.toString().padLeft(2,'0')}-${picked.year}"; + controller.text = + "${picked.day.toString().padLeft(2, '0')}-${picked.month.toString().padLeft(2, '0')}-${picked.year}"; } } @@ -421,21 +457,43 @@ class _policyValidationState extends ConsumerState { "cgst": cgstController.text.isEmpty ? null : cgstController.text, "sgst": sgstController.text.isEmpty ? null : sgstController.text, "igst": igstController.text.isEmpty ? null : igstController.text, - "rto_state_code": rtoStateCodeController.text.isEmpty ? null : rtoStateCodeController.text, - "rto_city_code": rtoCityCodeController.text.isEmpty ? null : rtoCityCodeController.text, + "rto_state_code": rtoStateCodeController.text.isEmpty + ? null + : rtoStateCodeController.text, + "rto_city_code": rtoCityCodeController.text.isEmpty + ? null + : rtoCityCodeController.text, "weight": weightController.text.isEmpty ? null : weightController.text, - "fuel_type": fuelTypeController.text.isEmpty ? null : fuelTypeController.text, - "date_of_registration": registrationDateController.text.isEmpty ? null : registrationDateController.text, - "year_of_manufacture": yomController.text.isEmpty ? null : yomController.text, - "engine_no": engineNoController.text.isEmpty ? null : engineNoController.text, - "chassis_no": chassisNoController.text.isEmpty ? null : chassisNoController.text, + "fuel_type": fuelTypeController.text.isEmpty + ? null + : fuelTypeController.text, + "date_of_registration": registrationDateController.text.isEmpty + ? null + : registrationDateController.text, + "year_of_manufacture": yomController.text.isEmpty + ? null + : yomController.text, + "engine_no": engineNoController.text.isEmpty + ? null + : engineNoController.text, + "chassis_no": chassisNoController.text.isEmpty + ? null + : chassisNoController.text, "make": makeController.text.isEmpty ? null : makeController.text, "model": modelController.text.isEmpty ? null : modelController.text, - "cubic_capacity": cubicCapacityController.text.isEmpty ? null : cubicCapacityController.text, - "vehicle_type": vehicleTypeController.text.isEmpty ? null : vehicleTypeController.text, - "broker_name": brokerNameController.text.isEmpty ? null : brokerNameController.text, - "commission_amount": commissionAmountController.text.isEmpty ? null : commissionAmountController.text, - "updated_by": userId + "cubic_capacity": cubicCapacityController.text.isEmpty + ? null + : cubicCapacityController.text, + "vehicle_type": vehicleTypeController.text.isEmpty + ? null + : vehicleTypeController.text, + "broker_name": brokerNameController.text.isEmpty + ? null + : brokerNameController.text, + "commission_amount": commissionAmountController.text.isEmpty + ? null + : commissionAmountController.text, + "updated_by": userId, }; if (!mounted) return; @@ -451,10 +509,20 @@ class _policyValidationState extends ConsumerState { setState(() => isLoading = false); context.pop(); ToastHelper.showSuccessToast(context, "Policy updated successfully"); + + WidgetsBinding.instance.addPostFrameCallback((_) { + // Now safe to do navigation + provider updates + final container = ProviderScope.containerOf(context); + container.read(policyDataAcurancyRefreshProvider.notifier).state = + true; + }); } else { if (!mounted) return; setState(() => isLoading = false); - ToastHelper.showErrorToast(context, result?['message']?.toString() ?? 'Error updating policy'); + ToastHelper.showErrorToast( + context, + result?['message']?.toString() ?? 'Error updating policy', + ); } } catch (e, st) { debugPrint('Exception in updatePolicy: $e\n$st'); @@ -491,9 +559,13 @@ class _policyValidationState extends ConsumerState { ); } - - - Widget _buildInput(String label, TextEditingController controller, {TextInputType keyboardType = TextInputType.text, bool readOnly = false, VoidCallback? onTap}) { + Widget _buildInput( + String label, + TextEditingController controller, { + TextInputType keyboardType = TextInputType.text, + bool readOnly = false, + VoidCallback? onTap, + }) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -526,16 +598,18 @@ class _policyValidationState extends ConsumerState { padding: const EdgeInsets.all(16), color: const Color(0xFFF7FBFA), child: Row( - mainAxisAlignment: MainAxisAlignment.end, // 👉 move button to right + mainAxisAlignment: MainAxisAlignment.end, // 👉 move button to right children: [ ElevatedButton( - onPressed: widget.item?['is_data_accuracy_checked'] == '1' ? null : _save, + onPressed: widget.item?['is_data_accuracy_checked'] == '1' + ? null + : _save, style: ElevatedButton.styleFrom( backgroundColor: const Color(0xFF2E7D6E), foregroundColor: Colors.white, padding: const EdgeInsets.symmetric( vertical: 10, - horizontal: 20, // 👉 smaller width + horizontal: 20, // 👉 smaller width ), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(8), @@ -543,10 +617,7 @@ class _policyValidationState extends ConsumerState { ), child: const Text( 'Confirm Data Accuracy', - style: TextStyle( - fontSize: 14, - fontWeight: FontWeight.w600, - ), + style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600), ), ), ], @@ -566,11 +637,30 @@ class _policyValidationState extends ConsumerState { padding: const EdgeInsets.symmetric(horizontal: 12), child: Row( children: [ - IconButton(icon: const Icon(Icons.file_open), onPressed: () => context.pop()), - const Expanded(child: Text('Insurance Policy Review', style: TextStyle(fontSize: 18, fontWeight: FontWeight.w600))), - if (isLoading) const SizedBox(width: 12, height: 12, child: CircularProgressIndicator(strokeWidth: 2)), + IconButton( + icon: const Icon(Icons.file_open), + onPressed: () => context.pop(), + ), + const Expanded( + child: Text( + 'Insurance Policy Review', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.w600, + ), + ), + ), + if (isLoading) + const SizedBox( + width: 12, + height: 12, + child: CircularProgressIndicator(strokeWidth: 2), + ), const SizedBox(width: 8), - IconButton(icon: const Icon(Icons.close), onPressed: () => context.pop()), + IconButton( + icon: const Icon(Icons.close), + onPressed: () => context.pop(), + ), ], ), ), @@ -597,7 +687,10 @@ class _policyValidationState extends ConsumerState { children: [ const Text( 'Orginal Policy Document', - style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600), + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + ), ), const SizedBox(height: 8), @@ -606,32 +699,34 @@ class _policyValidationState extends ConsumerState { future: loadNetworkPdfBytes(pdfUrl!), builder: (context, snapshot) { if (!snapshot.hasData) { - return const Center(child: CircularProgressIndicator()); + return const Center( + child: CircularProgressIndicator(), + ); } final pdfBytes = snapshot.data!; return PdfDocumentLoader.openData( pdfBytes, - documentBuilder: (context, pdfDocument, pageCount) { - return ListView.builder( - itemCount: pageCount, - itemBuilder: (context, index) { - return Container( - color: Colors.black12, - child: PdfPageView( - pdfDocument: pdfDocument, - pageNumber: index + 1, - ), + documentBuilder: + (context, pdfDocument, pageCount) { + return ListView.builder( + itemCount: pageCount, + itemBuilder: (context, index) { + return Container( + color: Colors.black12, + child: PdfPageView( + pdfDocument: pdfDocument, + pageNumber: index + 1, + ), + ); + }, ); }, - ); - }, ); }, ), - ) - + ), // Expanded( // child: PdfDocumentLoader.openAsset( @@ -672,40 +767,97 @@ class _policyValidationState extends ConsumerState { child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ - // Policy Details Card( elevation: 5, color: Colors.white, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), child: Padding( padding: const EdgeInsets.all(12.0), child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, + crossAxisAlignment: + CrossAxisAlignment.stretch, children: [ - _sectionHeader('Policy Details', icon: Icons.policy), + _sectionHeader( + 'Policy Details', + icon: Icons.policy, + ), SizedBox(height: 10), Row( children: [ - Expanded(child: _buildInput('Policy Number', policyNumberController)), + Expanded( + child: _buildInput( + 'Policy Number', + policyNumberController, + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('Insured Name', insuredNameController)), + Expanded( + child: _buildInput( + 'Insured Name', + insuredNameController, + ), + ), ], ), Row( children: [ - Expanded(child: _buildInput('Issued Date', issuedDateController, readOnly: true, onTap: () => _pickDate(issuedDateController, context))), + Expanded( + child: _buildInput( + 'Issued Date', + issuedDateController, + readOnly: true, + onTap: () => _pickDate( + issuedDateController, + context, + ), + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('Start Date', startDateController, readOnly: true, onTap: () => _pickDate(startDateController, context))), + Expanded( + child: _buildInput( + 'Start Date', + startDateController, + readOnly: true, + onTap: () => _pickDate( + startDateController, + context, + ), + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('End Date', endDateController, readOnly: true, onTap: () => _pickDate(endDateController, context)),) + Expanded( + child: _buildInput( + 'End Date', + endDateController, + readOnly: true, + onTap: () => _pickDate( + endDateController, + context, + ), + ), + ), ], ), Row( children: [ - Expanded(child: _buildInput('Premium Amount', premiumController, keyboardType: TextInputType.number)), + Expanded( + child: _buildInput( + 'Premium Amount', + premiumController, + keyboardType: + TextInputType.number, + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('Remarks', remarksController)), + Expanded( + child: _buildInput( + 'Remarks', + remarksController, + ), + ), ], ), ], @@ -719,31 +871,78 @@ class _policyValidationState extends ConsumerState { Card( elevation: 5, color: Colors.white, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), child: Padding( padding: const EdgeInsets.all(12.0), child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, + crossAxisAlignment: + CrossAxisAlignment.stretch, children: [ - _sectionHeader('Tax / Cover Details', icon: Icons.attach_money), + _sectionHeader( + 'Tax / Cover Details', + icon: Icons.attach_money, + ), SizedBox(height: 10), Row( children: [ - Expanded(child: _buildInput('TP', tpController, keyboardType: TextInputType.number)), + Expanded( + child: _buildInput( + 'TP', + tpController, + keyboardType: + TextInputType.number, + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('OD', odController, keyboardType: TextInputType.number)), + Expanded( + child: _buildInput( + 'OD', + odController, + keyboardType: + TextInputType.number, + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('PA', paController, keyboardType: TextInputType.number)), + Expanded( + child: _buildInput( + 'PA', + paController, + keyboardType: + TextInputType.number, + ), + ), ], ), Row( children: [ - Expanded(child: _buildInput('CGST', cgstController, keyboardType: TextInputType.number)), + Expanded( + child: _buildInput( + 'CGST', + cgstController, + keyboardType: + TextInputType.number, + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('SGST', sgstController, keyboardType: TextInputType.number)), + Expanded( + child: _buildInput( + 'SGST', + sgstController, + keyboardType: + TextInputType.number, + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('IGST', igstController, keyboardType: TextInputType.number)), - + Expanded( + child: _buildInput( + 'IGST', + igstController, + keyboardType: + TextInputType.number, + ), + ), ], ), ], @@ -757,48 +956,127 @@ class _policyValidationState extends ConsumerState { Card( elevation: 5, color: Colors.white, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), child: Padding( padding: const EdgeInsets.all(12.0), child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, + crossAxisAlignment: + CrossAxisAlignment.stretch, children: [ - _sectionHeader('Vehicle Details', icon: Icons.directions_car), + _sectionHeader( + 'Vehicle Details', + icon: Icons.directions_car, + ), SizedBox(height: 10), Row( children: [ - Expanded(child: _buildInput('RTO State Name', rtoStateCodeController)), + Expanded( + child: _buildInput( + 'RTO State Name', + rtoStateCodeController, + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('RTO City Code', rtoCityCodeController)), + Expanded( + child: _buildInput( + 'RTO City Code', + rtoCityCodeController, + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('Weight', weightController, keyboardType: TextInputType.number)), + Expanded( + child: _buildInput( + 'Weight', + weightController, + keyboardType: + TextInputType.number, + ), + ), ], ), Row( children: [ - Expanded(child: _buildInput('Fuel Type', fuelTypeController)), + Expanded( + child: _buildInput( + 'Fuel Type', + fuelTypeController, + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('Date of Registration', registrationDateController, readOnly: true, onTap: () => _pickDate(registrationDateController, context))), + Expanded( + child: _buildInput( + 'Date of Registration', + registrationDateController, + readOnly: true, + onTap: () => _pickDate( + registrationDateController, + context, + ), + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('Year of Manufacture', yomController, keyboardType: TextInputType.number)), + Expanded( + child: _buildInput( + 'Year of Manufacture', + yomController, + keyboardType: + TextInputType.number, + ), + ), ], ), Row( children: [ - Expanded(child: _buildInput('Engine No', engineNoController)), + Expanded( + child: _buildInput( + 'Engine No', + engineNoController, + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('Chassis No', chassisNoController)), + Expanded( + child: _buildInput( + 'Chassis No', + chassisNoController, + ), + ), const SizedBox(width: 8), - Expanded(child: Expanded(child: _buildInput('Make', makeController))), + Expanded( + child: Expanded( + child: _buildInput( + 'Make', + makeController, + ), + ), + ), ], ), Row( children: [ - Expanded(child: _buildInput('Model', modelController)), + Expanded( + child: _buildInput( + 'Model', + modelController, + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('Cubic Capacity', cubicCapacityController, keyboardType: TextInputType.number)), + Expanded( + child: _buildInput( + 'Cubic Capacity', + cubicCapacityController, + keyboardType: + TextInputType.number, + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('Vehicle Type', vehicleTypeController)), + Expanded( + child: _buildInput( + 'Vehicle Type', + vehicleTypeController, + ), + ), ], ), ], @@ -812,19 +1090,37 @@ class _policyValidationState extends ConsumerState { Card( elevation: 5, color: Colors.white, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), child: Padding( padding: const EdgeInsets.all(12.0), child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, + crossAxisAlignment: + CrossAxisAlignment.stretch, children: [ - _sectionHeader('Broker / Commission', icon: Icons.person), + _sectionHeader( + 'Broker / Commission', + icon: Icons.person, + ), SizedBox(height: 10), Row( children: [ - Expanded(child: _buildInput('Broker Name', brokerNameController)), + Expanded( + child: _buildInput( + 'Broker Name', + brokerNameController, + ), + ), const SizedBox(width: 8), - Expanded(child: _buildInput('Commission Amount', commissionAmountController, keyboardType: TextInputType.number)), + Expanded( + child: _buildInput( + 'Commission Amount', + commissionAmountController, + keyboardType: + TextInputType.number, + ), + ), ], ), ], @@ -832,13 +1128,15 @@ class _policyValidationState extends ConsumerState { ), ), - const SizedBox(height: 20),// spacing above fixed button + const SizedBox( + height: 20, + ), // spacing above fixed button ], ), ), ), ), - ) + ), ], ), ),