diff --git a/.dart_tool/dartpad/web_plugin_registrant.dart b/.dart_tool/dartpad/web_plugin_registrant.dart new file mode 100644 index 0000000..e6c8d79 --- /dev/null +++ b/.dart_tool/dartpad/web_plugin_registrant.dart @@ -0,0 +1,20 @@ +// Flutter web plugin registrant file. +// +// Generated file. Do not edit. +// + +// @dart = 2.13 +// ignore_for_file: type=lint + +import 'package:connectivity_plus/src/connectivity_plus_web.dart'; +import 'package:flutter_secure_storage_web/flutter_secure_storage_web.dart'; +import 'package:shared_preferences_web/shared_preferences_web.dart'; +import 'package:flutter_web_plugins/flutter_web_plugins.dart'; + +void registerPlugins([final Registrar? pluginRegistrar]) { + final Registrar registrar = pluginRegistrar ?? webPluginRegistrar; + ConnectivityPlusWebPlugin.registerWith(registrar); + FlutterSecureStorageWeb.registerWith(registrar); + SharedPreferencesPlugin.registerWith(registrar); + registrar.registerMessageHandler(); +} diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json new file mode 100644 index 0000000..52e3954 --- /dev/null +++ b/.dart_tool/package_config.json @@ -0,0 +1,700 @@ +{ + "configVersion": 2, + "packages": [ + { + "name": "_fe_analyzer_shared", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-85.0.0", + "packageUri": "lib/", + "languageVersion": "3.5" + }, + { + "name": "analyzer", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/analyzer-7.7.1", + "packageUri": "lib/", + "languageVersion": "3.5" + }, + { + "name": "args", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/args-2.7.0", + "packageUri": "lib/", + "languageVersion": "3.3" + }, + { + "name": "async", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/async-2.13.0", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "boolean_selector", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/boolean_selector-2.1.2", + "packageUri": "lib/", + "languageVersion": "3.1" + }, + { + "name": "build", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/build-3.0.0", + "packageUri": "lib/", + "languageVersion": "3.7" + }, + { + "name": "build_config", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_config-1.1.2", + "packageUri": "lib/", + "languageVersion": "3.6" + }, + { + "name": "build_daemon", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_daemon-4.0.4", + "packageUri": "lib/", + "languageVersion": "3.6" + }, + { + "name": "build_resolvers", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_resolvers-3.0.0", + "packageUri": "lib/", + "languageVersion": "3.7" + }, + { + "name": "build_runner", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_runner-2.6.0", + "packageUri": "lib/", + "languageVersion": "3.7" + }, + { + "name": "build_runner_core", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_runner_core-9.2.0", + "packageUri": "lib/", + "languageVersion": "3.7" + }, + { + "name": "built_collection", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/built_collection-5.1.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "built_value", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/built_value-8.11.1", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "characters", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/characters-1.4.0", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "checked_yaml", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/checked_yaml-2.0.4", + "packageUri": "lib/", + "languageVersion": "3.8" + }, + { + "name": "clock", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/clock-1.1.2", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "code_builder", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/code_builder-4.10.1", + "packageUri": "lib/", + "languageVersion": "3.5" + }, + { + "name": "collection", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/collection-1.19.1", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "connectivity_plus", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5", + "packageUri": "lib/", + "languageVersion": "3.2" + }, + { + "name": "connectivity_plus_platform_interface", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "convert", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/convert-3.1.2", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "crypto", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/crypto-3.0.6", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "cupertino_icons", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8", + "packageUri": "lib/", + "languageVersion": "3.1" + }, + { + "name": "dart_style", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/dart_style-3.1.1", + "packageUri": "lib/", + "languageVersion": "3.7" + }, + { + "name": "dbus", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/dbus-0.7.11", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "equatable", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/equatable-2.0.7", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "fake_async", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/fake_async-1.3.3", + "packageUri": "lib/", + "languageVersion": "3.3" + }, + { + "name": "ffi", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/ffi-2.1.4", + "packageUri": "lib/", + "languageVersion": "3.7" + }, + { + "name": "file", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/file-7.0.1", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "fixnum", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/fixnum-1.1.1", + "packageUri": "lib/", + "languageVersion": "3.1" + }, + { + "name": "flutter", + "rootUri": "file:///Users/venbateam/Documents/flutter/packages/flutter", + "packageUri": "lib/", + "languageVersion": "3.7" + }, + { + "name": "flutter_hooks", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_hooks-0.21.3+1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "flutter_lints", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_lints-5.0.0", + "packageUri": "lib/", + "languageVersion": "3.5" + }, + { + "name": "flutter_riverpod", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_riverpod-2.6.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "flutter_secure_storage", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_secure_storage_linux", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_linux-1.2.3", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_secure_storage_macos", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_macos-3.1.3", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_secure_storage_platform_interface", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_platform_interface-1.1.2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_secure_storage_web", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_web-1.2.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_secure_storage_windows", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_windows-3.1.2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_test", + "rootUri": "file:///Users/venbateam/Documents/flutter/packages/flutter_test", + "packageUri": "lib/", + "languageVersion": "3.7" + }, + { + "name": "flutter_web_plugins", + "rootUri": "file:///Users/venbateam/Documents/flutter/packages/flutter_web_plugins", + "packageUri": "lib/", + "languageVersion": "3.7" + }, + { + "name": "frontend_server_client", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/frontend_server_client-4.0.0", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "get_it", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/get_it-8.2.0", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "glob", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/glob-2.1.3", + "packageUri": "lib/", + "languageVersion": "3.3" + }, + { + "name": "go_router", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/go_router-16.1.0", + "packageUri": "lib/", + "languageVersion": "3.6" + }, + { + "name": "google_fonts", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/google_fonts-6.3.1", + "packageUri": "lib/", + "languageVersion": "3.7" + }, + { + "name": "graphs", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/graphs-2.3.2", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "http", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/http-1.5.0", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "http_multi_server", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/http_multi_server-3.2.2", + "packageUri": "lib/", + "languageVersion": "3.2" + }, + { + "name": "http_parser", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/http_parser-4.1.2", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "intl", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/intl-0.20.2", + "packageUri": "lib/", + "languageVersion": "3.3" + }, + { + "name": "io", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/io-1.0.5", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "js", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/js-0.6.7", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "json_annotation", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/json_annotation-4.9.0", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "json_serializable", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/json_serializable-6.10.0", + "packageUri": "lib/", + "languageVersion": "3.8" + }, + { + "name": "leak_tracker", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker-10.0.9", + "packageUri": "lib/", + "languageVersion": "3.2" + }, + { + "name": "leak_tracker_flutter_testing", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.9", + "packageUri": "lib/", + "languageVersion": "3.2" + }, + { + "name": "leak_tracker_testing", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1", + "packageUri": "lib/", + "languageVersion": "3.2" + }, + { + "name": "lints", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/lints-5.1.1", + "packageUri": "lib/", + "languageVersion": "3.6" + }, + { + "name": "logging", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/logging-1.3.0", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "matcher", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/matcher-0.12.17", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "material_color_utilities", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "meta", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/meta-1.16.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "mime", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/mime-2.0.0", + "packageUri": "lib/", + "languageVersion": "3.2" + }, + { + "name": "nm", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/nm-0.5.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "package_config", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/package_config-2.2.0", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "path", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/path-1.9.1", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "path_provider", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider-2.1.5", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "path_provider_android", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_android-2.2.17", + "packageUri": "lib/", + "languageVersion": "3.6" + }, + { + "name": "path_provider_foundation", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1", + "packageUri": "lib/", + "languageVersion": "3.3" + }, + { + "name": "path_provider_linux", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "path_provider_platform_interface", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "path_provider_windows", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0", + "packageUri": "lib/", + "languageVersion": "3.2" + }, + { + "name": "petitparser", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/petitparser-6.1.0", + "packageUri": "lib/", + "languageVersion": "3.5" + }, + { + "name": "platform", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/platform-3.1.6", + "packageUri": "lib/", + "languageVersion": "3.2" + }, + { + "name": "plugin_platform_interface", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "pool", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/pool-1.5.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "pub_semver", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/pub_semver-2.2.0", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "pubspec_parse", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/pubspec_parse-1.5.0", + "packageUri": "lib/", + "languageVersion": "3.6" + }, + { + "name": "responsive_framework", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/responsive_framework-1.5.1", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "riverpod", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/riverpod-2.6.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "shared_preferences", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences-2.5.3", + "packageUri": "lib/", + "languageVersion": "3.5" + }, + { + "name": "shared_preferences_android", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.11", + "packageUri": "lib/", + "languageVersion": "3.6" + }, + { + "name": "shared_preferences_foundation", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "shared_preferences_linux", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1", + "packageUri": "lib/", + "languageVersion": "3.3" + }, + { + "name": "shared_preferences_platform_interface", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_platform_interface-2.4.1", + "packageUri": "lib/", + "languageVersion": "3.2" + }, + { + "name": "shared_preferences_web", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.3", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "shared_preferences_windows", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1", + "packageUri": "lib/", + "languageVersion": "3.3" + }, + { + "name": "shelf", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/shelf-1.4.2", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "shelf_web_socket", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/shelf_web_socket-3.0.0", + "packageUri": "lib/", + "languageVersion": "3.5" + }, + { + "name": "sky_engine", + "rootUri": "file:///Users/venbateam/Documents/flutter/bin/cache/pkg/sky_engine", + "packageUri": "lib/", + "languageVersion": "3.7" + }, + { + "name": "source_gen", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/source_gen-3.1.0", + "packageUri": "lib/", + "languageVersion": "3.7" + }, + { + "name": "source_helper", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/source_helper-1.3.7", + "packageUri": "lib/", + "languageVersion": "3.6" + }, + { + "name": "source_span", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/source_span-1.10.1", + "packageUri": "lib/", + "languageVersion": "3.1" + }, + { + "name": "stack_trace", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/stack_trace-1.12.1", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "state_notifier", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/state_notifier-1.0.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "stream_channel", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/stream_channel-2.1.4", + "packageUri": "lib/", + "languageVersion": "3.3" + }, + { + "name": "stream_transform", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/stream_transform-2.1.1", + "packageUri": "lib/", + "languageVersion": "3.1" + }, + { + "name": "string_scanner", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/string_scanner-1.4.1", + "packageUri": "lib/", + "languageVersion": "3.1" + }, + { + "name": "term_glyph", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/term_glyph-1.2.2", + "packageUri": "lib/", + "languageVersion": "3.1" + }, + { + "name": "test_api", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/test_api-0.7.4", + "packageUri": "lib/", + "languageVersion": "3.5" + }, + { + "name": "timing", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/timing-1.0.2", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "typed_data", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/typed_data-1.4.0", + "packageUri": "lib/", + "languageVersion": "3.5" + }, + { + "name": "vector_math", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/vector_math-2.1.4", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "vm_service", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/vm_service-15.0.0", + "packageUri": "lib/", + "languageVersion": "3.3" + }, + { + "name": "watcher", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/watcher-1.1.2", + "packageUri": "lib/", + "languageVersion": "3.1" + }, + { + "name": "web", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/web-1.1.1", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "web_socket", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/web_socket-1.0.1", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "web_socket_channel", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/web_socket_channel-3.0.3", + "packageUri": "lib/", + "languageVersion": "3.3" + }, + { + "name": "win32", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/win32-5.14.0", + "packageUri": "lib/", + "languageVersion": "3.8" + }, + { + "name": "xdg_directories", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0", + "packageUri": "lib/", + "languageVersion": "3.3" + }, + { + "name": "xml", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/xml-6.5.0", + "packageUri": "lib/", + "languageVersion": "3.2" + }, + { + "name": "yaml", + "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/yaml-3.1.3", + "packageUri": "lib/", + "languageVersion": "3.4" + }, + { + "name": "nhance_partner", + "rootUri": "../", + "packageUri": "lib/", + "languageVersion": "3.8" + } + ], + "generator": "pub", + "generatorVersion": "3.8.1", + "flutterRoot": "file:///Users/venbateam/Documents/flutter", + "flutterVersion": "3.32.8", + "pubCache": "file:///Users/venbateam/.pub-cache" +} diff --git a/.dart_tool/package_config_subset b/.dart_tool/package_config_subset new file mode 100644 index 0000000..ab87285 --- /dev/null +++ b/.dart_tool/package_config_subset @@ -0,0 +1,461 @@ +_fe_analyzer_shared +3.5 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-85.0.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-85.0.0/lib/ +analyzer +3.5 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/analyzer-7.7.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/analyzer-7.7.1/lib/ +args +3.3 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/args-2.7.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/args-2.7.0/lib/ +async +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/async-2.13.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/async-2.13.0/lib/ +boolean_selector +3.1 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/boolean_selector-2.1.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/boolean_selector-2.1.2/lib/ +build +3.7 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/build-3.0.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/build-3.0.0/lib/ +build_config +3.6 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_config-1.1.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_config-1.1.2/lib/ +build_daemon +3.6 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_daemon-4.0.4/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_daemon-4.0.4/lib/ +build_resolvers +3.7 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_resolvers-3.0.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_resolvers-3.0.0/lib/ +build_runner +3.7 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_runner-2.6.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_runner-2.6.0/lib/ +build_runner_core +3.7 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_runner_core-9.2.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/build_runner_core-9.2.0/lib/ +built_collection +2.12 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/built_collection-5.1.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/built_collection-5.1.1/lib/ +built_value +3.0 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/built_value-8.11.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/built_value-8.11.1/lib/ +characters +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/characters-1.4.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/characters-1.4.0/lib/ +checked_yaml +3.8 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/checked_yaml-2.0.4/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/checked_yaml-2.0.4/lib/ +clock +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/clock-1.1.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/clock-1.1.2/lib/ +code_builder +3.5 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/code_builder-4.10.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/code_builder-4.10.1/lib/ +collection +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/collection-1.19.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/collection-1.19.1/lib/ +connectivity_plus +3.2 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/lib/ +connectivity_plus_platform_interface +2.18 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1/lib/ +convert +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/convert-3.1.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/convert-3.1.2/lib/ +crypto +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/crypto-3.0.6/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/crypto-3.0.6/lib/ +cupertino_icons +3.1 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8/lib/ +dart_style +3.7 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/dart_style-3.1.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/dart_style-3.1.1/lib/ +dbus +2.17 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/dbus-0.7.11/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/dbus-0.7.11/lib/ +equatable +2.12 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/equatable-2.0.7/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/equatable-2.0.7/lib/ +fake_async +3.3 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/fake_async-1.3.3/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/fake_async-1.3.3/lib/ +ffi +3.7 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/ffi-2.1.4/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/ffi-2.1.4/lib/ +file +3.0 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/file-7.0.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/file-7.0.1/lib/ +fixnum +3.1 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/fixnum-1.1.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/fixnum-1.1.1/lib/ +flutter_hooks +2.17 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_hooks-0.21.3+1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_hooks-0.21.3+1/lib/ +flutter_lints +3.5 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_lints-5.0.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_lints-5.0.0/lib/ +flutter_riverpod +2.17 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_riverpod-2.6.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_riverpod-2.6.1/lib/ +flutter_secure_storage +2.12 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4/lib/ +flutter_secure_storage_linux +2.12 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_linux-1.2.3/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_linux-1.2.3/lib/ +flutter_secure_storage_macos +2.12 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_macos-3.1.3/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_macos-3.1.3/lib/ +flutter_secure_storage_platform_interface +2.12 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_platform_interface-1.1.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_platform_interface-1.1.2/lib/ +flutter_secure_storage_web +2.12 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_web-1.2.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_web-1.2.1/lib/ +flutter_secure_storage_windows +2.12 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_windows-3.1.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_secure_storage_windows-3.1.2/lib/ +frontend_server_client +3.0 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/frontend_server_client-4.0.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/frontend_server_client-4.0.0/lib/ +get_it +3.0 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/get_it-8.2.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/get_it-8.2.0/lib/ +glob +3.3 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/glob-2.1.3/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/glob-2.1.3/lib/ +go_router +3.6 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/go_router-16.1.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/go_router-16.1.0/lib/ +google_fonts +3.7 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/google_fonts-6.3.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/google_fonts-6.3.1/lib/ +graphs +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/graphs-2.3.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/graphs-2.3.2/lib/ +http +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/http-1.5.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/http-1.5.0/lib/ +http_multi_server +3.2 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/http_multi_server-3.2.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/http_multi_server-3.2.2/lib/ +http_parser +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/http_parser-4.1.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/http_parser-4.1.2/lib/ +intl +3.3 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/intl-0.20.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/intl-0.20.2/lib/ +io +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/io-1.0.5/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/io-1.0.5/lib/ +js +2.19 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/js-0.6.7/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/js-0.6.7/lib/ +json_annotation +3.0 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/json_annotation-4.9.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/json_annotation-4.9.0/lib/ +json_serializable +3.8 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/json_serializable-6.10.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/json_serializable-6.10.0/lib/ +leak_tracker +3.2 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker-10.0.9/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker-10.0.9/lib/ +leak_tracker_flutter_testing +3.2 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.9/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.9/lib/ +leak_tracker_testing +3.2 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1/lib/ +lints +3.6 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/lints-5.1.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/lints-5.1.1/lib/ +logging +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/logging-1.3.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/logging-1.3.0/lib/ +matcher +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/matcher-0.12.17/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/matcher-0.12.17/lib/ +material_color_utilities +2.17 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1/lib/ +meta +2.12 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/meta-1.16.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/meta-1.16.0/lib/ +mime +3.2 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/mime-2.0.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/mime-2.0.0/lib/ +nm +2.12 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/nm-0.5.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/nm-0.5.0/lib/ +package_config +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/package_config-2.2.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/package_config-2.2.0/lib/ +path +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path-1.9.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path-1.9.1/lib/ +path_provider +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider-2.1.5/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider-2.1.5/lib/ +path_provider_android +3.6 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_android-2.2.17/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_android-2.2.17/lib/ +path_provider_foundation +3.3 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/lib/ +path_provider_linux +2.19 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/lib/ +path_provider_platform_interface +3.0 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2/lib/ +path_provider_windows +3.2 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/lib/ +petitparser +3.5 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/petitparser-6.1.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/petitparser-6.1.0/lib/ +platform +3.2 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/platform-3.1.6/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/platform-3.1.6/lib/ +plugin_platform_interface +3.0 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8/lib/ +pool +2.12 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/pool-1.5.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/pool-1.5.1/lib/ +pub_semver +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/pub_semver-2.2.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/pub_semver-2.2.0/lib/ +pubspec_parse +3.6 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/pubspec_parse-1.5.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/pubspec_parse-1.5.0/lib/ +responsive_framework +3.0 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/responsive_framework-1.5.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/responsive_framework-1.5.1/lib/ +riverpod +2.17 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/riverpod-2.6.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/riverpod-2.6.1/lib/ +shared_preferences +3.5 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences-2.5.3/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences-2.5.3/lib/ +shared_preferences_android +3.6 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.11/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.11/lib/ +shared_preferences_foundation +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/lib/ +shared_preferences_linux +3.3 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/lib/ +shared_preferences_platform_interface +3.2 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_platform_interface-2.4.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_platform_interface-2.4.1/lib/ +shared_preferences_web +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.3/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.3/lib/ +shared_preferences_windows +3.3 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/lib/ +shelf +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shelf-1.4.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shelf-1.4.2/lib/ +shelf_web_socket +3.5 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shelf_web_socket-3.0.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/shelf_web_socket-3.0.0/lib/ +source_gen +3.7 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/source_gen-3.1.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/source_gen-3.1.0/lib/ +source_helper +3.6 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/source_helper-1.3.7/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/source_helper-1.3.7/lib/ +source_span +3.1 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/source_span-1.10.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/source_span-1.10.1/lib/ +stack_trace +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/stack_trace-1.12.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/stack_trace-1.12.1/lib/ +state_notifier +2.12 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/state_notifier-1.0.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/state_notifier-1.0.0/lib/ +stream_channel +3.3 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/stream_channel-2.1.4/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/stream_channel-2.1.4/lib/ +stream_transform +3.1 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/stream_transform-2.1.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/stream_transform-2.1.1/lib/ +string_scanner +3.1 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/string_scanner-1.4.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/string_scanner-1.4.1/lib/ +term_glyph +3.1 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/term_glyph-1.2.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/term_glyph-1.2.2/lib/ +test_api +3.5 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/test_api-0.7.4/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/test_api-0.7.4/lib/ +timing +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/timing-1.0.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/timing-1.0.2/lib/ +typed_data +3.5 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/typed_data-1.4.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/typed_data-1.4.0/lib/ +vector_math +2.14 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/vector_math-2.1.4/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/ +vm_service +3.3 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/vm_service-15.0.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/vm_service-15.0.0/lib/ +watcher +3.1 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/watcher-1.1.2/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/watcher-1.1.2/lib/ +web +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/web-1.1.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/web-1.1.1/lib/ +web_socket +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/web_socket-1.0.1/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/web_socket-1.0.1/lib/ +web_socket_channel +3.3 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/web_socket_channel-3.0.3/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/web_socket_channel-3.0.3/lib/ +win32 +3.8 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/win32-5.14.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/win32-5.14.0/lib/ +xdg_directories +3.3 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0/lib/ +xml +3.2 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/xml-6.5.0/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/xml-6.5.0/lib/ +yaml +3.4 +file:///Users/venbateam/.pub-cache/hosted/pub.dev/yaml-3.1.3/ +file:///Users/venbateam/.pub-cache/hosted/pub.dev/yaml-3.1.3/lib/ +sky_engine +3.7 +file:///Users/venbateam/Documents/flutter/bin/cache/pkg/sky_engine/ +file:///Users/venbateam/Documents/flutter/bin/cache/pkg/sky_engine/lib/ +flutter +3.7 +file:///Users/venbateam/Documents/flutter/packages/flutter/ +file:///Users/venbateam/Documents/flutter/packages/flutter/lib/ +flutter_test +3.7 +file:///Users/venbateam/Documents/flutter/packages/flutter_test/ +file:///Users/venbateam/Documents/flutter/packages/flutter_test/lib/ +flutter_web_plugins +3.7 +file:///Users/venbateam/Documents/flutter/packages/flutter_web_plugins/ +file:///Users/venbateam/Documents/flutter/packages/flutter_web_plugins/lib/ +nhance_partner +3.8 +file:///Users/venbateam/Documents/nhance_partner/ +file:///Users/venbateam/Documents/nhance_partner/lib/ +2 diff --git a/.dart_tool/package_graph.json b/.dart_tool/package_graph.json new file mode 100644 index 0000000..b80e34c --- /dev/null +++ b/.dart_tool/package_graph.json @@ -0,0 +1,1103 @@ +{ + "roots": [ + "nhance_partner" + ], + "packages": [ + { + "name": "nhance_partner", + "version": "1.0.0+1", + "dependencies": [ + "connectivity_plus", + "cupertino_icons", + "equatable", + "flutter", + "flutter_hooks", + "flutter_riverpod", + "flutter_secure_storage", + "get_it", + "go_router", + "google_fonts", + "http", + "intl", + "json_annotation", + "responsive_framework", + "shared_preferences" + ], + "devDependencies": [ + "build_runner", + "flutter_lints", + "flutter_test", + "json_serializable" + ] + }, + { + "name": "json_serializable", + "version": "6.10.0", + "dependencies": [ + "analyzer", + "async", + "build", + "build_config", + "dart_style", + "json_annotation", + "meta", + "path", + "pub_semver", + "pubspec_parse", + "source_gen", + "source_helper" + ] + }, + { + "name": "build_runner", + "version": "2.6.0", + "dependencies": [ + "args", + "async", + "build", + "build_config", + "build_daemon", + "build_runner_core", + "code_builder", + "crypto", + "dart_style", + "frontend_server_client", + "glob", + "graphs", + "http_multi_server", + "io", + "logging", + "mime", + "path", + "pub_semver", + "pubspec_parse", + "shelf", + "shelf_web_socket", + "stack_trace", + "stream_transform", + "timing", + "watcher", + "web_socket_channel" + ] + }, + { + "name": "flutter_lints", + "version": "5.0.0", + "dependencies": [ + "lints" + ] + }, + { + "name": "flutter_test", + "version": "0.0.0", + "dependencies": [ + "async", + "boolean_selector", + "characters", + "clock", + "collection", + "fake_async", + "flutter", + "leak_tracker", + "leak_tracker_flutter_testing", + "leak_tracker_testing", + "matcher", + "material_color_utilities", + "meta", + "path", + "source_span", + "stack_trace", + "stream_channel", + "string_scanner", + "term_glyph", + "test_api", + "vector_math", + "vm_service" + ] + }, + { + "name": "flutter_hooks", + "version": "0.21.3+1", + "dependencies": [ + "flutter" + ] + }, + { + "name": "intl", + "version": "0.20.2", + "dependencies": [ + "clock", + "meta", + "path" + ] + }, + { + "name": "google_fonts", + "version": "6.3.1", + "dependencies": [ + "crypto", + "flutter", + "http", + "path_provider" + ] + }, + { + "name": "flutter_secure_storage", + "version": "9.2.4", + "dependencies": [ + "flutter", + "flutter_secure_storage_linux", + "flutter_secure_storage_macos", + "flutter_secure_storage_platform_interface", + "flutter_secure_storage_web", + "flutter_secure_storage_windows", + "meta" + ] + }, + { + "name": "responsive_framework", + "version": "1.5.1", + "dependencies": [ + "collection", + "flutter" + ] + }, + { + "name": "connectivity_plus", + "version": "6.1.5", + "dependencies": [ + "collection", + "connectivity_plus_platform_interface", + "flutter", + "flutter_web_plugins", + "meta", + "nm", + "web" + ] + }, + { + "name": "shared_preferences", + "version": "2.5.3", + "dependencies": [ + "flutter", + "shared_preferences_android", + "shared_preferences_foundation", + "shared_preferences_linux", + "shared_preferences_platform_interface", + "shared_preferences_web", + "shared_preferences_windows" + ] + }, + { + "name": "go_router", + "version": "16.1.0", + "dependencies": [ + "collection", + "flutter", + "flutter_web_plugins", + "logging", + "meta" + ] + }, + { + "name": "json_annotation", + "version": "4.9.0", + "dependencies": [ + "meta" + ] + }, + { + "name": "http", + "version": "1.5.0", + "dependencies": [ + "async", + "http_parser", + "meta", + "web" + ] + }, + { + "name": "get_it", + "version": "8.2.0", + "dependencies": [ + "async", + "collection", + "meta" + ] + }, + { + "name": "equatable", + "version": "2.0.7", + "dependencies": [ + "collection", + "meta" + ] + }, + { + "name": "flutter_riverpod", + "version": "2.6.1", + "dependencies": [ + "collection", + "flutter", + "meta", + "riverpod", + "state_notifier" + ] + }, + { + "name": "cupertino_icons", + "version": "1.0.8", + "dependencies": [] + }, + { + "name": "flutter", + "version": "0.0.0", + "dependencies": [ + "characters", + "collection", + "material_color_utilities", + "meta", + "sky_engine", + "vector_math" + ] + }, + { + "name": "source_helper", + "version": "1.3.7", + "dependencies": [ + "analyzer", + "source_gen" + ] + }, + { + "name": "source_gen", + "version": "3.1.0", + "dependencies": [ + "analyzer", + "async", + "build", + "dart_style", + "glob", + "path", + "pub_semver", + "source_span", + "yaml" + ] + }, + { + "name": "pubspec_parse", + "version": "1.5.0", + "dependencies": [ + "checked_yaml", + "collection", + "json_annotation", + "pub_semver", + "yaml" + ] + }, + { + "name": "pub_semver", + "version": "2.2.0", + "dependencies": [ + "collection" + ] + }, + { + "name": "path", + "version": "1.9.1", + "dependencies": [] + }, + { + "name": "meta", + "version": "1.16.0", + "dependencies": [] + }, + { + "name": "dart_style", + "version": "3.1.1", + "dependencies": [ + "analyzer", + "args", + "collection", + "package_config", + "path", + "pub_semver", + "source_span", + "yaml" + ] + }, + { + "name": "build_config", + "version": "1.1.2", + "dependencies": [ + "checked_yaml", + "json_annotation", + "path", + "pubspec_parse", + "yaml" + ] + }, + { + "name": "build", + "version": "3.0.0", + "dependencies": [ + "analyzer", + "async", + "build_runner_core", + "built_collection", + "built_value", + "convert", + "crypto", + "glob", + "graphs", + "logging", + "package_config", + "path" + ] + }, + { + "name": "async", + "version": "2.13.0", + "dependencies": [ + "collection", + "meta" + ] + }, + { + "name": "analyzer", + "version": "7.7.1", + "dependencies": [ + "_fe_analyzer_shared", + "collection", + "convert", + "crypto", + "glob", + "meta", + "package_config", + "path", + "pub_semver", + "source_span", + "watcher", + "yaml" + ] + }, + { + "name": "web_socket_channel", + "version": "3.0.3", + "dependencies": [ + "async", + "crypto", + "stream_channel", + "web", + "web_socket" + ] + }, + { + "name": "watcher", + "version": "1.1.2", + "dependencies": [ + "async", + "path" + ] + }, + { + "name": "timing", + "version": "1.0.2", + "dependencies": [ + "json_annotation" + ] + }, + { + "name": "stream_transform", + "version": "2.1.1", + "dependencies": [] + }, + { + "name": "stack_trace", + "version": "1.12.1", + "dependencies": [ + "path" + ] + }, + { + "name": "shelf_web_socket", + "version": "3.0.0", + "dependencies": [ + "shelf", + "stream_channel", + "web_socket_channel" + ] + }, + { + "name": "shelf", + "version": "1.4.2", + "dependencies": [ + "async", + "collection", + "http_parser", + "path", + "stack_trace", + "stream_channel" + ] + }, + { + "name": "mime", + "version": "2.0.0", + "dependencies": [] + }, + { + "name": "logging", + "version": "1.3.0", + "dependencies": [] + }, + { + "name": "io", + "version": "1.0.5", + "dependencies": [ + "meta", + "path", + "string_scanner" + ] + }, + { + "name": "http_multi_server", + "version": "3.2.2", + "dependencies": [ + "async" + ] + }, + { + "name": "graphs", + "version": "2.3.2", + "dependencies": [ + "collection" + ] + }, + { + "name": "glob", + "version": "2.1.3", + "dependencies": [ + "async", + "collection", + "file", + "path", + "string_scanner" + ] + }, + { + "name": "frontend_server_client", + "version": "4.0.0", + "dependencies": [ + "async", + "path" + ] + }, + { + "name": "crypto", + "version": "3.0.6", + "dependencies": [ + "typed_data" + ] + }, + { + "name": "code_builder", + "version": "4.10.1", + "dependencies": [ + "built_collection", + "built_value", + "collection", + "matcher", + "meta" + ] + }, + { + "name": "build_runner_core", + "version": "9.2.0", + "dependencies": [ + "analyzer", + "async", + "build", + "build_config", + "build_resolvers", + "build_runner", + "built_collection", + "built_value", + "collection", + "convert", + "crypto", + "glob", + "graphs", + "json_annotation", + "logging", + "meta", + "package_config", + "path", + "pool", + "timing", + "watcher", + "yaml" + ] + }, + { + "name": "build_daemon", + "version": "4.0.4", + "dependencies": [ + "built_collection", + "built_value", + "crypto", + "http_multi_server", + "logging", + "path", + "pool", + "shelf", + "shelf_web_socket", + "stream_transform", + "watcher", + "web_socket_channel" + ] + }, + { + "name": "args", + "version": "2.7.0", + "dependencies": [] + }, + { + "name": "lints", + "version": "5.1.1", + "dependencies": [] + }, + { + "name": "vm_service", + "version": "15.0.0", + "dependencies": [] + }, + { + "name": "term_glyph", + "version": "1.2.2", + "dependencies": [] + }, + { + "name": "string_scanner", + "version": "1.4.1", + "dependencies": [ + "source_span" + ] + }, + { + "name": "stream_channel", + "version": "2.1.4", + "dependencies": [ + "async" + ] + }, + { + "name": "source_span", + "version": "1.10.1", + "dependencies": [ + "collection", + "path", + "term_glyph" + ] + }, + { + "name": "material_color_utilities", + "version": "0.11.1", + "dependencies": [ + "collection" + ] + }, + { + "name": "leak_tracker_testing", + "version": "3.0.1", + "dependencies": [ + "leak_tracker", + "matcher", + "meta" + ] + }, + { + "name": "leak_tracker", + "version": "10.0.9", + "dependencies": [ + "clock", + "collection", + "meta", + "path", + "vm_service" + ] + }, + { + "name": "collection", + "version": "1.19.1", + "dependencies": [] + }, + { + "name": "characters", + "version": "1.4.0", + "dependencies": [] + }, + { + "name": "boolean_selector", + "version": "2.1.2", + "dependencies": [ + "source_span", + "string_scanner" + ] + }, + { + "name": "leak_tracker_flutter_testing", + "version": "3.0.9", + "dependencies": [ + "flutter", + "leak_tracker", + "leak_tracker_testing", + "matcher", + "meta" + ] + }, + { + "name": "vector_math", + "version": "2.1.4", + "dependencies": [] + }, + { + "name": "clock", + "version": "1.1.2", + "dependencies": [] + }, + { + "name": "fake_async", + "version": "1.3.3", + "dependencies": [ + "clock", + "collection" + ] + }, + { + "name": "matcher", + "version": "0.12.17", + "dependencies": [ + "async", + "meta", + "stack_trace", + "term_glyph", + "test_api" + ] + }, + { + "name": "test_api", + "version": "0.7.4", + "dependencies": [ + "async", + "boolean_selector", + "collection", + "meta", + "source_span", + "stack_trace", + "stream_channel", + "string_scanner", + "term_glyph" + ] + }, + { + "name": "path_provider", + "version": "2.1.5", + "dependencies": [ + "flutter", + "path_provider_android", + "path_provider_foundation", + "path_provider_linux", + "path_provider_platform_interface", + "path_provider_windows" + ] + }, + { + "name": "flutter_secure_storage_windows", + "version": "3.1.2", + "dependencies": [ + "ffi", + "flutter", + "flutter_secure_storage_platform_interface", + "path", + "path_provider", + "win32" + ] + }, + { + "name": "flutter_secure_storage_web", + "version": "1.2.1", + "dependencies": [ + "flutter", + "flutter_secure_storage_platform_interface", + "flutter_web_plugins", + "js" + ] + }, + { + "name": "flutter_secure_storage_platform_interface", + "version": "1.1.2", + "dependencies": [ + "flutter", + "plugin_platform_interface" + ] + }, + { + "name": "flutter_secure_storage_macos", + "version": "3.1.3", + "dependencies": [ + "flutter", + "flutter_secure_storage_platform_interface" + ] + }, + { + "name": "flutter_secure_storage_linux", + "version": "1.2.3", + "dependencies": [ + "flutter", + "flutter_secure_storage_platform_interface" + ] + }, + { + "name": "nm", + "version": "0.5.0", + "dependencies": [ + "dbus" + ] + }, + { + "name": "web", + "version": "1.1.1", + "dependencies": [] + }, + { + "name": "connectivity_plus_platform_interface", + "version": "2.0.1", + "dependencies": [ + "flutter", + "meta", + "plugin_platform_interface" + ] + }, + { + "name": "flutter_web_plugins", + "version": "0.0.0", + "dependencies": [ + "characters", + "collection", + "flutter", + "material_color_utilities", + "meta", + "vector_math" + ] + }, + { + "name": "shared_preferences_windows", + "version": "2.4.1", + "dependencies": [ + "file", + "flutter", + "path", + "path_provider_platform_interface", + "path_provider_windows", + "shared_preferences_platform_interface" + ] + }, + { + "name": "shared_preferences_web", + "version": "2.4.3", + "dependencies": [ + "flutter", + "flutter_web_plugins", + "shared_preferences_platform_interface", + "web" + ] + }, + { + "name": "shared_preferences_platform_interface", + "version": "2.4.1", + "dependencies": [ + "flutter", + "plugin_platform_interface" + ] + }, + { + "name": "shared_preferences_linux", + "version": "2.4.1", + "dependencies": [ + "file", + "flutter", + "path", + "path_provider_linux", + "path_provider_platform_interface", + "shared_preferences_platform_interface" + ] + }, + { + "name": "shared_preferences_foundation", + "version": "2.5.4", + "dependencies": [ + "flutter", + "shared_preferences_platform_interface" + ] + }, + { + "name": "shared_preferences_android", + "version": "2.4.11", + "dependencies": [ + "flutter", + "shared_preferences_platform_interface" + ] + }, + { + "name": "http_parser", + "version": "4.1.2", + "dependencies": [ + "collection", + "source_span", + "string_scanner", + "typed_data" + ] + }, + { + "name": "state_notifier", + "version": "1.0.0", + "dependencies": [ + "meta" + ] + }, + { + "name": "riverpod", + "version": "2.6.1", + "dependencies": [ + "collection", + "meta", + "stack_trace", + "state_notifier" + ] + }, + { + "name": "sky_engine", + "version": "0.0.0", + "dependencies": [] + }, + { + "name": "yaml", + "version": "3.1.3", + "dependencies": [ + "collection", + "source_span", + "string_scanner" + ] + }, + { + "name": "checked_yaml", + "version": "2.0.4", + "dependencies": [ + "json_annotation", + "source_span", + "yaml" + ] + }, + { + "name": "package_config", + "version": "2.2.0", + "dependencies": [ + "path" + ] + }, + { + "name": "convert", + "version": "3.1.2", + "dependencies": [ + "typed_data" + ] + }, + { + "name": "built_value", + "version": "8.11.1", + "dependencies": [ + "built_collection", + "collection", + "fixnum", + "meta" + ] + }, + { + "name": "built_collection", + "version": "5.1.1", + "dependencies": [] + }, + { + "name": "_fe_analyzer_shared", + "version": "85.0.0", + "dependencies": [ + "meta" + ] + }, + { + "name": "web_socket", + "version": "1.0.1", + "dependencies": [ + "web" + ] + }, + { + "name": "file", + "version": "7.0.1", + "dependencies": [ + "meta", + "path" + ] + }, + { + "name": "typed_data", + "version": "1.4.0", + "dependencies": [ + "collection" + ] + }, + { + "name": "pool", + "version": "1.5.1", + "dependencies": [ + "async", + "stack_trace" + ] + }, + { + "name": "build_resolvers", + "version": "3.0.0", + "dependencies": [ + "analyzer", + "async", + "build", + "build_runner_core", + "collection", + "convert", + "crypto", + "package_config", + "path", + "pool", + "pub_semver" + ] + }, + { + "name": "path_provider_windows", + "version": "2.3.0", + "dependencies": [ + "ffi", + "flutter", + "path", + "path_provider_platform_interface" + ] + }, + { + "name": "path_provider_platform_interface", + "version": "2.1.2", + "dependencies": [ + "flutter", + "platform", + "plugin_platform_interface" + ] + }, + { + "name": "path_provider_linux", + "version": "2.2.1", + "dependencies": [ + "ffi", + "flutter", + "path", + "path_provider_platform_interface", + "xdg_directories" + ] + }, + { + "name": "path_provider_foundation", + "version": "2.4.1", + "dependencies": [ + "flutter", + "path_provider_platform_interface" + ] + }, + { + "name": "path_provider_android", + "version": "2.2.17", + "dependencies": [ + "flutter", + "path_provider_platform_interface" + ] + }, + { + "name": "win32", + "version": "5.14.0", + "dependencies": [ + "ffi" + ] + }, + { + "name": "ffi", + "version": "2.1.4", + "dependencies": [] + }, + { + "name": "js", + "version": "0.6.7", + "dependencies": [ + "meta" + ] + }, + { + "name": "plugin_platform_interface", + "version": "2.1.8", + "dependencies": [ + "meta" + ] + }, + { + "name": "dbus", + "version": "0.7.11", + "dependencies": [ + "args", + "ffi", + "meta", + "xml" + ] + }, + { + "name": "fixnum", + "version": "1.1.1", + "dependencies": [] + }, + { + "name": "platform", + "version": "3.1.6", + "dependencies": [] + }, + { + "name": "xdg_directories", + "version": "1.1.0", + "dependencies": [ + "meta", + "path" + ] + }, + { + "name": "xml", + "version": "6.5.0", + "dependencies": [ + "collection", + "meta", + "petitparser" + ] + }, + { + "name": "petitparser", + "version": "6.1.0", + "dependencies": [ + "collection", + "meta" + ] + } + ], + "configVersion": 1 +} \ No newline at end of file diff --git a/.dart_tool/version b/.dart_tool/version new file mode 100644 index 0000000..4fe56a2 --- /dev/null +++ b/.dart_tool/version @@ -0,0 +1 @@ +3.32.8 \ No newline at end of file diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies new file mode 100644 index 0000000..7b8e8b5 --- /dev/null +++ b/.flutter-plugins-dependencies @@ -0,0 +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":"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":"path_provider_foundation","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/","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}],"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":"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":"path_provider_android","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_android-2.2.17/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_android","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.11/","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":"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":"path_provider_foundation","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/","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}],"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":"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":"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}],"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":"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":"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}],"web":[{"name":"connectivity_plus","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.5/","dependencies":[],"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":"shared_preferences_web","path":"/Users/venbateam/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.3/","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"connectivity_plus","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":"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"]}],"date_created":"2025-09-01 10:58:45.663640","version":"3.32.8","swift_package_manager_enabled":{"ios":false,"macos":false}} \ No newline at end of file diff --git a/Nhance_Partner.zip b/Nhance_Partner.zip new file mode 100644 index 0000000..a916eee Binary files /dev/null and b/Nhance_Partner.zip differ diff --git a/build/34eccf8dcc8ca8d9fe7e6369d18dc1c6/_composite.stamp b/build/34eccf8dcc8ca8d9fe7e6369d18dc1c6/_composite.stamp new file mode 100644 index 0000000..1b2d28c --- /dev/null +++ b/build/34eccf8dcc8ca8d9fe7e6369d18dc1c6/_composite.stamp @@ -0,0 +1 @@ +{"inputs":[],"outputs":[]} \ No newline at end of file diff --git a/build/34eccf8dcc8ca8d9fe7e6369d18dc1c6/gen_dart_plugin_registrant.stamp b/build/34eccf8dcc8ca8d9fe7e6369d18dc1c6/gen_dart_plugin_registrant.stamp new file mode 100644 index 0000000..1b2d28c --- /dev/null +++ b/build/34eccf8dcc8ca8d9fe7e6369d18dc1c6/gen_dart_plugin_registrant.stamp @@ -0,0 +1 @@ +{"inputs":[],"outputs":[]} \ No newline at end of file diff --git a/build/34eccf8dcc8ca8d9fe7e6369d18dc1c6/gen_localizations.stamp b/build/34eccf8dcc8ca8d9fe7e6369d18dc1c6/gen_localizations.stamp new file mode 100644 index 0000000..1b2d28c --- /dev/null +++ b/build/34eccf8dcc8ca8d9fe7e6369d18dc1c6/gen_localizations.stamp @@ -0,0 +1 @@ +{"inputs":[],"outputs":[]} \ No newline at end of file diff --git a/build/ca5b992a9529c9e3dd9b6865b3ef382b.cache.dill.track.dill b/build/ca5b992a9529c9e3dd9b6865b3ef382b.cache.dill.track.dill index 06c22c2..dfcf5ec 100644 Binary files a/build/ca5b992a9529c9e3dd9b6865b3ef382b.cache.dill.track.dill and b/build/ca5b992a9529c9e3dd9b6865b3ef382b.cache.dill.track.dill differ diff --git a/build/flutter_assets/NOTICES b/build/flutter_assets/NOTICES index f196f55..d71a15f 100644 --- a/build/flutter_assets/NOTICES +++ b/build/flutter_assets/NOTICES @@ -919,6 +919,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- analyzer +intl Copyright 2013, the Dart project authors. @@ -5772,9 +5773,34 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +flutter_hooks + +MIT License + +Copyright (c) 2018 Remi Rousselet + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- flutter_lints go_router +google_fonts path_provider path_provider_android path_provider_foundation diff --git a/lib/core/routing/app_router.dart b/lib/core/routing/app_router.dart index d22ff59..2e40508 100644 --- a/lib/core/routing/app_router.dart +++ b/lib/core/routing/app_router.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:nhance_partner/core/routing/routes.dart'; +import 'package:nhance_partner/presentation/screens/claims/claimsList.dart'; import '../../data/services/auth_service.dart'; import '../../presentation/screens/home/home_screen.dart'; - import '../../presentation/screens/login/login_screen.dart'; - import '../../presentation/screens/splash/splash_screen.dart'; - +import '../../presentation/screens/login/login_screen.dart'; +import '../../presentation/screens/splash/splash_screen.dart'; final GoRouter appRouter = GoRouter( initialLocation: AppRoutes.home, @@ -20,15 +20,36 @@ final GoRouter appRouter = GoRouter( ), GoRoute( path: AppRoutes.home, + // builder: (context, state) => const ClaimsList(), builder: (context, state) => const HomeScreen(), ), ], redirect: (context, state) async { final loggedIn = await AuthService.isLoggedIn(); - final goingToLogin = state.matchedLocation == AppRoutes.login; + // final goingToLogin = state.matchedLocation == AppRoutes.login; - if (!loggedIn && !goingToLogin) return AppRoutes.login; - if (loggedIn && goingToLogin) return AppRoutes.home; + final currentLocation = state.matchedLocation; + final goingToLogin = currentLocation.startsWith(AppRoutes.login); + print("loggedIn - $loggedIn"); + print("currentLocation - $currentLocation"); + print("goingToLogin - $goingToLogin"); + + if (!loggedIn) { + // Not logged in → redirect to login with "next" param + if (!goingToLogin) { + return '${AppRoutes.login}?next=$currentLocation'; + } + return null; // already on login → stay + } + + if (loggedIn && goingToLogin) { + // Logged in but going to login → send to "next" if present + final next = state.uri.queryParameters['next']; + return next ?? AppRoutes.home; + } + + // if (!loggedIn && !goingToLogin) return AppRoutes.login; + // if (loggedIn && goingToLogin) return AppRoutes.home; return null; // stay on current route }, diff --git a/lib/data/services/auth_service.dart b/lib/data/services/auth_service.dart index 679c3aa..ef0a769 100644 --- a/lib/data/services/auth_service.dart +++ b/lib/data/services/auth_service.dart @@ -6,6 +6,7 @@ class AuthService { // Save token after login static Future saveToken(String token) async { + print("SAveTOken"); await _storage.write(key: _tokenKey, value: token); } @@ -16,6 +17,7 @@ class AuthService { // Delete token (logout) static Future clearToken() async { + print('ClearToken'); await _storage.delete(key: _tokenKey); } @@ -26,8 +28,7 @@ class AuthService { } } - // if (success) { // await AuthService.saveToken("my-secure-jwt-token"); // if (mounted) context.go(AppRoutes.home); -// } \ No newline at end of file +// } diff --git a/lib/data/utils/Pagination.dart b/lib/data/utils/Pagination.dart new file mode 100644 index 0000000..096eab4 --- /dev/null +++ b/lib/data/utils/Pagination.dart @@ -0,0 +1,201 @@ +import 'package:flutter/material.dart'; +import 'package:google_fonts/google_fonts.dart'; + +class PaginationControls extends StatelessWidget { + final int currentPage; + final int itemsPerPage; + final int totalItems; + final Function(int) onPageChanged; + final Function(int) onItemsPerPageChanged; + // final Color? activeColor; + + const PaginationControls({ + Key? key, + required this.currentPage, + required this.itemsPerPage, + required this.totalItems, + required this.onPageChanged, + required this.onItemsPerPageChanged, + // this.activeColor = Colors.blue, // fallback if no color given + }) : super(key: key); + + @override + Widget build(BuildContext context) { + // int totalPages = (totalItems / itemsPerPage).ceil(); + final int totalPages = (totalItems / itemsPerPage).ceil(); + + // return Row( + // mainAxisAlignment: MainAxisAlignment.end, + // children: [ + // Padding( + // padding: const EdgeInsets.symmetric(vertical: 12), + // child: Row( + // mainAxisAlignment: MainAxisAlignment.center, + // children: [ + // DropdownButton( + // value: itemsPerPage, + // items: + // [5, 10, 15, 20, 50].map((int value) { + // return DropdownMenuItem( + // value: value, + // child: Text( + // ' $value ', + // style: GoogleFonts.poppins(fontSize: 15), + // ), + // ); + // }).toList(), + // onChanged: (newValue) { + // if (newValue != null) { + // onItemsPerPageChanged(newValue); + // onPageChanged(1); // reset to first page + // } + // }, + // ), + // IconButton( + // onPressed: + // currentPage > 1 + // ? () => onPageChanged(currentPage - 1) + // : null, + // icon: Icon(Icons.chevron_left), + // ), + // for (int i = 1; i <= totalPages - 1; i++) + // Padding( + // padding: const EdgeInsets.symmetric(horizontal: 4), + // child: ElevatedButton( + // style: ElevatedButton.styleFrom( + // backgroundColor: + // currentPage == i - 1 ? activeColor : Colors.grey[300], + // foregroundColor: + // currentPage == i - 1 ? Colors.white : Colors.black, + // minimumSize: Size(36, 36), + // padding: EdgeInsets.zero, + // ), + // onPressed: () => onPageChanged(i - 1), + // child: Text(i.toString()), + // ), + // ), + // IconButton( + // onPressed: + // currentPage < totalPages - 1 + // ? () => onPageChanged(currentPage + 1) + // : null, + // icon: Icon(Icons.chevron_right), + // ), + // ], + // ), + // ), + // ], + // ); + + return Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + DropdownButton( + value: itemsPerPage, + items: [10, 20, 50, 100] + .map( + (value) => DropdownMenuItem( + value: value, + child: Text( + '$value', + style: TextStyle(fontSize: 12, fontFamily: "Inter"), + ), + ), + ) + .toList(), + onChanged: (value) { + if (value != null) { + onItemsPerPageChanged(value); + } + }, + style: TextStyle( + fontSize: 12, + color: Colors.black, + fontFamily: "Inter", + ), + underline: SizedBox(), + iconSize: 16, + ), + SizedBox(width: 16), + IconButton( + icon: Icon(Icons.arrow_back, size: 18), + onPressed: currentPage > 0 + ? () => onPageChanged(currentPage - 1) + : null, + ), + + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row(children: _buildPageButtons()), + ), + + IconButton( + icon: Icon(Icons.arrow_forward, size: 18), + onPressed: (currentPage + 1) * itemsPerPage < totalItems + ? () => onPageChanged(currentPage + 1) + : null, + ), + ], + ); + } + + List _buildPageButtons() { + final int totalPages = (totalItems / itemsPerPage).ceil(); + List buttons = []; + + // Always show first page + buttons.add(_buildPageButton(0)); + + // Add left ellipsis if needed + if (currentPage > 2) { + buttons.add(_buildEllipsis()); + } + + // Add previous, current, next page if in range + for (int i = currentPage - 1; i <= currentPage + 1; i++) { + if (i > 0 && i < totalPages - 1) { + buttons.add(_buildPageButton(i)); + } + } + + // Add right ellipsis if needed + if (currentPage < totalPages - 3) { + buttons.add(_buildEllipsis()); + } + + // Always show last page + if (totalPages > 1) { + buttons.add(_buildPageButton(totalPages - 1)); + } + + return buttons; + } + + Widget _buildPageButton(int pageIndex) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 4), + child: ElevatedButton( + onPressed: () => onPageChanged(pageIndex), + style: ElevatedButton.styleFrom( + backgroundColor: currentPage == pageIndex + ? Color(0xFFD4F8F3) + : Color(0xFFEDF6F5), + + foregroundColor: currentPage == pageIndex + ? Colors.black + : Color(0xFF696969), + minimumSize: Size(36, 36), + padding: EdgeInsets.zero, + ), + child: Text('${pageIndex + 1}'), + ), + ); + } + + Widget _buildEllipsis() { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 6), + child: Text('...', style: TextStyle(fontSize: 16)), + ); + } +} diff --git a/lib/data/utils/date_formatter.dart b/lib/data/utils/date_formatter.dart new file mode 100644 index 0000000..e69de29 diff --git a/lib/data/utils/helpers.dart b/lib/data/utils/helpers.dart new file mode 100644 index 0000000..e69de29 diff --git a/lib/data/utils/validators.dart b/lib/data/utils/validators.dart new file mode 100644 index 0000000..46da37d --- /dev/null +++ b/lib/data/utils/validators.dart @@ -0,0 +1,88 @@ +import 'package:flutter/cupertino.dart'; + +class Validators { + static String? requiredField(String? value, String label) { + if (value == null || value.trim().isEmpty) { + return "$label is required"; + } + return null; + } + + static String? email(String? value, String label) { + if (value == null || value.trim().isEmpty) { + return "Required"; + } + + final emailRegex = r'^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$'; + + if (!RegExp(emailRegex).hasMatch(value)) { + return "Invalid $label"; // 👈 will show: "Invalid Email" + } + return null; + } + + static String? passwordSignIn(String? value, String label) { + if (value == null || value.trim().isEmpty) { + return "Required"; + } + + if (value.length < 6) { + return "Enter at least 6 characters"; + } + + List errors = []; + if (!RegExp(r'[0-9]').hasMatch(value)) errors.add("number"); + if (!RegExp(r'[A-Z]').hasMatch(value)) errors.add("uppercase letter"); + if (!RegExp(r'[a-z]').hasMatch(value)) errors.add("lowercase letter"); + if (!RegExp(r'[!@#\$&*~%^.,?]').hasMatch(value)) + errors.add("special character"); + + if (errors.isNotEmpty) { + return "$label must include ${errors.join(", ")}"; + } + + return null; + } + + static String? passwordlogIn(String? value, String label) { + if (value == null || value.trim().isEmpty) { + return "Required"; + } + + if (value.length < 6) { + return "Enter at least 6 characters"; + } + return null; + } + + static String? minLength(String? value, String label, int length) { + if (value == null || value.trim().isEmpty) { + return "$label is required"; + } + if (value.length < length) { + return "$label must be at least $length characters"; + } + return null; + } + + static String? number(String? value, String label) { + if (value == null || value.trim().isEmpty) { + return "$label is required"; + } + if (!RegExp(r'^[0-9]+$').hasMatch(value)) { + return "$label must contain only numbers"; + } + return null; + } + + static String? phone(String? value, String label) { + if (value == null || value.trim().isEmpty) { + return "Required"; + } + + if (!RegExp(r'^[0-9]{10}$').hasMatch(value!.trim())) { + return "Enter a valid 10-digit phone number"; + } + return null; + } +} diff --git a/lib/presentation/layouts/main_layout.dart b/lib/presentation/layouts/main_layout.dart index 1877607..570a54f 100644 --- a/lib/presentation/layouts/main_layout.dart +++ b/lib/presentation/layouts/main_layout.dart @@ -1,4 +1,7 @@ import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:nhance_partner/core/routing/routes.dart'; +import 'package:nhance_partner/data/services/auth_service.dart'; import '../widgets/topbar.dart'; import '../widgets/footer.dart'; import '../widgets/drawer_menu.dart'; @@ -9,11 +12,7 @@ class MainLayout extends StatelessWidget { final Widget body; final String title; - const MainLayout({ - super.key, - required this.body, - required this.title, - }); + const MainLayout({super.key, required this.body, required this.title}); @override Widget build(BuildContext context) { @@ -48,6 +47,8 @@ class MainLayout extends StatelessWidget { }, onLogout: () { debugPrint("Logout tapped"); + AuthService.clearToken(); + context.go(AppRoutes.login); }, onProfile: () { debugPrint("Profile tapped"); diff --git a/lib/presentation/screens/claims/claimsList.dart b/lib/presentation/screens/claims/claimsList.dart new file mode 100644 index 0000000..7f1fec0 --- /dev/null +++ b/lib/presentation/screens/claims/claimsList.dart @@ -0,0 +1,235 @@ +import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; +import '../../../data/utils/Pagination.dart'; +import '../../layouts/main_layout.dart'; +import '../../widgets/custom_action_popup.dart'; +// import '../../widgets/custom_dataTable.dart'; + +class ClaimsList extends StatefulWidget { + const ClaimsList({super.key}); + + @override + State createState() => _ClaimsListState(); +} + +class _ClaimsListState extends State { + int currentPage = 0; + int itemsPerPage = 10; + + List> dataVal = [ + { + "planId": "PLAN-1001", + "tripTitle": "Trip to Bangalore", + "tripType": "Business", + "employeeCode": "EMP200", + "userName": "Alice", + "travellerName": "Traveller 1", + "createdOn": "2025-08-01T10:00:00Z", + "statusValue": "Pending Approval", + "forexId": "FX-501", + }, + { + "planId": "PLAN-1002", + "tripTitle": "Trip to Goa", + "tripType": "Leisure", + "employeeCode": "EMP201", + "userName": "", + "travellerName": "Traveller 2", + "createdOn": "2025-08-05T14:30:00Z", + "statusValue": "Approved", + "forexId": null, + }, + // ...more dummy data + ]; + + List> get paginatedData => + dataVal.skip(currentPage * itemsPerPage).take(itemsPerPage).toList(); + + List _buildPopupMenuActions(BuildContext context, dynamic data) { + return [ + IconButton( + icon: const Icon( + Icons.remove_red_eye, + color: Color(0xFF475569), + size: 18, + ), + tooltip: 'View The Trip Details', + onPressed: () { + Navigator.pop(context); + // ApiService.viewPlan(context, plan.planId, isViewMode: true); + }, + ), + + IconButton( + icon: Image.asset( + 'assets/images/IconsImg/edit.png', + width: 20, + height: 15, + ), + tooltip: 'Edit The Trip Details', + onPressed: () { + Navigator.pop(context); + // ApiService.viewPlan(context, data.planId, isViewMode: false); + }, + ), + + IconButton( + icon: const Icon(Icons.cancel_rounded, size: 18), + tooltip: 'Cancellation The Trip Details', + onPressed: () { + Navigator.pop(context); + // deletePlan(data.planId); + }, + ), + + IconButton( + icon: const Icon(Icons.download, color: Color(0xFF475569), size: 18), + tooltip: 'Download The PDF', + onPressed: () { + Navigator.pop(context); + // apiService.getPdfDownload(data.planId); + }, + ), + + IconButton( + icon: const Icon( + Icons.monetization_on_outlined, + color: Color(0xFF475569), + size: 18, + ), + tooltip: 'Download Forex PDF', + onPressed: () { + Navigator.pop(context); + // apiService.getForexPdfDownload(data.forexId); + }, + ), + ]; + } + + @override + Widget build(BuildContext context) { + return MainLayout( + title: "Claims", + body: Container( + // color: Colors.yellow.shade50, + margin: const EdgeInsets.all(8.0), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width, + + padding: const EdgeInsets.all(8.0), + // color: Colors.grey.shade200, + // color: Colors.red.shade50, + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: DataTable( + columns: const [ + DataColumn(label: Text("S.NO")), + DataColumn(label: Text("Trip ID")), + DataColumn(label: Text("Trip Name")), + DataColumn(label: Text("Trip Type")), + DataColumn(label: Text("Emp Code")), + DataColumn(label: Text("Traveller")), + DataColumn(label: Text("Created On")), + DataColumn(label: Text("Actions")), + ], + rows: paginatedData.asMap().entries.map((entry) { + int index = entry.key; + var data = entry.value; + + String createdOn = ""; + final rawDateStr = data["createdOn"]; + if (rawDateStr != null && + rawDateStr.toString().isNotEmpty) { + try { + final parsed = DateTime.parse(rawDateStr); + createdOn = DateFormat("d MMM yyyy").format(parsed); + } catch (_) { + createdOn = rawDateStr.toString().split(" ").first; + } + } + + return DataRow( + cells: [ + DataCell( + Text("${(currentPage * itemsPerPage) + index + 1}"), + ), + DataCell(Text(data["planId"] ?? "-")), + DataCell(Text(data["tripTitle"] ?? "-")), + DataCell(Text(data["tripType"] ?? "-")), + DataCell(Text(data["employeeCode"] ?? "-")), + DataCell( + Text( + (data["userName"] != null && + data["userName"].toString().isNotEmpty) + ? data["userName"] + : data["travellerName"] ?? "-", + ), + ), + DataCell(Text(createdOn)), + DataCell( + Row( + children: [ + PopupMenuButton( + color: Colors.white, + padding: EdgeInsets.zero, + offset: Offset(0, 30), + icon: Icon( + Icons.more_vert, + color: Color(0xFF475569), + size: 14, + ), + itemBuilder: (context) => [ + CustomPopupMenuEntry( + child: Container( + padding: EdgeInsets.symmetric( + horizontal: 8, + vertical: 8, + ), + child: Row( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: + MainAxisAlignment.center, + children: _buildPopupMenuActions( + context, + data, + ), + ), + ), + ), + ], + ), + ], + ), + ), + ], + ); + }).toList(), + ), + ), + ), + + PaginationControls( + currentPage: currentPage, + itemsPerPage: itemsPerPage, + totalItems: dataVal.length, + // activeColor: layoutColor, // your theme color + onPageChanged: (page) { + setState(() { + currentPage = page; + }); + }, + onItemsPerPageChanged: (items) { + setState(() { + itemsPerPage = items; + currentPage = 0; + }); + }, + ), + ], + ), + ), + ); + } +} diff --git a/lib/presentation/screens/login/login_screen.dart b/lib/presentation/screens/login/login_screen.dart index 337cc42..1346eeb 100644 --- a/lib/presentation/screens/login/login_screen.dart +++ b/lib/presentation/screens/login/login_screen.dart @@ -1,8 +1,11 @@ import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:go_router/go_router.dart'; +import 'package:nhance_partner/data/utils/validators.dart'; import '../../../core/config/env.dart'; import '../../../core/routing/routes.dart'; - +import '../../../data/services/auth_service.dart'; +import '../../themes/indicators/text_field_theme.dart'; class LoginScreen extends StatefulWidget { const LoginScreen({super.key}); @@ -28,21 +31,30 @@ class _LoginScreenState extends State { await Future.delayed(const Duration(seconds: 2)); // TODO: Replace with your AuthService - final success = _emailController.text == "test@example.com" && + final success = + _emailController.text == "test@example.com" && _passwordController.text == "password"; setState(() => _isLoading = false); + print("Succes - $success"); if (success) { + print("Ckeck 1"); if (mounted) { + print("Ckeck 2"); + await AuthService.saveToken('1234'); + final dynamic token = AuthService.saveToken('1234'); + print('token - $token'); + print('AppRoutes.home'); context.go(AppRoutes.home); + print("Ckeck 3"); } } else { if (mounted) { - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar(content: Text("Invalid credentials")), - ); + ScaffoldMessenger.of( + context, + ).showSnackBar(const SnackBar(content: Text("Invalid credentials"))); } } } @@ -58,15 +70,15 @@ class _LoginScreenState extends State { padding: const EdgeInsets.all(16.0), decoration: isWeb ? BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(8), - boxShadow: [ - BoxShadow( - blurRadius: 12, - color: Colors.black.withOpacity(0.1), - ), - ], - ) + color: Colors.white, + borderRadius: BorderRadius.circular(8), + boxShadow: [ + BoxShadow( + blurRadius: 12, + color: Colors.black.withOpacity(0.1), + ), + ], + ) : null, child: Form( key: _formKey, @@ -74,11 +86,7 @@ class _LoginScreenState extends State { mainAxisSize: MainAxisSize.min, children: [ // App Logo - Image.asset( - 'assets/logo.png', - width: 80, - height: 80, - ), + Image.asset('assets/logo.png', width: 80, height: 80), const SizedBox(height: 20), // Environment label @@ -88,53 +96,36 @@ class _LoginScreenState extends State { ), const SizedBox(height: 20), - // Email - TextFormField( + ThemedFormField( + hintText: 'Email', + backgroundColor: Colors.white, + validator: (value) => Validators.email(value, "Email"), + // imgPath: "MiscIconAssetPath.person", controller: _emailController, - decoration: const InputDecoration( - labelText: "Email", - prefixIcon: Icon(Icons.email), - ), - validator: (value) { - if (value == null || value.isEmpty) { - return "Please enter your email"; - } - if (!RegExp(r"^[^@]+@[^@]+\.[^@]+").hasMatch(value)) { - return "Enter a valid email"; - } - return null; - }, + // txtwidth: MediaQuery.of(context).size.width * 0.5, + // keyboardType: TextInputType.number, + // maxLength: 10, + // inputFormatters: [FilteringTextInputFormatter.digitsOnly], + // readOnly: true, ), + const SizedBox(height: 16), + ThemedFormField( + hintText: 'Password', + backgroundColor: Colors.white, + validator: (value) => + Validators.passwordlogIn(value, "Password"), + // imgPath: "MiscIconAssetPath.person", + controller: _passwordController, + isObscurable: true, + // txtwidth: MediaQuery.of(context).size.width * 0.5, + // keyboardType: TextInputType.number, + // maxLength: 10, + // inputFormatters: [FilteringTextInputFormatter.digitsOnly], + // readOnly: true, + ), // Password - TextFormField( - controller: _passwordController, - obscureText: _obscurePassword, - decoration: InputDecoration( - labelText: "Password", - prefixIcon: const Icon(Icons.lock), - suffixIcon: IconButton( - icon: Icon( - _obscurePassword - ? Icons.visibility - : Icons.visibility_off, - ), - onPressed: () { - setState(() => _obscurePassword = !_obscurePassword); - }, - ), - ), - validator: (value) { - if (value == null || value.isEmpty) { - return "Please enter your password"; - } - if (value.length < 6) { - return "Password must be at least 6 characters"; - } - return null; - }, - ), const SizedBox(height: 24), // Login Button @@ -144,14 +135,15 @@ class _LoginScreenState extends State { onPressed: _isLoading ? null : _handleLogin, child: _isLoading ? const SizedBox( - height: 20, - width: 20, - child: CircularProgressIndicator( - strokeWidth: 2, - valueColor: - AlwaysStoppedAnimation(Colors.white), - ), - ) + height: 20, + width: 20, + child: CircularProgressIndicator( + strokeWidth: 2, + valueColor: AlwaysStoppedAnimation( + Colors.white, + ), + ), + ) : const Text("Login"), ), ), diff --git a/lib/presentation/themes/indicators/text_field_theme.dart b/lib/presentation/themes/indicators/text_field_theme.dart new file mode 100644 index 0000000..3f9100e --- /dev/null +++ b/lib/presentation/themes/indicators/text_field_theme.dart @@ -0,0 +1,123 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; + +// import 'package:uae_stat/config/my_theme.dart'; + +class ThemedFormField extends HookWidget { + const ThemedFormField({ + super.key, + required this.hintText, + this.imgPath, + this.txtwidth, + required this.controller, + this.validator, + this.isObscurable = false, + this.hintColor, + this.backgroundColor, + this.borderColor, + this.errorBorderColor, + this.errorTextColor, + this.readOnly = false, // ✅ new + this.keyboardType, // ✅ new + this.maxLength, // ✅ new + this.inputFormatters, + }); + + final String hintText; + final String? imgPath; + final String? Function(String? text)? validator; + final TextEditingController controller; + final bool isObscurable; + final Color? hintColor; + final Color? backgroundColor; + final Color? borderColor; + final Color? errorBorderColor; + final Color? errorTextColor; + final double? txtwidth; + final bool readOnly; + final TextInputType? keyboardType; + final int? maxLength; + final List? inputFormatters; + + @override + Widget build(BuildContext context) { + final isObscured = useState(true); + final boxDecoration = BoxDecoration( + borderRadius: BorderRadius.circular(10), + ); + final obscureBtn = IconButton( + onPressed: () => isObscured.value = !isObscured.value, + icon: Icon( + isObscured.value + ? Icons.visibility_off_outlined + : Icons.visibility_outlined, + color: const Color(0xff9EA2A9), + ), + ); + final inputDecoration = InputDecoration( + errorStyle: TextStyle(color: const Color(0xFFD83731)), + errorBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide(color: const Color(0xFFD83731), width: 1), + ), + focusedErrorBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide(color: const Color(0xFFD83731), width: 1), + ), + filled: true, + fillColor: backgroundColor ?? Colors.white, + contentPadding: const EdgeInsets.symmetric(vertical: 14, horizontal: 15), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide(color: Color(0xFF50A398)), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide(color: Color(0xFF50A398)), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide(color: Color(0xFF50A398), width: 2), + ), + hintText: hintText, + hintStyle: TextStyle( + // ✅ dynamic hint color + color: const Color(0xFFC3C6CB), + ), + prefixIconConstraints: const BoxConstraints( + maxWidth: 25 + 16 + 10, + maxHeight: 25 + (8 * 2), + ), + prefixIcon: imgPath != null + ? Padding( + padding: const EdgeInsetsDirectional.only(start: 16, end: 10), + child: Image.asset( + imgPath!, + fit: BoxFit.fitHeight, + height: 25, + width: 25, + ), + ) + : null, + + suffixIcon: isObscurable ? obscureBtn : null, + ); + return Container( + width: txtwidth ?? MediaQuery.of(context).size.width, + child: DecoratedBox( + decoration: boxDecoration, + child: TextFormField( + controller: controller, + decoration: inputDecoration, + validator: validator, + obscureText: isObscurable && isObscured.value, + readOnly: readOnly, // ✅ now supported + keyboardType: keyboardType, // ✅ e.g. TextInputType.number + maxLength: maxLength, // ✅ max length + inputFormatters: inputFormatters, + ), + ), + ); + } +} diff --git a/lib/presentation/widgets/custom_action_popup.dart b/lib/presentation/widgets/custom_action_popup.dart new file mode 100644 index 0000000..428b0f8 --- /dev/null +++ b/lib/presentation/widgets/custom_action_popup.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; + +class CustomPopupMenuEntry extends PopupMenuEntry { + final Widget child; + + CustomPopupMenuEntry({required this.child}); + + @override + double get height => 0; // 0 because height depends on child + + @override + bool represents(int? value) => false; + + @override + State createState() => _CustomPopupMenuEntryState(); +} + +class _CustomPopupMenuEntryState extends State { + @override + Widget build(BuildContext context) { + return IntrinsicHeight( + // <-- wrap with IntrinsicHeight + child: widget.child, + ); + } +} diff --git a/lib/presentation/widgets/custom_dataTable.dart b/lib/presentation/widgets/custom_dataTable.dart new file mode 100644 index 0000000..e734ccd --- /dev/null +++ b/lib/presentation/widgets/custom_dataTable.dart @@ -0,0 +1,53 @@ +import 'package:flutter/material.dart'; +// import 'package:google_fonts/google_fonts.dart'; + +class CustomPaginatedTable extends StatelessWidget { + final List columns; + final List rows; + final int currentPage; + final int itemsPerPage; + final bool isDesktop; + + const CustomPaginatedTable({ + super.key, + required this.columns, + required this.rows, + required this.currentPage, + required this.itemsPerPage, + this.isDesktop = false, + }); + + @override + Widget build(BuildContext context) { + return LayoutBuilder( + builder: (context, constraints) { + // double minWidth = isDesktop ? MediaQuery.of(context).size.width : 1300; + double minWidth = isDesktop ? constraints.maxWidth : 1300; + return SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: ConstrainedBox( + // width: MediaQuery.of(context).size.width * 0.8, + constraints: BoxConstraints(minWidth: minWidth), + + child: DataTable( + dividerThickness: 0.5, + + // columnSpacing: isDesktop ? 24.0 : 16.0, + border: TableBorder( + horizontalInside: BorderSide( + width: 0.5, + // color: Colors.grey.shade200, + ), + ), + columns: columns, + rows: rows, + ), + ), + ), + ); + }, + ); + } +} diff --git a/pubspec.lock b/pubspec.lock index 50aa624..b05dae4 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -246,6 +246,14 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_hooks: + dependency: "direct main" + description: + name: flutter_hooks + sha256: "8ae1f090e5f4ef5cfa6670ce1ab5dddadd33f3533a7f9ba19d9f958aa2a89f42" + url: "https://pub.dev" + source: hosted + version: "0.21.3+1" flutter_lints: dependency: "direct dev" description: @@ -352,6 +360,14 @@ packages: url: "https://pub.dev" source: hosted version: "16.1.0" + google_fonts: + dependency: "direct main" + description: + name: google_fonts + sha256: ebc94ed30fd13cefd397cb1658b593f21571f014b7d1197eeb41fb95f05d899a + url: "https://pub.dev" + source: hosted + version: "6.3.1" graphs: dependency: transitive description: @@ -384,6 +400,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.1.2" + intl: + dependency: "direct main" + description: + name: intl + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" + url: "https://pub.dev" + source: hosted + version: "0.20.2" io: dependency: transitive description: @@ -879,4 +903,4 @@ packages: version: "3.1.3" sdks: dart: ">=3.8.1 <4.0.0" - flutter: ">=3.27.0" + flutter: ">=3.32.0" diff --git a/pubspec.yaml b/pubspec.yaml index eeb58f9..87eba71 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -44,6 +44,9 @@ dependencies: connectivity_plus: ^6.1.5 responsive_framework: ^1.5.1 flutter_secure_storage: ^9.2.4 + google_fonts: ^6.3.1 + intl: ^0.20.2 + flutter_hooks: ^0.21.3+1 dev_dependencies: flutter_test: