changes
This commit is contained in:
parent
c9b7446596
commit
92da28e6db
20
.dart_tool/dartpad/web_plugin_registrant.dart
Normal file
20
.dart_tool/dartpad/web_plugin_registrant.dart
Normal file
@ -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();
|
||||
}
|
||||
700
.dart_tool/package_config.json
Normal file
700
.dart_tool/package_config.json
Normal file
@ -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"
|
||||
}
|
||||
461
.dart_tool/package_config_subset
Normal file
461
.dart_tool/package_config_subset
Normal file
@ -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
|
||||
1103
.dart_tool/package_graph.json
Normal file
1103
.dart_tool/package_graph.json
Normal file
File diff suppressed because it is too large
Load Diff
1
.dart_tool/version
Normal file
1
.dart_tool/version
Normal file
@ -0,0 +1 @@
|
||||
3.32.8
|
||||
1
.flutter-plugins-dependencies
Normal file
1
.flutter-plugins-dependencies
Normal file
File diff suppressed because one or more lines are too long
BIN
Nhance_Partner.zip
Normal file
BIN
Nhance_Partner.zip
Normal file
Binary file not shown.
1
build/34eccf8dcc8ca8d9fe7e6369d18dc1c6/_composite.stamp
Normal file
1
build/34eccf8dcc8ca8d9fe7e6369d18dc1c6/_composite.stamp
Normal file
@ -0,0 +1 @@
|
||||
{"inputs":[],"outputs":[]}
|
||||
@ -0,0 +1 @@
|
||||
{"inputs":[],"outputs":[]}
|
||||
@ -0,0 +1 @@
|
||||
{"inputs":[],"outputs":[]}
|
||||
Binary file not shown.
@ -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
|
||||
|
||||
@ -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
|
||||
},
|
||||
|
||||
@ -6,6 +6,7 @@ class AuthService {
|
||||
|
||||
// Save token after login
|
||||
static Future<void> saveToken(String token) async {
|
||||
print("SAveTOken");
|
||||
await _storage.write(key: _tokenKey, value: token);
|
||||
}
|
||||
|
||||
@ -16,6 +17,7 @@ class AuthService {
|
||||
|
||||
// Delete token (logout)
|
||||
static Future<void> 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);
|
||||
// }
|
||||
// }
|
||||
|
||||
201
lib/data/utils/Pagination.dart
Normal file
201
lib/data/utils/Pagination.dart
Normal file
@ -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<int>(
|
||||
// value: itemsPerPage,
|
||||
// items:
|
||||
// [5, 10, 15, 20, 50].map((int value) {
|
||||
// return DropdownMenuItem<int>(
|
||||
// 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<int>(
|
||||
value: itemsPerPage,
|
||||
items: [10, 20, 50, 100]
|
||||
.map(
|
||||
(value) => DropdownMenuItem<int>(
|
||||
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<Widget> _buildPageButtons() {
|
||||
final int totalPages = (totalItems / itemsPerPage).ceil();
|
||||
List<Widget> 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)),
|
||||
);
|
||||
}
|
||||
}
|
||||
0
lib/data/utils/date_formatter.dart
Normal file
0
lib/data/utils/date_formatter.dart
Normal file
0
lib/data/utils/helpers.dart
Normal file
0
lib/data/utils/helpers.dart
Normal file
88
lib/data/utils/validators.dart
Normal file
88
lib/data/utils/validators.dart
Normal file
@ -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<String> 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;
|
||||
}
|
||||
}
|
||||
@ -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");
|
||||
|
||||
235
lib/presentation/screens/claims/claimsList.dart
Normal file
235
lib/presentation/screens/claims/claimsList.dart
Normal file
@ -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<ClaimsList> createState() => _ClaimsListState();
|
||||
}
|
||||
|
||||
class _ClaimsListState extends State<ClaimsList> {
|
||||
int currentPage = 0;
|
||||
int itemsPerPage = 10;
|
||||
|
||||
List<Map<String, dynamic>> 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<Map<String, dynamic>> get paginatedData =>
|
||||
dataVal.skip(currentPage * itemsPerPage).take(itemsPerPage).toList();
|
||||
|
||||
List<Widget> _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<int>(
|
||||
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;
|
||||
});
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -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<LoginScreen> {
|
||||
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<LoginScreen> {
|
||||
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<LoginScreen> {
|
||||
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<LoginScreen> {
|
||||
),
|
||||
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<LoginScreen> {
|
||||
onPressed: _isLoading ? null : _handleLogin,
|
||||
child: _isLoading
|
||||
? const SizedBox(
|
||||
height: 20,
|
||||
width: 20,
|
||||
child: CircularProgressIndicator(
|
||||
strokeWidth: 2,
|
||||
valueColor:
|
||||
AlwaysStoppedAnimation<Color>(Colors.white),
|
||||
),
|
||||
)
|
||||
height: 20,
|
||||
width: 20,
|
||||
child: CircularProgressIndicator(
|
||||
strokeWidth: 2,
|
||||
valueColor: AlwaysStoppedAnimation<Color>(
|
||||
Colors.white,
|
||||
),
|
||||
),
|
||||
)
|
||||
: const Text("Login"),
|
||||
),
|
||||
),
|
||||
|
||||
123
lib/presentation/themes/indicators/text_field_theme.dart
Normal file
123
lib/presentation/themes/indicators/text_field_theme.dart
Normal file
@ -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<TextInputFormatter>? inputFormatters;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final isObscured = useState<bool>(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,
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
26
lib/presentation/widgets/custom_action_popup.dart
Normal file
26
lib/presentation/widgets/custom_action_popup.dart
Normal file
@ -0,0 +1,26 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class CustomPopupMenuEntry extends PopupMenuEntry<int> {
|
||||
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<StatefulWidget> createState() => _CustomPopupMenuEntryState();
|
||||
}
|
||||
|
||||
class _CustomPopupMenuEntryState extends State<CustomPopupMenuEntry> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return IntrinsicHeight(
|
||||
// <-- wrap with IntrinsicHeight
|
||||
child: widget.child,
|
||||
);
|
||||
}
|
||||
}
|
||||
53
lib/presentation/widgets/custom_dataTable.dart
Normal file
53
lib/presentation/widgets/custom_dataTable.dart
Normal file
@ -0,0 +1,53 @@
|
||||
import 'package:flutter/material.dart';
|
||||
// import 'package:google_fonts/google_fonts.dart';
|
||||
|
||||
class CustomPaginatedTable extends StatelessWidget {
|
||||
final List<DataColumn> columns;
|
||||
final List<DataRow> 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,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
26
pubspec.lock
26
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"
|
||||
|
||||
@ -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:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user