Login design and functionality added

This commit is contained in:
Surendiran 2025-09-03 17:20:03 +05:30
parent 1f7f806e0a
commit 5f7072cab8
53 changed files with 3317 additions and 980 deletions

File diff suppressed because one or more lines are too long

View File

@ -7,14 +7,28 @@
// ignore_for_file: type=lint // ignore_for_file: type=lint
import 'package:connectivity_plus/src/connectivity_plus_web.dart'; import 'package:connectivity_plus/src/connectivity_plus_web.dart';
import 'package:firebase_app_check_web/firebase_app_check_web.dart';
import 'package:firebase_auth_web/firebase_auth_web.dart';
import 'package:firebase_core_web/firebase_core_web.dart';
import 'package:firebase_messaging_web/firebase_messaging_web.dart';
import 'package:flutter_secure_storage_web/flutter_secure_storage_web.dart'; import 'package:flutter_secure_storage_web/flutter_secure_storage_web.dart';
import 'package:google_sign_in_web/google_sign_in_web.dart';
import 'package:package_info_plus/src/package_info_plus_web.dart';
import 'package:shared_preferences_web/shared_preferences_web.dart'; import 'package:shared_preferences_web/shared_preferences_web.dart';
import 'package:url_launcher_web/url_launcher_web.dart';
import 'package:flutter_web_plugins/flutter_web_plugins.dart'; import 'package:flutter_web_plugins/flutter_web_plugins.dart';
void registerPlugins([final Registrar? pluginRegistrar]) { void registerPlugins([final Registrar? pluginRegistrar]) {
final Registrar registrar = pluginRegistrar ?? webPluginRegistrar; final Registrar registrar = pluginRegistrar ?? webPluginRegistrar;
ConnectivityPlusWebPlugin.registerWith(registrar); ConnectivityPlusWebPlugin.registerWith(registrar);
FirebaseAppCheckWeb.registerWith(registrar);
FirebaseAuthWeb.registerWith(registrar);
FirebaseCoreWeb.registerWith(registrar);
FirebaseMessagingWeb.registerWith(registrar);
FlutterSecureStorageWeb.registerWith(registrar); FlutterSecureStorageWeb.registerWith(registrar);
GoogleSignInPlugin.registerWith(registrar);
PackageInfoPlusWebPlugin.registerWith(registrar);
SharedPreferencesPlugin.registerWith(registrar); SharedPreferencesPlugin.registerWith(registrar);
UrlLauncherPlugin.registerWith(registrar);
registrar.registerMessageHandler(); registrar.registerMessageHandler();
} }

View File

@ -7,12 +7,24 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.5" "languageVersion": "3.5"
}, },
{
"name": "_flutterfire_internals",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/_flutterfire_internals-1.3.61",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{ {
"name": "analyzer", "name": "analyzer",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/analyzer-7.7.1", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/analyzer-7.7.1",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.5" "languageVersion": "3.5"
}, },
{
"name": "animated_bottom_navigation_bar",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/animated_bottom_navigation_bar-1.4.0",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{ {
"name": "args", "name": "args",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/args-2.7.0", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/args-2.7.0",
@ -151,6 +163,12 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{
"name": "easy_loading_button",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/easy_loading_button-0.4.0",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{ {
"name": "equatable", "name": "equatable",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/equatable-2.0.7", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/equatable-2.0.7",
@ -175,6 +193,78 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.0" "languageVersion": "3.0"
}, },
{
"name": "firebase_app_check",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/firebase_app_check-0.4.0+1",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "firebase_app_check_platform_interface",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/firebase_app_check_platform_interface-0.2.0+1",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "firebase_app_check_web",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/firebase_app_check_web-0.2.0+16",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "firebase_auth",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/firebase_auth-6.0.2",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "firebase_auth_platform_interface",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/firebase_auth_platform_interface-8.1.1",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "firebase_auth_web",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/firebase_auth_web-6.0.2",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "firebase_core",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/firebase_core-4.1.0",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "firebase_core_platform_interface",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/firebase_core_platform_interface-6.0.0",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "firebase_core_web",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/firebase_core_web-3.1.0",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "firebase_messaging",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/firebase_messaging-16.0.1",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "firebase_messaging_platform_interface",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/firebase_messaging_platform_interface-4.7.1",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "firebase_messaging_web",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/firebase_messaging_web-4.0.1",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{ {
"name": "fixnum", "name": "fixnum",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/fixnum-1.1.1", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/fixnum-1.1.1",
@ -185,7 +275,13 @@
"name": "flutter", "name": "flutter",
"rootUri": "file:///Users/venbateam/Documents/flutter/packages/flutter", "rootUri": "file:///Users/venbateam/Documents/flutter/packages/flutter",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.7" "languageVersion": "3.8"
},
{
"name": "flutter_dotenv",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_dotenv-6.0.0",
"packageUri": "lib/",
"languageVersion": "2.12"
}, },
{ {
"name": "flutter_hooks", "name": "flutter_hooks",
@ -195,9 +291,15 @@
}, },
{ {
"name": "flutter_lints", "name": "flutter_lints",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_lints-5.0.0", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_lints-6.0.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.5" "languageVersion": "3.8"
},
{
"name": "flutter_plugin_android_lifecycle",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.30",
"packageUri": "lib/",
"languageVersion": "3.7"
}, },
{ {
"name": "flutter_riverpod", "name": "flutter_riverpod",
@ -245,13 +347,13 @@
"name": "flutter_test", "name": "flutter_test",
"rootUri": "file:///Users/venbateam/Documents/flutter/packages/flutter_test", "rootUri": "file:///Users/venbateam/Documents/flutter/packages/flutter_test",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.7" "languageVersion": "3.8"
}, },
{ {
"name": "flutter_web_plugins", "name": "flutter_web_plugins",
"rootUri": "file:///Users/venbateam/Documents/flutter/packages/flutter_web_plugins", "rootUri": "file:///Users/venbateam/Documents/flutter/packages/flutter_web_plugins",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.7" "languageVersion": "3.8"
}, },
{ {
"name": "frontend_server_client", "name": "frontend_server_client",
@ -283,6 +385,42 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.7" "languageVersion": "3.7"
}, },
{
"name": "google_identity_services_web",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/google_identity_services_web-0.3.3+1",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "google_sign_in",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/google_sign_in-7.1.1",
"packageUri": "lib/",
"languageVersion": "3.6"
},
{
"name": "google_sign_in_android",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/google_sign_in_android-7.0.5",
"packageUri": "lib/",
"languageVersion": "3.7"
},
{
"name": "google_sign_in_ios",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/google_sign_in_ios-6.1.0",
"packageUri": "lib/",
"languageVersion": "3.6"
},
{
"name": "google_sign_in_platform_interface",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/google_sign_in_platform_interface-3.0.0",
"packageUri": "lib/",
"languageVersion": "3.6"
},
{
"name": "google_sign_in_web",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/google_sign_in_web-1.0.0",
"packageUri": "lib/",
"languageVersion": "3.6"
},
{ {
"name": "graphs", "name": "graphs",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/graphs-2.3.2", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/graphs-2.3.2",
@ -307,6 +445,12 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.4" "languageVersion": "3.4"
}, },
{
"name": "iconsax_flutter",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/iconsax_flutter-1.0.1",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{ {
"name": "intl", "name": "intl",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/intl-0.20.2", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/intl-0.20.2",
@ -337,30 +481,66 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.8" "languageVersion": "3.8"
}, },
{
"name": "jwt_decode",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/jwt_decode-0.3.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{ {
"name": "leak_tracker", "name": "leak_tracker",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker-10.0.9", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker-11.0.1",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.2" "languageVersion": "3.2"
}, },
{ {
"name": "leak_tracker_flutter_testing", "name": "leak_tracker_flutter_testing",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.9", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.10",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.2" "languageVersion": "3.2"
}, },
{ {
"name": "leak_tracker_testing", "name": "leak_tracker_testing",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.2",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.2" "languageVersion": "3.2"
}, },
{ {
"name": "lints", "name": "lints",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/lints-5.1.1", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/lints-6.0.0",
"packageUri": "lib/",
"languageVersion": "3.8"
},
{
"name": "local_auth",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/local_auth-2.3.0",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "local_auth_android",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/local_auth_android-1.0.52",
"packageUri": "lib/",
"languageVersion": "3.7"
},
{
"name": "local_auth_darwin",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/local_auth_darwin-1.6.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.6"
}, },
{
"name": "local_auth_platform_interface",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/local_auth_platform_interface-1.0.10",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "local_auth_windows",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/local_auth_windows-1.0.11",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{ {
"name": "logging", "name": "logging",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/logging-1.3.0", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/logging-1.3.0",
@ -403,6 +583,18 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.4" "languageVersion": "3.4"
}, },
{
"name": "package_info_plus",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/package_info_plus-8.3.1",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "package_info_plus_platform_interface",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-3.2.1",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{ {
"name": "path", "name": "path",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/path-1.9.1", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/path-1.9.1",
@ -445,12 +637,24 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.2" "languageVersion": "3.2"
}, },
{
"name": "pausable_timer",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/pausable_timer-3.1.0+3",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{ {
"name": "petitparser", "name": "petitparser",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/petitparser-6.1.0", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/petitparser-6.1.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.5" "languageVersion": "3.5"
}, },
{
"name": "pinput",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/pinput-5.0.1",
"packageUri": "lib/",
"languageVersion": "2.15"
},
{ {
"name": "platform", "name": "platform",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/platform-3.1.6", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/platform-3.1.6",
@ -551,7 +755,7 @@
"name": "sky_engine", "name": "sky_engine",
"rootUri": "file:///Users/venbateam/Documents/flutter/bin/cache/pkg/sky_engine", "rootUri": "file:///Users/venbateam/Documents/flutter/bin/cache/pkg/sky_engine",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.7" "languageVersion": "3.8"
}, },
{ {
"name": "source_gen", "name": "source_gen",
@ -571,6 +775,12 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.1" "languageVersion": "3.1"
}, },
{
"name": "sprintf",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/sprintf-7.0.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{ {
"name": "stack_trace", "name": "stack_trace",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/stack_trace-1.12.1", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/stack_trace-1.12.1",
@ -609,7 +819,7 @@
}, },
{ {
"name": "test_api", "name": "test_api",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/test_api-0.7.4", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/test_api-0.7.6",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.5" "languageVersion": "3.5"
}, },
@ -619,6 +829,12 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.4" "languageVersion": "3.4"
}, },
{
"name": "toastification",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/toastification-3.0.3",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{ {
"name": "typed_data", "name": "typed_data",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/typed_data-1.4.0", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/typed_data-1.4.0",
@ -626,10 +842,70 @@
"languageVersion": "3.5" "languageVersion": "3.5"
}, },
{ {
"name": "vector_math", "name": "universal_platform",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/vector_math-2.1.4", "rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/universal_platform-1.1.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "2.12"
},
{
"name": "url_launcher",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher-6.3.2",
"packageUri": "lib/",
"languageVersion": "3.6"
},
{
"name": "url_launcher_android",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.18",
"packageUri": "lib/",
"languageVersion": "3.7"
},
{
"name": "url_launcher_ios",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.4",
"packageUri": "lib/",
"languageVersion": "3.7"
},
{
"name": "url_launcher_linux",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "url_launcher_macos",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.3",
"packageUri": "lib/",
"languageVersion": "3.7"
},
{
"name": "url_launcher_platform_interface",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.3.2",
"packageUri": "lib/",
"languageVersion": "3.1"
},
{
"name": "url_launcher_web",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher_web-2.4.1",
"packageUri": "lib/",
"languageVersion": "3.6"
},
{
"name": "url_launcher_windows",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "uuid",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/uuid-4.5.1",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "vector_math",
"rootUri": "file:///Users/venbateam/.pub-cache/hosted/pub.dev/vector_math-2.2.0",
"packageUri": "lib/",
"languageVersion": "3.1"
}, },
{ {
"name": "vm_service", "name": "vm_service",
@ -693,8 +969,8 @@
} }
], ],
"generator": "pub", "generator": "pub",
"generatorVersion": "3.8.1", "generatorVersion": "3.9.0",
"flutterRoot": "file:///Users/venbateam/Documents/flutter", "flutterRoot": "file:///Users/venbateam/Documents/flutter",
"flutterVersion": "3.32.8", "flutterVersion": "3.35.2",
"pubCache": "file:///Users/venbateam/.pub-cache" "pubCache": "file:///Users/venbateam/.pub-cache"
} }

View File

@ -1,461 +0,0 @@
_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

View File

@ -7,25 +7,39 @@
"name": "nhance_partner", "name": "nhance_partner",
"version": "1.0.0+1", "version": "1.0.0+1",
"dependencies": [ "dependencies": [
"animated_bottom_navigation_bar",
"connectivity_plus", "connectivity_plus",
"cupertino_icons", "cupertino_icons",
"easy_loading_button",
"equatable", "equatable",
"firebase_app_check",
"firebase_auth",
"firebase_core",
"firebase_messaging",
"flutter", "flutter",
"flutter_dotenv",
"flutter_hooks", "flutter_hooks",
"flutter_lints",
"flutter_riverpod", "flutter_riverpod",
"flutter_secure_storage", "flutter_secure_storage",
"get_it", "get_it",
"go_router", "go_router",
"google_fonts", "google_fonts",
"google_sign_in",
"http", "http",
"intl", "intl",
"json_annotation", "json_annotation",
"jwt_decode",
"local_auth",
"package_info_plus",
"pinput",
"responsive_framework", "responsive_framework",
"shared_preferences" "shared_preferences",
"toastification",
"url_launcher"
], ],
"devDependencies": [ "devDependencies": [
"build_runner", "build_runner",
"flutter_lints",
"flutter_test", "flutter_test",
"json_serializable" "json_serializable"
] ]
@ -80,39 +94,173 @@
"web_socket_channel" "web_socket_channel"
] ]
}, },
{
"name": "flutter_test",
"version": "0.0.0",
"dependencies": [
"clock",
"collection",
"fake_async",
"flutter",
"leak_tracker_flutter_testing",
"matcher",
"meta",
"path",
"stack_trace",
"stream_channel",
"test_api",
"vector_math"
]
},
{
"name": "easy_loading_button",
"version": "0.4.0",
"dependencies": [
"flutter"
]
},
{ {
"name": "flutter_lints", "name": "flutter_lints",
"version": "5.0.0", "version": "6.0.0",
"dependencies": [ "dependencies": [
"lints" "lints"
] ]
}, },
{ {
"name": "flutter_test", "name": "package_info_plus",
"version": "0.0.0", "version": "8.3.1",
"dependencies": [ "dependencies": [
"async",
"boolean_selector",
"characters",
"clock", "clock",
"collection", "ffi",
"fake_async",
"flutter", "flutter",
"leak_tracker", "flutter_web_plugins",
"leak_tracker_flutter_testing", "http",
"leak_tracker_testing",
"matcher",
"material_color_utilities",
"meta", "meta",
"package_info_plus_platform_interface",
"path", "path",
"source_span", "web",
"stack_trace", "win32"
"stream_channel", ]
"string_scanner", },
"term_glyph", {
"test_api", "name": "firebase_app_check",
"vector_math", "version": "0.4.0+1",
"vm_service" "dependencies": [
"firebase_app_check_platform_interface",
"firebase_app_check_web",
"firebase_core",
"firebase_core_platform_interface",
"flutter"
]
},
{
"name": "firebase_auth",
"version": "6.0.2",
"dependencies": [
"firebase_auth_platform_interface",
"firebase_auth_web",
"firebase_core",
"firebase_core_platform_interface",
"flutter",
"meta"
]
},
{
"name": "firebase_core",
"version": "4.1.0",
"dependencies": [
"firebase_core_platform_interface",
"firebase_core_web",
"flutter",
"meta"
]
},
{
"name": "google_sign_in",
"version": "7.1.1",
"dependencies": [
"flutter",
"google_sign_in_android",
"google_sign_in_ios",
"google_sign_in_platform_interface",
"google_sign_in_web"
]
},
{
"name": "local_auth",
"version": "2.3.0",
"dependencies": [
"flutter",
"local_auth_android",
"local_auth_darwin",
"local_auth_platform_interface",
"local_auth_windows"
]
},
{
"name": "firebase_messaging",
"version": "16.0.1",
"dependencies": [
"firebase_core",
"firebase_core_platform_interface",
"firebase_messaging_platform_interface",
"firebase_messaging_web",
"flutter",
"meta"
]
},
{
"name": "url_launcher",
"version": "6.3.2",
"dependencies": [
"flutter",
"url_launcher_android",
"url_launcher_ios",
"url_launcher_linux",
"url_launcher_macos",
"url_launcher_platform_interface",
"url_launcher_web",
"url_launcher_windows"
]
},
{
"name": "toastification",
"version": "3.0.3",
"dependencies": [
"collection",
"equatable",
"flutter",
"http",
"iconsax_flutter",
"pausable_timer",
"uuid"
]
},
{
"name": "jwt_decode",
"version": "0.3.1",
"dependencies": []
},
{
"name": "flutter_dotenv",
"version": "6.0.0",
"dependencies": [
"flutter"
]
},
{
"name": "animated_bottom_navigation_bar",
"version": "1.4.0",
"dependencies": [
"flutter"
]
},
{
"name": "pinput",
"version": "5.0.1",
"dependencies": [
"flutter",
"universal_platform"
] ]
}, },
{ {
@ -561,28 +709,6 @@
"version": "2.7.0", "version": "2.7.0",
"dependencies": [] "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", "name": "stream_channel",
"version": "2.1.4", "version": "2.1.4",
@ -590,63 +716,14 @@
"async" "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", "name": "collection",
"version": "1.19.1", "version": "1.19.1",
"dependencies": [] "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", "name": "leak_tracker_flutter_testing",
"version": "3.0.9", "version": "3.0.10",
"dependencies": [ "dependencies": [
"flutter", "flutter",
"leak_tracker", "leak_tracker",
@ -657,7 +734,7 @@
}, },
{ {
"name": "vector_math", "name": "vector_math",
"version": "2.1.4", "version": "2.2.0",
"dependencies": [] "dependencies": []
}, },
{ {
@ -686,7 +763,7 @@
}, },
{ {
"name": "test_api", "name": "test_api",
"version": "0.7.4", "version": "0.7.6",
"dependencies": [ "dependencies": [
"async", "async",
"boolean_selector", "boolean_selector",
@ -699,6 +776,300 @@
"term_glyph" "term_glyph"
] ]
}, },
{
"name": "lints",
"version": "6.0.0",
"dependencies": []
},
{
"name": "win32",
"version": "5.14.0",
"dependencies": [
"ffi"
]
},
{
"name": "web",
"version": "1.1.1",
"dependencies": []
},
{
"name": "package_info_plus_platform_interface",
"version": "3.2.1",
"dependencies": [
"flutter",
"meta",
"plugin_platform_interface"
]
},
{
"name": "flutter_web_plugins",
"version": "0.0.0",
"dependencies": [
"flutter"
]
},
{
"name": "ffi",
"version": "2.1.4",
"dependencies": []
},
{
"name": "firebase_core_platform_interface",
"version": "6.0.0",
"dependencies": [
"collection",
"flutter",
"flutter_test",
"meta",
"plugin_platform_interface"
]
},
{
"name": "firebase_app_check_web",
"version": "0.2.0+16",
"dependencies": [
"_flutterfire_internals",
"firebase_app_check_platform_interface",
"firebase_core",
"firebase_core_web",
"flutter",
"flutter_web_plugins",
"web"
]
},
{
"name": "firebase_app_check_platform_interface",
"version": "0.2.0+1",
"dependencies": [
"_flutterfire_internals",
"firebase_core",
"flutter",
"meta",
"plugin_platform_interface"
]
},
{
"name": "firebase_auth_web",
"version": "6.0.2",
"dependencies": [
"firebase_auth_platform_interface",
"firebase_core",
"firebase_core_web",
"flutter",
"flutter_web_plugins",
"http_parser",
"meta",
"web"
]
},
{
"name": "firebase_auth_platform_interface",
"version": "8.1.1",
"dependencies": [
"_flutterfire_internals",
"collection",
"firebase_core",
"flutter",
"http",
"meta",
"plugin_platform_interface"
]
},
{
"name": "firebase_core_web",
"version": "3.1.0",
"dependencies": [
"firebase_core_platform_interface",
"flutter",
"flutter_web_plugins",
"meta",
"web"
]
},
{
"name": "google_sign_in_web",
"version": "1.0.0",
"dependencies": [
"flutter",
"flutter_web_plugins",
"google_identity_services_web",
"google_sign_in_platform_interface",
"http",
"web"
]
},
{
"name": "google_sign_in_platform_interface",
"version": "3.0.0",
"dependencies": [
"flutter",
"plugin_platform_interface"
]
},
{
"name": "google_sign_in_ios",
"version": "6.1.0",
"dependencies": [
"flutter",
"google_sign_in_platform_interface"
]
},
{
"name": "google_sign_in_android",
"version": "7.0.5",
"dependencies": [
"flutter",
"google_sign_in_platform_interface"
]
},
{
"name": "local_auth_windows",
"version": "1.0.11",
"dependencies": [
"flutter",
"local_auth_platform_interface"
]
},
{
"name": "local_auth_platform_interface",
"version": "1.0.10",
"dependencies": [
"flutter",
"plugin_platform_interface"
]
},
{
"name": "local_auth_darwin",
"version": "1.6.0",
"dependencies": [
"flutter",
"intl",
"local_auth_platform_interface"
]
},
{
"name": "local_auth_android",
"version": "1.0.52",
"dependencies": [
"flutter",
"flutter_plugin_android_lifecycle",
"intl",
"local_auth_platform_interface"
]
},
{
"name": "firebase_messaging_web",
"version": "4.0.1",
"dependencies": [
"_flutterfire_internals",
"firebase_core",
"firebase_core_web",
"firebase_messaging_platform_interface",
"flutter",
"flutter_web_plugins",
"meta",
"web"
]
},
{
"name": "firebase_messaging_platform_interface",
"version": "4.7.1",
"dependencies": [
"_flutterfire_internals",
"firebase_core",
"flutter",
"meta",
"plugin_platform_interface"
]
},
{
"name": "url_launcher_windows",
"version": "3.1.4",
"dependencies": [
"flutter",
"url_launcher_platform_interface"
]
},
{
"name": "url_launcher_web",
"version": "2.4.1",
"dependencies": [
"flutter",
"flutter_web_plugins",
"url_launcher_platform_interface",
"web"
]
},
{
"name": "url_launcher_platform_interface",
"version": "2.3.2",
"dependencies": [
"flutter",
"plugin_platform_interface"
]
},
{
"name": "url_launcher_macos",
"version": "3.2.3",
"dependencies": [
"flutter",
"url_launcher_platform_interface"
]
},
{
"name": "url_launcher_linux",
"version": "3.2.1",
"dependencies": [
"flutter",
"url_launcher_platform_interface"
]
},
{
"name": "url_launcher_ios",
"version": "6.3.4",
"dependencies": [
"flutter",
"url_launcher_platform_interface"
]
},
{
"name": "url_launcher_android",
"version": "6.3.18",
"dependencies": [
"flutter",
"url_launcher_platform_interface"
]
},
{
"name": "iconsax_flutter",
"version": "1.0.1",
"dependencies": [
"flutter"
]
},
{
"name": "pausable_timer",
"version": "3.1.0+3",
"dependencies": [
"clock"
]
},
{
"name": "uuid",
"version": "4.5.1",
"dependencies": [
"crypto",
"fixnum",
"meta",
"sprintf"
]
},
{
"name": "universal_platform",
"version": "1.1.0",
"dependencies": []
},
{ {
"name": "path_provider", "name": "path_provider",
"version": "2.1.5", "version": "2.1.5",
@ -764,11 +1135,6 @@
"dbus" "dbus"
] ]
}, },
{
"name": "web",
"version": "1.1.1",
"dependencies": []
},
{ {
"name": "connectivity_plus_platform_interface", "name": "connectivity_plus_platform_interface",
"version": "2.0.1", "version": "2.0.1",
@ -778,18 +1144,6 @@
"plugin_platform_interface" "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", "name": "shared_preferences_windows",
"version": "2.4.1", "version": "2.4.1",
@ -880,6 +1234,18 @@
"version": "0.0.0", "version": "0.0.0",
"dependencies": [] "dependencies": []
}, },
{
"name": "material_color_utilities",
"version": "0.11.1",
"dependencies": [
"collection"
]
},
{
"name": "characters",
"version": "1.4.0",
"dependencies": []
},
{ {
"name": "yaml", "name": "yaml",
"version": "3.1.3", "version": "3.1.3",
@ -889,6 +1255,15 @@
"string_scanner" "string_scanner"
] ]
}, },
{
"name": "source_span",
"version": "1.10.1",
"dependencies": [
"collection",
"path",
"term_glyph"
]
},
{ {
"name": "checked_yaml", "name": "checked_yaml",
"version": "2.0.4", "version": "2.0.4",
@ -941,6 +1316,13 @@
"web" "web"
] ]
}, },
{
"name": "string_scanner",
"version": "1.4.1",
"dependencies": [
"source_span"
]
},
{ {
"name": "file", "name": "file",
"version": "7.0.1", "version": "7.0.1",
@ -981,6 +1363,82 @@
"pub_semver" "pub_semver"
] ]
}, },
{
"name": "leak_tracker_testing",
"version": "3.0.2",
"dependencies": [
"leak_tracker",
"matcher",
"meta"
]
},
{
"name": "leak_tracker",
"version": "11.0.1",
"dependencies": [
"clock",
"collection",
"meta",
"path",
"vm_service"
]
},
{
"name": "term_glyph",
"version": "1.2.2",
"dependencies": []
},
{
"name": "boolean_selector",
"version": "2.1.2",
"dependencies": [
"source_span",
"string_scanner"
]
},
{
"name": "plugin_platform_interface",
"version": "2.1.8",
"dependencies": [
"meta"
]
},
{
"name": "_flutterfire_internals",
"version": "1.3.61",
"dependencies": [
"collection",
"firebase_core",
"firebase_core_platform_interface",
"flutter",
"meta"
]
},
{
"name": "google_identity_services_web",
"version": "0.3.3+1",
"dependencies": [
"meta",
"web"
]
},
{
"name": "flutter_plugin_android_lifecycle",
"version": "2.0.30",
"dependencies": [
"flutter"
]
},
{
"name": "fixnum",
"version": "1.1.1",
"dependencies": []
},
{
"name": "sprintf",
"version": "7.0.0",
"dependencies": []
},
{ {
"name": "path_provider_windows", "name": "path_provider_windows",
"version": "2.3.0", "version": "2.3.0",
@ -1027,18 +1485,6 @@
"path_provider_platform_interface" "path_provider_platform_interface"
] ]
}, },
{
"name": "win32",
"version": "5.14.0",
"dependencies": [
"ffi"
]
},
{
"name": "ffi",
"version": "2.1.4",
"dependencies": []
},
{ {
"name": "js", "name": "js",
"version": "0.6.7", "version": "0.6.7",
@ -1046,13 +1492,6 @@
"meta" "meta"
] ]
}, },
{
"name": "plugin_platform_interface",
"version": "2.1.8",
"dependencies": [
"meta"
]
},
{ {
"name": "dbus", "name": "dbus",
"version": "0.7.11", "version": "0.7.11",
@ -1064,8 +1503,8 @@
] ]
}, },
{ {
"name": "fixnum", "name": "vm_service",
"version": "1.1.1", "version": "15.0.0",
"dependencies": [] "dependencies": []
}, },
{ {

View File

@ -1 +1 @@
3.32.8 3.35.2

File diff suppressed because one or more lines are too long

10
.run/main.dart.run.xml Normal file
View File

@ -0,0 +1,10 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="main.dart" type="FlutterRunConfigurationType" factoryName="Flutter">
<option name="additionalArgs" value="--web-browser-flag &quot;--disable-web-security&quot;" />
<option name="envs">
<entry key="google-chrome --disable-web-security --user-data-dir" value="~/chromeTemp " />
</option>
<option name="filePath" value="$PROJECT_DIR$/lib/main.dart" />
<method v="2" />
</configuration>
</component>

View File

@ -9,6 +9,10 @@
# packages, and plugins designed to encourage good coding practices. # packages, and plugins designed to encourage good coding practices.
include: package:flutter_lints/flutter.yaml include: package:flutter_lints/flutter.yaml
analyzer:
errors:
undefined_function: error
linter: linter:
# The lint rules applied to this project can be customized in the # The lint rules applied to this project can be customized in the
# section below to disable rules from the `package:flutter_lints/flutter.yaml` # section below to disable rules from the `package:flutter_lints/flutter.yaml`

View File

@ -6,7 +6,7 @@ plugins {
} }
android { android {
namespace = "com.nhancepartner.nhance_partner" namespace = "nh.ind.nhance.partner"
compileSdk = flutter.compileSdkVersion compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion ndkVersion = flutter.ndkVersion
@ -21,7 +21,7 @@ android {
defaultConfig { defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.nhancepartner.nhance_partner" applicationId = "nh.ind.nhance.partner"
// You can update the following values to match your application needs. // You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config. // For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = flutter.minSdkVersion minSdk = flutter.minSdkVersion

View File

@ -0,0 +1,48 @@
{
"project_info": {
"project_number": "1084115316849",
"project_id": "nhance-ee8d1",
"storage_bucket": "nhance-ee8d1.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:1084115316849:android:68b14c4ff37f4bbc6c6bd0",
"android_client_info": {
"package_name": "nh.ind.nhance.benefits"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyC4yHbCX4mQu0jO81pJrDwxKLQlTQWofrc"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:1084115316849:android:138fb3f92f2473836c6bd0",
"android_client_info": {
"package_name": "nh.ind.nhance.partner"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyC4yHbCX4mQu0jO81pJrDwxKLQlTQWofrc"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}

View File

@ -1,4 +1,4 @@
package com.nhancepartner.nhance_partner package nh.ind.nhance.partner
import io.flutter.embedding.android.FlutterActivity import io.flutter.embedding.android.FlutterActivity

View File

@ -0,0 +1 @@
ecafa7e7cb02988e96174c3e4fffac2b

View File

@ -1 +0,0 @@
{"inputs":[],"outputs":[]}

View File

@ -1 +0,0 @@
{"inputs":[],"outputs":[]}

View File

@ -1 +0,0 @@
{"inputs":[],"outputs":[]}

View File

@ -1 +0,0 @@
{"inputs":[],"outputs":[]}

View File

@ -1 +0,0 @@
{"inputs":[],"outputs":[]}

View File

@ -0,0 +1 @@
{"version":2,"files":[]}

View File

@ -0,0 +1 @@
[]

View File

@ -1 +1 @@
2packages/cupertino_icons/assets/CupertinoIcons.ttf  asset2packages/cupertino_icons/assets/CupertinoIcons.ttf assets/login/login-bg.png  assetassets/login/login-bg.pngassets/login/login-content.png  assetassets/login/login-content.png$assets/login/nhance-partner-logo.png  asset$assets/login/nhance-partner-logo.png2packages/cupertino_icons/assets/CupertinoIcons.ttf  asset2packages/cupertino_icons/assets/CupertinoIcons.ttf1packages/iconsax_flutter/fonts/FlutterIconsax.ttf  asset1packages/iconsax_flutter/fonts/FlutterIconsax.ttf

View File

@ -1 +1 @@
"DQEHMnBhY2thZ2VzL2N1cGVydGlub19pY29ucy9hc3NldHMvQ3VwZXJ0aW5vSWNvbnMudHRmDAENAQcFYXNzZXQHMnBhY2thZ2VzL2N1cGVydGlub19pY29ucy9hc3NldHMvQ3VwZXJ0aW5vSWNvbnMudHRm" "DQUHGWFzc2V0cy9sb2dpbi9sb2dpbi1iZy5wbmcMAQ0BBwVhc3NldAcZYXNzZXRzL2xvZ2luL2xvZ2luLWJnLnBuZwceYXNzZXRzL2xvZ2luL2xvZ2luLWNvbnRlbnQucG5nDAENAQcFYXNzZXQHHmFzc2V0cy9sb2dpbi9sb2dpbi1jb250ZW50LnBuZwckYXNzZXRzL2xvZ2luL25oYW5jZS1wYXJ0bmVyLWxvZ28ucG5nDAENAQcFYXNzZXQHJGFzc2V0cy9sb2dpbi9uaGFuY2UtcGFydG5lci1sb2dvLnBuZwcycGFja2FnZXMvY3VwZXJ0aW5vX2ljb25zL2Fzc2V0cy9DdXBlcnRpbm9JY29ucy50dGYMAQ0BBwVhc3NldAcycGFja2FnZXMvY3VwZXJ0aW5vX2ljb25zL2Fzc2V0cy9DdXBlcnRpbm9JY29ucy50dGYHMXBhY2thZ2VzL2ljb25zYXhfZmx1dHRlci9mb250cy9GbHV0dGVySWNvbnNheC50dGYMAQ0BBwVhc3NldAcxcGFja2FnZXMvaWNvbnNheF9mbHV0dGVyL2ZvbnRzL0ZsdXR0ZXJJY29uc2F4LnR0Zg=="

View File

@ -1 +1 @@
{"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"]} {"assets/login/login-bg.png":["assets/login/login-bg.png"],"assets/login/login-content.png":["assets/login/login-content.png"],"assets/login/nhance-partner-logo.png":["assets/login/nhance-partner-logo.png"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"],"packages/iconsax_flutter/fonts/FlutterIconsax.ttf":["packages/iconsax_flutter/fonts/FlutterIconsax.ttf"]}

View File

@ -1 +1 @@
[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}] [{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"packages/iconsax_flutter/FlutterIconsax","fonts":[{"asset":"packages/iconsax_flutter/fonts/FlutterIconsax.ttf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}]

File diff suppressed because it is too large Load Diff

3
devtools_options.yaml Normal file
View File

@ -0,0 +1,3 @@
description: This file stores settings for Dart & Flutter DevTools.
documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
extensions:

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>API_KEY</key>
<string>AIzaSyC1X9S4nCpEIAZ1xacUeKRclYrFi2CxKK0</string>
<key>GCM_SENDER_ID</key>
<string>1084115316849</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>nh.ind.nhance.partner</string>
<key>PROJECT_ID</key>
<string>nhance-ee8d1</string>
<key>STORAGE_BUCKET</key>
<string>nhance-ee8d1.firebasestorage.app</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:1084115316849:ios:0ec705fafdea89226c6bd0</string>
</dict>
</plist>

View File

@ -1,5 +1,7 @@
class Env { class Env {
static const String envName = String.fromEnvironment('ENV', defaultValue: 'dev'); static const String envName = String.fromEnvironment('ENV', defaultValue: 'dev');
static const String apiUrl = String.fromEnvironment('https://venbait.in/nhance/partner/dev/'); static const String apiUrl = String.fromEnvironment('API_URL', defaultValue: 'https://venbait.in/nhance/partner/dev/api/');
static const String baseUrl = String.fromEnvironment('BASE_URL'); static const String baseUrl = String.fromEnvironment('BASE_URL', defaultValue: '');
static const String App_Signature = String.fromEnvironment('App_Signature', defaultValue: 'nhance-partner-2025-signature-35468846JRhH551HK');
} }

View File

@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:nhance_partner/core/routing/routes.dart'; import 'package:nhance_partner/core/routing/routes.dart';
import 'package:nhance_partner/presentation/screens/claims/claimsList.dart'; import 'package:nhance_partner/presentation/screens/claims/claimsList.dart';
import 'package:nhance_partner/presentation/screens/dashboard/dashboard.dart';
import '../../data/services/auth_service.dart'; import '../../data/services/auth_service.dart';
import '../../presentation/screens/home/home_screen.dart'; import '../../presentation/screens/home/home_screen.dart';
import '../../presentation/screens/login/login_screen.dart'; import '../../presentation/screens/login/login_screen.dart';
@ -20,9 +21,12 @@ final GoRouter appRouter = GoRouter(
), ),
GoRoute( GoRoute(
path: AppRoutes.home, path: AppRoutes.home,
// builder: (context, state) => const ClaimsList(),
builder: (context, state) => const HomeScreen(), builder: (context, state) => const HomeScreen(),
), ),
GoRoute(
path: AppRoutes.dashboard,
builder: (context, state) => const DashboardScreen(),
),
], ],
redirect: (context, state) async { redirect: (context, state) async {
final loggedIn = await AuthService.isLoggedIn(); final loggedIn = await AuthService.isLoggedIn();

View File

@ -1,6 +1,7 @@
class AppRoutes { class AppRoutes {
static const String splash = '/'; static const String splash = '/';
static const String home = '/home'; static const String home = '/home';
static const String dashboard = '/dashboard';
static const String login = '/login'; static const String login = '/login';
} }

View File

@ -1,12 +1,11 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'package:nhance_app_pwa/customAppBar/toastHelper.dart';
import 'package:nhance_app_pwa/models/environment.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
import 'dart:convert'; import 'dart:convert';
import '../../data/utils/toastNotification.dart';
class ApiService { class ApiService {
final BuildContext context; late final BuildContext context;
Future<void> _clearLocalStorageAndRedirect() async { Future<void> _clearLocalStorageAndRedirect() async {
final prefs = await SharedPreferences.getInstance(); final prefs = await SharedPreferences.getInstance();

View File

@ -0,0 +1,5 @@
import 'dart:io';
bool isMobilePlatform() {
return Platform.isAndroid || Platform.isIOS;
}

View File

@ -1,8 +1,52 @@
import 'package:firebase_app_check/firebase_app_check.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'core/routing/app_router.dart'; import 'core/routing/app_router.dart';
void main() { Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
// final SharedPreferences prefs = await SharedPreferences.getInstance();
// prefs.clear();
if (kIsWeb) {
await Firebase.initializeApp(
options: const FirebaseOptions(
apiKey: "AIzaSyC4yHbCX4mQu0jO81pJrDwxKLQlTQWofrc",
authDomain: "nhance-ee8d1.firebaseapp.com",
projectId: "nhance-ee8d1",
storageBucket: "nhance-ee8d1.firebasestorage.app",
messagingSenderId: "1084115316849",
appId: "1:1084115316849:web:8fc3b1c886349ae86c6bd0"));
} else {
await Firebase.initializeApp();
await FirebaseAppCheck.instance.activate(
// webProvider: ReCaptchaV3Provider('recaptcha-v3-site-key'),
androidProvider: AndroidProvider.playIntegrity,
appleProvider: AppleProvider.appAttest,
);
// FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
// FirebaseMessaging messaging = FirebaseMessaging.instance;
// // NotificationSettings settings = await messaging.requestPermission();
// NotificationSettings settings =
// await FirebaseMessaging.instance.requestPermission(
// alert: true,
// badge: true,
// sound: true,
// );
// print('User granted permission: ${settings.authorizationStatus}');
// FirebaseMessaging.onMessage.listen((RemoteMessage message) {
// print('Foreground Message: ${message.notification?.title}');
// });
// FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
// print('User tapped on notification');
// });
}
runApp(const ProviderScope(child: MyApp())); runApp(const ProviderScope(child: MyApp()));
} }

View File

@ -0,0 +1,19 @@
import 'package:flutter/material.dart';
import '../../layouts/main_layout.dart';
class DashboardScreen extends StatefulWidget {
const DashboardScreen({super.key});
@override
State<DashboardScreen> createState() => _DashboardScreenState();
}
class _DashboardScreenState extends State<DashboardScreen> {
@override
Widget build(BuildContext context) {
return MainLayout(
title: "Home",
body: const Center(child: Text("Dashboard Page Content")),
);
}
}

View File

@ -1,12 +1,20 @@
import 'dart:convert';
import 'dart:io';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:google_fonts/google_fonts.dart'; import 'package:google_fonts/google_fonts.dart';
import 'package:http/http.dart' as http;
import 'package:nhance_partner/core/config/env.dart';
import 'package:nhance_partner/core/services/platform_helper.dart';
import 'package:nhance_partner/data/utils/validators.dart'; import 'package:nhance_partner/data/utils/validators.dart';
import 'package:pinput/pinput.dart'; import 'package:pinput/pinput.dart';
import '../../../core/config/env.dart'; import 'package:shared_preferences/shared_preferences.dart';
import '../../../core/routing/routes.dart'; import '../../../core/routing/routes.dart';
import '../../../data/services/auth_service.dart'; import '../../../data/services/auth_service.dart';
import '../../../data/utils/toastNotification.dart';
import '../../layouts/responsive_layout.dart'; import '../../layouts/responsive_layout.dart';
import '../../themes/indicators/text_field_theme.dart'; import '../../themes/indicators/text_field_theme.dart';
@ -22,11 +30,17 @@ class _LoginScreenState extends State<LoginScreen> {
final TextEditingController _emailController = TextEditingController(); final TextEditingController _emailController = TextEditingController();
final TextEditingController _PhoneNumberController = TextEditingController(); final TextEditingController _PhoneNumberController = TextEditingController();
final TextEditingController _otpController = TextEditingController(); final TextEditingController _otpController = TextEditingController();
final TextEditingController _countryController = TextEditingController();
final FirebaseAuth _auth = FirebaseAuth.instance;
late String _verificationId;
int? _resendToken;
bool _isLoading = false; bool _isLoading = false;
bool _obscurePassword = true; bool _obscurePassword = true;
int stausVal = 1; int switcherStatus = 1;
int selectedIndex = 1; int selectedIndex = 1;
bool enteredEmailOrMobile = false; bool enteredEmailOrMobile = false;
dynamic clickedButtonName;
dynamic token;
// Future<void> _handleLogin() async { // Future<void> _handleLogin() async {
@ -83,71 +97,74 @@ class _LoginScreenState extends State<LoginScreen> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
_countryController.text = "+91";
} }
Future<void> verifyMobileAndEmailNumber() async { Future<void> sendMobileOrEmailVerify(loginUser) async {
try { try {
if (_formKey.currentState!.validate()) { if (_formKey.currentState!.validate()) {
// setState(() { // setState(() {
// _isLoading = true; // _isLoading = true;
// }); // });
// Determine the API and the payload based on the visible field print('klvbnksdbkjb');
String apiEndpoint = isEmailFieldVisible print(Env.apiUrl);
? Env.apiUrl + 'verifyEmployeeEmailId' String apiEndpoint;
: Env.apiUrl + 'verifyEmployeeNumber'; if (loginUser == 'agent') {
apiEndpoint = switcherStatus == 1
? Env.apiUrl + 'auth/verifyAgentWithMobileNumber'
: Env.apiUrl + 'auth/verifyAgentWithEmailId';
} else {
apiEndpoint = switcherStatus == 1
? Env.apiUrl + 'auth/verifyStaffWithMobileNumber'
: Env.apiUrl + 'auth/verifyStaffWithEmailId';
}
Map<String, dynamic> payload = isEmailFieldVisible // Determine the API and the payload based on the visible field
? {'email': emailController.text}
: {'mobile_number': mobileController.text}; Map<String, dynamic> payload = switcherStatus == 1
? {'mobile': _PhoneNumberController.text}
: {'email': _emailController.text};
final response = await http.post( final response = await http.post(
Uri.parse(apiEndpoint), Uri.parse(apiEndpoint),
body: json.encode(payload), body: json.encode(payload),
headers: { headers: {
HttpHeaders.contentTypeHeader: 'application/json', HttpHeaders.contentTypeHeader: 'application/json',
'App-Signature': Env.App_Signature,
}, },
); );
if (response.statusCode == 200) { if (response.statusCode == 200) {
Map<String, dynamic> data = json.decode(response.body); Map<String, dynamic> data = json.decode(response.body);
bool userVerification = data['data']['user_verification']; bool verificationAgentOrStaff;
String message = data['data']['message']; if (loginUser == 'agent') {
if (userVerification) { verificationAgentOrStaff = data['data']['agent_verification'];
final SharedPreferences prefs =
await SharedPreferences.getInstance();
// var enteredMobileNumber = mobileController.text;
// prefs.setString('empMobileNo', enteredMobileNumber);
if (isEmailFieldVisible) {
print('isEmailFieldVisible $isEmailFieldVisible');
// prefs.setString('empEmail', emailController.text);
print('${emailController.text}');
ToastHelper.showSuccessToast(
context, 'Verification code sent to ${emailController.text}');
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => MyEmailVerify(
email: emailController.text, // Pass the phone number
),
),
);
} else { } else {
_verifyPhoneNumber(); verificationAgentOrStaff = data['data']['Staff_verification'];
} }
String message = data['data']['message'];
// ToastHelper.showSuccessToast(context, message); if (verificationAgentOrStaff) {
if(switcherStatus == 1){
_verifyPhoneNumber();
} else { } else {
setState(() { setState(() {
_isLoading = false; enteredEmailOrMobile = true;
}); });
print('email');
ToastHelper.showSuccessToast(context, 'OTP sent successfully');
}
} else {
// setState(() {
// _isLoading = false;
// });
ToastHelper.showErrorToast(context, message); ToastHelper.showErrorToast(context, message);
print('Invalid mobile number'); print('Invalid mobile number');
} }
} else { } else {
setState(() { // setState(() {
_isLoading = false; // _isLoading = false;
}); // });
ToastHelper.showErrorToast(context, 'Something went wrong'); ToastHelper.showErrorToast(context, 'Something went wrong');
throw Exception('Failed to verify mobile number'); throw Exception('Failed to verify mobile number');
} }
@ -161,6 +178,250 @@ class _LoginScreenState extends State<LoginScreen> {
} }
} }
Future<void> verifyMobileOrMailOTP(otpVerifyStatus) async {
try {
// Select API endpoint
final String apiEndpoint = (clickedButtonName == 'agent')
? '${Env.apiUrl}auth/getVerifiedAgentData'
: '${Env.apiUrl}auth/getVerifiedStaffData';
// Build payload depending on switcher status
final Map<String, dynamic> payload = (switcherStatus == 1)
? {'otp_verification': otpVerifyStatus,'mobile': _PhoneNumberController.text.trim()}
: {'otp': otpVerifyStatus,'email': _emailController.text.trim()};
// Send request
final response = await http.post(
Uri.parse(apiEndpoint),
body: json.encode(payload),
headers: {
HttpHeaders.contentTypeHeader: 'application/json',
'App-Signature': Env.App_Signature,
},
);
// Check response
if (response.statusCode == 200) {
final Map<String, dynamic> data = json.decode(response.body);
final String status = data['status']?.toString() ?? 'error';
token = data['data']; // can be string or object
print('Response status: ${response.statusCode}');
print('Response body: $data');
if (status == 'success') {
ToastHelper.showSuccessToast(context, 'OTP verified successfully');
await AuthService.saveToken(token);
final dynamic tokenData = AuthService.getToken();
print('token - $tokenData');
context.go(AppRoutes.dashboard);
} else {
ToastHelper.showWarningToast(context, data['message'] ?? 'Invalid OTP');
}
} else {
ToastHelper.showErrorToast(
context, 'Server error: ${response.statusCode}');
}
} catch (e, stacktrace) {
print('Error verifying OTP: $e');
print(stacktrace);
ToastHelper.showErrorToast(context, 'Something went wrong. Please try again.');
}
}
void verifyFirebaseMobileOTP() async {
try {
// setState(() {
// _isLoading = true;
// });
// Later, in verify screen:
SharedPreferences prefs = await SharedPreferences.getInstance();
dynamic verificationId = prefs.getString('verificationId');
final credential = PhoneAuthProvider.credential(
verificationId: verificationId, // Make sure this is up-to-date
smsCode: _otpController.text,
);
print('credential $credential');
final userCredential =
await FirebaseAuth.instance.signInWithCredential(credential);
// await FirebaseAuth.instance.signInWithCredential(credential);
print('otp firebase check');
if (userCredential.user != null) {
print('otp firebase check done');
bool otpVerifyStatus = true;
verifyMobileOrMailOTP(otpVerifyStatus);
} else {
ToastHelper.showErrorToast(context, 'Invalid OTP. Please try again.');
}
// await FirebaseAuth.instance.signInWithCredential(credential).then((userCredential) async {
// if (userCredential.user != null) {
// bool otpVerifyStatus = true;
// generateToken(otpVerifyStatus);
// } else {
// setState(() {
// _isLoading = false;
// });
// ToastHelper.showErrorToast(context, 'Invalid OTP. Please try again');
// }
// });
} on FirebaseAuthException catch (e) {
if (e.code == 'code-expired') {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('OTP expired. Please request a new one.'),
duration: Duration(seconds: 2),
),
);
ToastHelper.showErrorToast(
context, 'OTP expired. Please request a new one.');
} else if (e.code == 'invalid-verification-code') {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Invalid OTP entered. Please try again.'),
duration: Duration(seconds: 2),
),
);
ToastHelper.showErrorToast(
context, 'Invalid OTP entered. Please try again.');
} else if (e.code == 'session-expired') {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Session expired. Try restarting the verification.'),
duration: Duration(seconds: 2),
),
);
ToastHelper.showErrorToast(
context, 'Session expired. Try restarting the verification.');
} else {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Error: ${e.message}'),
duration: Duration(seconds: 2),
),
);
ToastHelper.showErrorToast(context, 'Error: ${e.message}');
}
} catch (e) {
// setState(() {
// _isLoading = false;
// });
print('Error: $e');
ToastHelper.showErrorToast(
context, 'Failed to verify OTP. Please try again.');
}
}
Future<void> _verifyPhoneNumber() async {
var enteredMobileNumber = _PhoneNumberController.text;
var countryCode = _countryController.text;
print('${countryCode + enteredMobileNumber}');
await _auth.verifyPhoneNumber(
phoneNumber: '${countryCode + enteredMobileNumber}',
timeout: const Duration(seconds: 60),
verificationCompleted: (PhoneAuthCredential credential) async {
await _auth.signInWithCredential(credential);
// ToastHelper.showSuccessToast(context, 'Verified Successfully!');
// setState(() {
// _isLoading = false;
// });
},
verificationFailed: (FirebaseAuthException e) {
print('Verification Failed: ${e.code} - ${e.message}');
String errorMessage;
if (e.code == 'invalid-app-credential') {
errorMessage = 'Invalid Credential. Please try again.';
} else if (e.code == 'invalid-phone-number') {
errorMessage = 'The provided phone number is not valid.';
} else if (e.code == 'too-many-requests') {
errorMessage = 'Too many requests. Try again later.';
} else {
errorMessage = 'Verification Failed: ${e.message}';
}
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(errorMessage),
duration: Duration(seconds: 2),
),
);
ToastHelper.showSuccessToast(context, errorMessage);
setState(() {
_isLoading = false;
});
},
codeSent: (String verificationId, int? resendToken) async {
setState(() {
_verificationId = verificationId;
_resendToken = resendToken;
});
// When getting the verificationId
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('verificationId', _verificationId);
setState(() {
enteredEmailOrMobile = true;
});
ToastHelper.showSuccessToast(
context, 'Verification code sent to ${enteredMobileNumber}');
// setState(() {
// _isLoading = false;
// });
},
codeAutoRetrievalTimeout: (String verificationId) async{
setState(() {
_verificationId = verificationId;
});
final prefs = await SharedPreferences.getInstance();
await prefs.setString('verificationId', verificationId);
ToastHelper.showSuccessToast(context, 'Code auto-retrieval timed out.');
setState(() {
_isLoading = false;
});
},
);
}
void _resendCode(String mobileNumber, int? resendToken) async {
await _auth.verifyPhoneNumber(
phoneNumber: '${_countryController.text + mobileNumber}',
timeout: const Duration(seconds: 60),
forceResendingToken: resendToken,
verificationCompleted: (PhoneAuthCredential credential) async {
await _auth.signInWithCredential(credential);
},
verificationFailed: (FirebaseAuthException e) {
if (e.code == 'invalid-phone-number') {
print('The provided phone number is not valid.');
}
},
codeSent: (String verificationId, int? resendToken) async{
final prefs = await SharedPreferences.getInstance();
await prefs.setString('verificationId', verificationId);
setState(() {
_verificationId = verificationId;
_resendToken = resendToken;
});
ToastHelper.showSuccessToast(
context, 'Verification code resent to ${mobileNumber}');
},
codeAutoRetrievalTimeout: (String verificationId) async{
final prefs = await SharedPreferences.getInstance();
await prefs.setString('verificationId', verificationId);
setState(() {
_verificationId = verificationId;
});
},
);
}
// Future<void> _verifyPhoneNumber() async { // Future<void> _verifyPhoneNumber() async {
// var enteredMobileNumber = mobileController.text; // var enteredMobileNumber = mobileController.text;
// var countryCode = countryController.text; // var countryCode = countryController.text;
@ -286,15 +547,14 @@ class _LoginScreenState extends State<LoginScreen> {
// ); // );
// } // }
Future<void> sendMobileOrEmailVerify() async { // Future<void> sendMobileOrEmailVerify() async {
if (!_formKey.currentState!.validate()) return; // if (!_formKey.currentState!.validate()) return;
setState(() { // setState(() {
enteredEmailOrMobile = true; // enteredEmailOrMobile = true;
}); // });
} // }
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: Colors.white, backgroundColor: Colors.white,
body: LayoutBuilder( body: LayoutBuilder(
@ -330,7 +590,8 @@ class _LoginScreenState extends State<LoginScreen> {
const SizedBox(height: 20), const SizedBox(height: 20),
Image.asset( Image.asset(
"assets/login/login-content.png", "assets/login/login-content.png",
height: 500, height: MediaQuery.of(context).size.height * 0.5, // 40% of screen height
fit: BoxFit.contain,
), ),
const SizedBox(height: 10), const SizedBox(height: 10),
const Text( const Text(
@ -356,7 +617,9 @@ class _LoginScreenState extends State<LoginScreen> {
decoration: const BoxDecoration( decoration: const BoxDecoration(
color: Colors.white, color: Colors.white,
image: DecorationImage( image: DecorationImage(
image: AssetImage("assets/login/login-bg.png"), // <-- your image path image: AssetImage(
"assets/login/login-bg.png",
), // <-- your image path
fit: BoxFit.cover, // cover entire container fit: BoxFit.cover, // cover entire container
), ),
borderRadius: BorderRadius.only( borderRadius: BorderRadius.only(
@ -364,7 +627,8 @@ class _LoginScreenState extends State<LoginScreen> {
bottomLeft: Radius.circular(40), bottomLeft: Radius.circular(40),
), ),
), ),
child: Center( // <-- center vertically + horizontally child: Center(
// <-- center vertically + horizontally
child: SizedBox( child: SizedBox(
width: 600, // keep fixed width like first design width: 600, // keep fixed width like first design
child: _LoginForm(context), child: _LoginForm(context),
@ -395,10 +659,7 @@ class _LoginScreenState extends State<LoginScreen> {
), ),
), ),
const SizedBox(height: 20), const SizedBox(height: 20),
Image.asset( Image.asset("assets/login/login-content.png", height: 180),
"assets/login/login-content.png",
height: 180 ,
),
const SizedBox(height: 10), const SizedBox(height: 10),
Container( Container(
padding: EdgeInsets.symmetric(vertical: 20, horizontal: 50), padding: EdgeInsets.symmetric(vertical: 20, horizontal: 50),
@ -415,7 +676,9 @@ class _LoginScreenState extends State<LoginScreen> {
const SizedBox(height: 20), const SizedBox(height: 20),
Container( Container(
width: double.infinity, width: double.infinity,
height: MediaQuery.of(context).size.height, // full screen height height: MediaQuery.of(
context,
).size.height, // full screen height
padding: const EdgeInsets.all(20), padding: const EdgeInsets.all(20),
decoration: const BoxDecoration( decoration: const BoxDecoration(
gradient: LinearGradient( gradient: LinearGradient(
@ -429,7 +692,7 @@ class _LoginScreenState extends State<LoginScreen> {
), ),
), ),
child: _LoginForm(context), child: _LoginForm(context),
) ),
], ],
), ),
); );
@ -462,7 +725,7 @@ class _LoginScreenState extends State<LoginScreen> {
style: TextStyle( style: TextStyle(
fontSize: ResponsiveLayout.isMobile(context) ? 14 : 18, fontSize: ResponsiveLayout.isMobile(context) ? 14 : 18,
color: Colors.white, color: Colors.white,
fontWeight: FontWeight.w600 fontWeight: FontWeight.w600,
), ),
), ),
const SizedBox(height: 20), const SizedBox(height: 20),
@ -498,25 +761,29 @@ class _LoginScreenState extends State<LoginScreen> {
height: 70, height: 70,
child: Column( child: Column(
children: [ children: [
if (stausVal == 0) if (switcherStatus == 0)
ThemedFormField( ThemedFormField(
hintText: 'Email', hintText: 'Email',
backgroundColor: Colors.white, backgroundColor: Colors.white,
validator: (value) => Validators.email(value, "Email"), validator: (value) =>
Validators.email(value, "Email"),
// imgPath: "MiscIconAssetPath.person", // imgPath: "MiscIconAssetPath.person",
controller: _emailController, controller: _emailController,
), ),
if (stausVal == 1) if (switcherStatus == 1)
ThemedFormField( ThemedFormField(
hintText: 'Mobile Number', hintText: 'Mobile Number',
backgroundColor: Colors.white, backgroundColor: Colors.white,
validator: (value) => Validators.phone(value, "Phone"), validator: (value) =>
Validators.phone(value, "Phone"),
// imgPath: "MiscIconAssetPath.person", // imgPath: "MiscIconAssetPath.person",
controller: _PhoneNumberController, controller: _PhoneNumberController,
// txtwidth: MediaQuery.of(context).size.width * 0.5, // txtwidth: MediaQuery.of(context).size.width * 0.5,
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
maxLength: 10, maxLength: 10,
inputFormatters: [FilteringTextInputFormatter.digitsOnly], inputFormatters: [
FilteringTextInputFormatter.digitsOnly,
],
// readOnly: true, // readOnly: true,
), ),
// const SizedBox(height: 16), // const SizedBox(height: 16),
@ -535,101 +802,10 @@ class _LoginScreenState extends State<LoginScreen> {
// // readOnly: true, // // readOnly: true,
// ), // ),
], ],
)
),
const SizedBox(height: 20),
if(enteredEmailOrMobile)
Container(
child: Text('OTP',
style: TextStyle(
fontSize: ResponsiveLayout.isMobile(context) ? 14 : 18,
fontWeight: FontWeight.w600,
color: Colors.white
),
),
),
if(enteredEmailOrMobile)
Container(
child: Pinput(
length: 6,
defaultPinTheme:
defaultPinTheme,
separatorBuilder:
(index) =>
const SizedBox(
width: 8),
showCursor: true,
controller: _otpController,
// validator: _validatePin,
errorPinTheme:
defaultPinTheme
.copyBorderWith(
border: Border.all(
color: Colors
.redAccent),
),
hapticFeedbackType:
HapticFeedbackType
.lightImpact,
onCompleted: (pin) {
debugPrint(
'onCompleted: $pin');
},
onChanged: (value) {
debugPrint(
'onChanged: $value');
},
cursor: Column(
mainAxisAlignment:
MainAxisAlignment
.end,
children: [
Container(
margin:
const EdgeInsets
.only(
bottom: 9),
width: 22,
height: 1,
color:
focusedBorderColor,
),
],
),
focusedPinTheme:
defaultPinTheme
.copyWith(
decoration:
defaultPinTheme
.decoration!
.copyWith(
borderRadius:
BorderRadius
.circular(8),
border: Border.all(
color:
focusedBorderColor),
),
),
submittedPinTheme:
defaultPinTheme
.copyWith(
decoration:
defaultPinTheme
.decoration!
.copyWith(
color: fillColor,
borderRadius:
BorderRadius
.circular(19),
border: Border.all(
color:
focusedBorderColor),
),
),
), ),
), ),
const SizedBox(height: 20), const SizedBox(height: 20),
if (!enteredEmailOrMobile)
SizedBox( SizedBox(
width: 400, width: 400,
child: SizedBox( child: SizedBox(
@ -644,20 +820,250 @@ class _LoginScreenState extends State<LoginScreen> {
), ),
), ),
onPressed: () { onPressed: () {
sendMobileOrEmailVerify(); sendMobileOrEmailVerify('agent');
setState(() {
clickedButtonName = 'agent';
});
}, },
child: Text( child: Text(
enteredEmailOrMobile ? 'Continue' : 'Request OTP', 'Login as Agent',
style: TextStyle( style: TextStyle(
fontSize: ResponsiveLayout.isMobile(context) ? 18 : 20, fontSize: ResponsiveLayout.isMobile(context)
? 18
: 20,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
color: Colors.white color: Colors.white,
), ),
), ),
), ),
), ),
), ),
if (!ResponsiveLayout.isMobile(context) &&
!enteredEmailOrMobile) ...[
SizedBox(height: 10),
Container(
child: Text(
'OR',
style: TextStyle(
fontSize: ResponsiveLayout.isMobile(context) ? 14 : 18,
fontWeight: FontWeight.w600,
color: Colors.white,
),
),
),
SizedBox(height: 10),
SizedBox(
width: 400,
child: SizedBox(
width: double.infinity,
height: 50,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: Color(0xFF436462),
padding: const EdgeInsets.symmetric(vertical: 16),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
),
onPressed: () {
sendMobileOrEmailVerify('staff');
setState(() {
clickedButtonName = 'staff';
});
},
child: Text(
'Login as Staff',
style: TextStyle(
fontSize: ResponsiveLayout.isMobile(context)
? 18
: 20,
fontWeight: FontWeight.w600,
color: Colors.white,
),
),
),
),
),
],
// if (enteredEmailOrMobile) ...[
// Container(
// child: Text(
// 'OTP',
// style: TextStyle(
// fontSize: ResponsiveLayout.isMobile(context) ? 14 : 18,
// fontWeight: FontWeight.w600,
// color: Colors.white,
// ),
// ),
// ),
// Container(
// child: Pinput(
// length: 6,
// defaultPinTheme: defaultPinTheme,
// separatorBuilder: (index) => const SizedBox(width: 8),
// showCursor: true,
// controller: _otpController,
// // validator: _validatePin,
// errorPinTheme: defaultPinTheme.copyBorderWith(
// border: Border.all(color: Colors.redAccent),
// ),
// hapticFeedbackType: HapticFeedbackType.lightImpact,
// onCompleted: (pin) {
// debugPrint('onCompleted: $pin');
// },
// onChanged: (value) {
// debugPrint('onChanged: $value');
// },
// cursor: Column(
// mainAxisAlignment: MainAxisAlignment.end,
// children: [
// Container(
// margin: const EdgeInsets.only(bottom: 9),
// width: 22,
// height: 1,
// color: focusedBorderColor,
// ),
// ],
// ),
// focusedPinTheme: defaultPinTheme.copyWith(
// decoration: defaultPinTheme.decoration!.copyWith(
// borderRadius: BorderRadius.circular(8),
// border: Border.all(color: focusedBorderColor),
// ),
// ),
// submittedPinTheme: defaultPinTheme.copyWith(
// decoration: defaultPinTheme.decoration!.copyWith(
// color: fillColor,
// borderRadius: BorderRadius.circular(19),
// border: Border.all(color: focusedBorderColor),
// ),
// ),
// ),
// ),
// const SizedBox(height: 20),
// SizedBox(
// width: 400,
// child: SizedBox(
// width: double.infinity,
// height: 50,
// child: ElevatedButton(
// style: ElevatedButton.styleFrom(
// backgroundColor: Color(0xFF436462),
// padding: const EdgeInsets.symmetric(vertical: 16),
// shape: RoundedRectangleBorder(
// borderRadius: BorderRadius.circular(8),
// ),
// ),
// onPressed: () {
// // sendMobileOrEmailVerify('staff');
// },
// child: Text(
// 'Continue',
// style: TextStyle(
// fontSize: ResponsiveLayout.isMobile(context)
// ? 18
// : 20,
// fontWeight: FontWeight.w600,
// color: Colors.white,
// ),
// ),
// ),
// ),
// ),
// ],
AnimatedSwitcher(
duration: const Duration(milliseconds: 1000), // animation speed
switchInCurve: Curves.easeInOutCirc,
switchOutCurve: Curves.easeOutCirc,
child: enteredEmailOrMobile
? Column(
key: const ValueKey('otp_block'),
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
child: Text(
'OTP',
style: TextStyle(
fontSize: ResponsiveLayout.isMobile(context) ? 14 : 18,
fontWeight: FontWeight.w600,
color: Colors.white,
),
),
),
const SizedBox(height: 10),
Container(
child: Pinput(
length: 6,
defaultPinTheme: defaultPinTheme,
separatorBuilder: (index) => const SizedBox(width: 8),
showCursor: true,
controller: _otpController,
errorPinTheme: defaultPinTheme.copyBorderWith(
border: Border.all(color: Colors.redAccent),
),
hapticFeedbackType: HapticFeedbackType.lightImpact,
onCompleted: (pin) => debugPrint('onCompleted: $pin'),
onChanged: (value) => debugPrint('onChanged: $value'),
cursor: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Container(
margin: const EdgeInsets.only(bottom: 9),
width: 22,
height: 1,
color: focusedBorderColor,
),
],
),
focusedPinTheme: defaultPinTheme.copyWith(
decoration: defaultPinTheme.decoration!.copyWith(
borderRadius: BorderRadius.circular(8),
border: Border.all(color: focusedBorderColor),
),
),
submittedPinTheme: defaultPinTheme.copyWith(
decoration: defaultPinTheme.decoration!.copyWith(
color: fillColor,
borderRadius: BorderRadius.circular(19),
border: Border.all(color: focusedBorderColor),
),
),
),
),
const SizedBox(height: 20), const SizedBox(height: 20),
SizedBox(
width: 400,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: const Color(0xFF436462),
padding: const EdgeInsets.symmetric(vertical: 16),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
),
onPressed: () {
if(switcherStatus == 1){
verifyFirebaseMobileOTP();
} else{
verifyMobileOrMailOTP(_otpController.text);
}
},
child: Text(
'Continue',
style: TextStyle(
fontSize: ResponsiveLayout.isMobile(context) ? 18 : 20,
fontWeight: FontWeight.w600,
color: Colors.white,
),
),
),
),
],
)
: const SizedBox.shrink(), // Empty widget when false
),
SizedBox(height: 20),
], ],
), ),
), ),
@ -673,15 +1079,23 @@ class _LoginScreenState extends State<LoginScreen> {
setState(() { setState(() {
selectedIndex = index + 1; selectedIndex = index + 1;
if (selectedIndex == 2) { if (selectedIndex == 2) {
stausVal = 0; switcherStatus = 0;
_PhoneNumberController.text = '';
enteredEmailOrMobile = false;
} else { } else {
stausVal = 1; switcherStatus = 1;
_emailController.text = '';
enteredEmailOrMobile = false;
} }
}); });
}, },
child: Container( child: Container(
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 6.5, bottom: 6.0, left: 40.0, right: 40.0), top: 6.5,
bottom: 6.0,
left: 40.0,
right: 40.0,
),
decoration: BoxDecoration( decoration: BoxDecoration(
color: isSelected ? const Color(0xFF436462) : Colors.transparent, color: isSelected ? const Color(0xFF436462) : Colors.transparent,
boxShadow: isSelected boxShadow: isSelected
@ -698,17 +1112,19 @@ class _LoginScreenState extends State<LoginScreen> {
: [], : [],
borderRadius: BorderRadius.circular(16), borderRadius: BorderRadius.circular(16),
), ),
child: Text(title, child: Text(
title,
style: GoogleFonts.poppins( style: GoogleFonts.poppins(
fontSize: 12, fontSize: 12,
color: isSelected ? Colors.white : Colors.black, color: isSelected ? Colors.white : Colors.black,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
))), ),
),
),
); );
} }
} }
// //
// @override // @override
// Widget build(BuildContext context) { // Widget build(BuildContext context) {
@ -815,4 +1231,3 @@ class _LoginScreenState extends State<LoginScreen> {
// ), // ),
// ); // );
// } // }

View File

@ -7,7 +7,7 @@ project(runner LANGUAGES CXX)
set(BINARY_NAME "nhance_partner") set(BINARY_NAME "nhance_partner")
# The unique GTK application identifier for this application. See: # The unique GTK application identifier for this application. See:
# https://wiki.gnome.org/HowDoI/ChooseApplicationID # https://wiki.gnome.org/HowDoI/ChooseApplicationID
set(APPLICATION_ID "com.nhancepartner.nhance_partner") set(APPLICATION_ID "nh.ind.nhance.partner")
# Explicitly opt in to modern CMake behaviors to avoid warnings with recent # Explicitly opt in to modern CMake behaviors to avoid warnings with recent
# versions of CMake. # versions of CMake.

View File

@ -7,9 +7,13 @@
#include "generated_plugin_registrant.h" #include "generated_plugin_registrant.h"
#include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h> #include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h>
#include <url_launcher_linux/url_launcher_plugin.h>
void fl_register_plugins(FlPluginRegistry* registry) { void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar = g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin"); fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin");
flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar); flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar);
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
} }

View File

@ -4,6 +4,7 @@
list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_PLUGIN_LIST
flutter_secure_storage_linux flutter_secure_storage_linux
url_launcher_linux
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST list(APPEND FLUTTER_FFI_PLUGIN_LIST

View File

@ -6,13 +6,29 @@ import FlutterMacOS
import Foundation import Foundation
import connectivity_plus import connectivity_plus
import firebase_app_check
import firebase_auth
import firebase_core
import firebase_messaging
import flutter_secure_storage_macos import flutter_secure_storage_macos
import google_sign_in_ios
import local_auth_darwin
import package_info_plus
import path_provider_foundation import path_provider_foundation
import shared_preferences_foundation import shared_preferences_foundation
import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin")) ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin"))
FLTFirebaseAppCheckPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAppCheckPlugin"))
FLTFirebaseAuthPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAuthPlugin"))
FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin"))
FLTFirebaseMessagingPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseMessagingPlugin"))
FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin"))
FLTGoogleSignInPlugin.register(with: registry.registrar(forPlugin: "FLTGoogleSignInPlugin"))
LocalAuthPlugin.register(with: registry.registrar(forPlugin: "LocalAuthPlugin"))
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
} }

42
macos/Podfile.lock Normal file
View File

@ -0,0 +1,42 @@
PODS:
- connectivity_plus (0.0.1):
- FlutterMacOS
- flutter_secure_storage_macos (6.1.3):
- FlutterMacOS
- FlutterMacOS (1.0.0)
- path_provider_foundation (0.0.1):
- Flutter
- FlutterMacOS
- shared_preferences_foundation (0.0.1):
- Flutter
- FlutterMacOS
DEPENDENCIES:
- connectivity_plus (from `Flutter/ephemeral/.symlinks/plugins/connectivity_plus/macos`)
- flutter_secure_storage_macos (from `Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos`)
- FlutterMacOS (from `Flutter/ephemeral`)
- path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`)
- shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`)
EXTERNAL SOURCES:
connectivity_plus:
:path: Flutter/ephemeral/.symlinks/plugins/connectivity_plus/macos
flutter_secure_storage_macos:
:path: Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos
FlutterMacOS:
:path: Flutter/ephemeral
path_provider_foundation:
:path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin
shared_preferences_foundation:
:path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin
SPEC CHECKSUMS:
connectivity_plus: 4adf20a405e25b42b9c9f87feff8f4b6fde18a4e
flutter_secure_storage_macos: 7f45e30f838cf2659862a4e4e3ee1c347c2b3b54
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
PODFILE CHECKSUM: 7eb978b976557c8c1cd717d8185ec483fd090a82
COCOAPODS: 1.16.2

View File

@ -27,6 +27,8 @@
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; };
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
9308597303DF1B04244295F4 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BE59D053B397DC8D353D458 /* Pods_Runner.framework */; };
D2DC06407107C377CA74E52D /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB4B3B1FFD174F657C624EE9 /* Pods_RunnerTests.framework */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
@ -60,11 +62,12 @@
/* End PBXCopyFilesBuildPhase section */ /* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
1F5EC80086D41DB13DE8AA2C /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; };
33CC10ED2044A3C60003C045 /* nhance_partner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "nhance_partner.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 33CC10ED2044A3C60003C045 /* nhance_partner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = nhance_partner.app; sourceTree = BUILT_PRODUCTS_DIR; };
33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; }; 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; };
33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; }; 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
@ -76,8 +79,15 @@
33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; }; 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; };
33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; };
33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; };
61355EE29958A1537393708D /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
7C47C84F488EEAEB899FA68F /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
9BE59D053B397DC8D353D458 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
AB4B3B1FFD174F657C624EE9 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
B891A1E3FAAF9065F875EB0E /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
E749496A8906BDDF63673C7A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; };
F94040A7892DC29E3BAEC703 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@ -85,6 +95,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
D2DC06407107C377CA74E52D /* Pods_RunnerTests.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -92,6 +103,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
9308597303DF1B04244295F4 /* Pods_Runner.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -125,6 +137,7 @@
331C80D6294CF71000263BE5 /* RunnerTests */, 331C80D6294CF71000263BE5 /* RunnerTests */,
33CC10EE2044A3C60003C045 /* Products */, 33CC10EE2044A3C60003C045 /* Products */,
D73912EC22F37F3D000D13A0 /* Frameworks */, D73912EC22F37F3D000D13A0 /* Frameworks */,
EC0B6226FE691A3631E7AB19 /* Pods */,
); );
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -175,10 +188,26 @@
D73912EC22F37F3D000D13A0 /* Frameworks */ = { D73912EC22F37F3D000D13A0 /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9BE59D053B397DC8D353D458 /* Pods_Runner.framework */,
AB4B3B1FFD174F657C624EE9 /* Pods_RunnerTests.framework */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
EC0B6226FE691A3631E7AB19 /* Pods */ = {
isa = PBXGroup;
children = (
B891A1E3FAAF9065F875EB0E /* Pods-Runner.debug.xcconfig */,
1F5EC80086D41DB13DE8AA2C /* Pods-Runner.release.xcconfig */,
7C47C84F488EEAEB899FA68F /* Pods-Runner.profile.xcconfig */,
F94040A7892DC29E3BAEC703 /* Pods-RunnerTests.debug.xcconfig */,
E749496A8906BDDF63673C7A /* Pods-RunnerTests.release.xcconfig */,
61355EE29958A1537393708D /* Pods-RunnerTests.profile.xcconfig */,
);
name = Pods;
path = Pods;
sourceTree = "<group>";
};
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
@ -186,6 +215,7 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
buildPhases = ( buildPhases = (
E94A1CE8DCEF40365836C7DF /* [CP] Check Pods Manifest.lock */,
331C80D1294CF70F00263BE5 /* Sources */, 331C80D1294CF70F00263BE5 /* Sources */,
331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D2294CF70F00263BE5 /* Frameworks */,
331C80D3294CF70F00263BE5 /* Resources */, 331C80D3294CF70F00263BE5 /* Resources */,
@ -204,11 +234,13 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = ( buildPhases = (
EBF21CEB34108A137B65A532 /* [CP] Check Pods Manifest.lock */,
33CC10E92044A3C60003C045 /* Sources */, 33CC10E92044A3C60003C045 /* Sources */,
33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EA2044A3C60003C045 /* Frameworks */,
33CC10EB2044A3C60003C045 /* Resources */, 33CC10EB2044A3C60003C045 /* Resources */,
33CC110E2044A8840003C045 /* Bundle Framework */, 33CC110E2044A8840003C045 /* Bundle Framework */,
3399D490228B24CF009A79C7 /* ShellScript */, 3399D490228B24CF009A79C7 /* ShellScript */,
67721E8F298A2F647E244CBA /* [CP] Embed Pods Frameworks */,
); );
buildRules = ( buildRules = (
); );
@ -329,6 +361,67 @@
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
}; };
67721E8F298A2F647E244CBA /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
E94A1CE8DCEF40365836C7DF /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
EBF21CEB34108A137B65A532 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */ /* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */
@ -380,6 +473,7 @@
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
331C80DB294CF71000263BE5 /* Debug */ = { 331C80DB294CF71000263BE5 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = F94040A7892DC29E3BAEC703 /* Pods-RunnerTests.debug.xcconfig */;
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
@ -394,6 +488,7 @@
}; };
331C80DC294CF71000263BE5 /* Release */ = { 331C80DC294CF71000263BE5 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = E749496A8906BDDF63673C7A /* Pods-RunnerTests.release.xcconfig */;
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
@ -408,6 +503,7 @@
}; };
331C80DD294CF71000263BE5 /* Profile */ = { 331C80DD294CF71000263BE5 /* Profile */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 61355EE29958A1537393708D /* Pods-RunnerTests.profile.xcconfig */;
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;

View File

@ -4,4 +4,7 @@
<FileRef <FileRef
location = "group:Runner.xcodeproj"> location = "group:Runner.xcodeproj">
</FileRef> </FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace> </Workspace>

View File

@ -217,6 +217,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.11" version: "0.7.11"
easy_loading_button:
dependency: "direct main"
description:
name: easy_loading_button
sha256: "6a8c339233e8cab22c0d4ab12a0194e622a98126e35e4bb797505055a8d29bd6"
url: "https://pub.dev"
source: hosted
version: "0.4.0"
equatable: equatable:
dependency: "direct main" dependency: "direct main"
description: description:
@ -375,13 +383,13 @@ packages:
source: hosted source: hosted
version: "0.21.3+1" version: "0.21.3+1"
flutter_lints: flutter_lints:
dependency: "direct dev" dependency: "direct main"
description: description:
name: flutter_lints name: flutter_lints
sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.0.0" version: "6.0.0"
flutter_plugin_android_lifecycle: flutter_plugin_android_lifecycle:
dependency: transitive dependency: transitive
description: description:
@ -636,34 +644,34 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker name: leak_tracker
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.0.9" version: "11.0.1"
leak_tracker_flutter_testing: leak_tracker_flutter_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_flutter_testing name: leak_tracker_flutter_testing
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.9" version: "3.0.10"
leak_tracker_testing: leak_tracker_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_testing name: leak_tracker_testing
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.1" version: "3.0.2"
lints: lints:
dependency: transitive dependency: transitive
description: description:
name: lints name: lints
sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 sha256: a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.1.1" version: "6.0.0"
local_auth: local_auth:
dependency: "direct main" dependency: "direct main"
description: description:
@ -1073,10 +1081,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.4" version: "0.7.6"
timing: timing:
dependency: transitive dependency: transitive
description: description:
@ -1185,10 +1193,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vector_math name: vector_math
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.4" version: "2.2.0"
vm_service: vm_service:
dependency: transitive dependency: transitive
description: description:

View File

@ -60,6 +60,8 @@ dependencies:
firebase_auth: ^6.0.2 firebase_auth: ^6.0.2
firebase_app_check: ^0.4.0+1 firebase_app_check: ^0.4.0+1
package_info_plus: ^8.3.1 package_info_plus: ^8.3.1
flutter_lints: ^6.0.0
easy_loading_button: ^0.4.0
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
@ -70,7 +72,6 @@ dev_dependencies:
# activated in the `analysis_options.yaml` file located at the root of your # activated in the `analysis_options.yaml` file located at the root of your
# package. See that file for information about deactivating specific lint # package. See that file for information about deactivating specific lint
# rules and activating additional ones. # rules and activating additional ones.
flutter_lints: ^5.0.0
build_runner: ^2.6.0 build_runner: ^2.6.0
json_serializable: ^6.7.1 json_serializable: ^6.7.1

View File

@ -34,5 +34,23 @@
</head> </head>
<body> <body>
<script src="flutter_bootstrap.js" async></script> <script src="flutter_bootstrap.js" async></script>
<script src="https://www.gstatic.com/firebasejs/10.7.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/10.7.0/firebase-auth.js"></script>
<script type="module">
// Import the functions you need from the SDKs you need
import { initializeApp } from "https://www.gstatic.com/firebasejs/10.12.4/firebase-app.js";
const firebaseConfig = {
apiKey: "AIzaSyC4yHbCX4mQu0jO81pJrDwxKLQlTQWofrc",
authDomain: "nhance-ee8d1.firebaseapp.com",
projectId: "nhance-ee8d1",
storageBucket: "nhance-ee8d1.firebasestorage.app",
messagingSenderId: "1084115316849",
appId: "1:1084115316849:web:09590c7abc870e436c6bd0"
};
// Initialize Firebase
const app = initializeApp(firebaseConfig);
</script>
</body> </body>
</html> </html>

View File

@ -7,11 +7,23 @@
#include "generated_plugin_registrant.h" #include "generated_plugin_registrant.h"
#include <connectivity_plus/connectivity_plus_windows_plugin.h> #include <connectivity_plus/connectivity_plus_windows_plugin.h>
#include <firebase_auth/firebase_auth_plugin_c_api.h>
#include <firebase_core/firebase_core_plugin_c_api.h>
#include <flutter_secure_storage_windows/flutter_secure_storage_windows_plugin.h> #include <flutter_secure_storage_windows/flutter_secure_storage_windows_plugin.h>
#include <local_auth_windows/local_auth_plugin.h>
#include <url_launcher_windows/url_launcher_windows.h>
void RegisterPlugins(flutter::PluginRegistry* registry) { void RegisterPlugins(flutter::PluginRegistry* registry) {
ConnectivityPlusWindowsPluginRegisterWithRegistrar( ConnectivityPlusWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin"));
FirebaseAuthPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("FirebaseAuthPluginCApi"));
FirebaseCorePluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("FirebaseCorePluginCApi"));
FlutterSecureStorageWindowsPluginRegisterWithRegistrar( FlutterSecureStorageWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin")); registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin"));
LocalAuthPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("LocalAuthPlugin"));
UrlLauncherWindowsRegisterWithRegistrar(
registry->GetRegistrarForPlugin("UrlLauncherWindows"));
} }

View File

@ -4,7 +4,11 @@
list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_PLUGIN_LIST
connectivity_plus connectivity_plus
firebase_auth
firebase_core
flutter_secure_storage_windows flutter_secure_storage_windows
local_auth_windows
url_launcher_windows
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST list(APPEND FLUTTER_FFI_PLUGIN_LIST