From dd76e2e33f0984f3b963fd47d6ca460f2e79a63c Mon Sep 17 00:00:00 2001 From: Moktadir Date: Fri, 17 Nov 2023 04:38:48 +0600 Subject: [PATCH] theming example --- ios/Podfile.lock | 48 +++++------ .../components/global-widgets/my_buttons.dart | 5 +- .../home-with-graphql/views/graphql_view.dart | 28 ++++-- .../home-with-restAPI/views/home_view.dart | 38 +++++--- lib/config/theme/dark_theme_colors.dart | 2 +- lib/config/theme/my_theme.dart | 34 ++++++-- lib/main.dart | 45 +--------- lib/my_app.dart | 54 ++++++++++++ pubspec.lock | 86 +++++++++---------- pubspec.yaml | 24 +++--- 10 files changed, 211 insertions(+), 153 deletions(-) create mode 100644 lib/my_app.dart diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 93e3bc8..5b9fb48 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -634,7 +634,7 @@ PODS: - BoringSSL-GRPC/Implementation (0.0.24): - BoringSSL-GRPC/Interface (= 0.0.24) - BoringSSL-GRPC/Interface (0.0.24) - - cloud_firestore (4.13.0): + - cloud_firestore (4.13.1): - Firebase/Firestore (= 10.17.0) - firebase_core - Flutter @@ -689,7 +689,7 @@ PODS: - Firebase/Messaging (10.17.0): - Firebase/CoreOnly - FirebaseMessaging (~> 10.17.0) - - firebase_auth (4.13.0): + - firebase_auth (4.14.0): - Firebase/Auth (= 10.17.0) - firebase_core - Flutter @@ -700,7 +700,7 @@ PODS: - Firebase/Messaging (= 10.17.0) - firebase_core - Flutter - - FirebaseAppCheckInterop (10.17.0) + - FirebaseAppCheckInterop (10.18.0) - FirebaseAuth (10.17.0): - FirebaseAppCheckInterop (~> 10.17) - FirebaseCore (~> 10.0) @@ -712,16 +712,16 @@ PODS: - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Logger (~> 7.8) - - FirebaseCoreExtension (10.17.0): + - FirebaseCoreExtension (10.18.0): - FirebaseCore (~> 10.0) - - FirebaseCoreInternal (10.17.0): + - FirebaseCoreInternal (10.18.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" - FirebaseFirestore (10.17.0): - FirebaseCore (~> 10.0) - FirebaseCoreExtension (~> 10.0) - FirebaseFirestoreInternal (~> 10.17) - FirebaseSharedSwift (~> 10.0) - - FirebaseFirestoreInternal (10.17.0): + - FirebaseFirestoreInternal (10.18.0): - abseil/algorithm (~> 1.20220623.0) - abseil/base (~> 1.20220623.0) - abseil/container/flat_hash_map (~> 1.20220623.0) @@ -735,7 +735,7 @@ PODS: - "gRPC-C++ (~> 1.49.1)" - leveldb-library (~> 1.22) - nanopb (< 2.30910.0, >= 2.30908.0) - - FirebaseInstallations (10.17.0): + - FirebaseInstallations (10.18.0): - FirebaseCore (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) @@ -749,7 +749,7 @@ PODS: - GoogleUtilities/Reachability (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - nanopb (< 2.30910.0, >= 2.30908.0) - - FirebaseSharedSwift (10.17.0) + - FirebaseSharedSwift (10.18.0) - Flutter (1.0.0) - flutter_local_notifications (0.0.1): - Flutter @@ -762,22 +762,22 @@ PODS: - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/AppDelegateSwizzler (7.11.6): + - GoogleUtilities/AppDelegateSwizzler (7.12.0): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (7.11.6): + - GoogleUtilities/Environment (7.12.0): - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.11.6): + - GoogleUtilities/Logger (7.12.0): - GoogleUtilities/Environment - - GoogleUtilities/Network (7.11.6): + - GoogleUtilities/Network (7.12.0): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.11.6)" - - GoogleUtilities/Reachability (7.11.6): + - "GoogleUtilities/NSData+zlib (7.12.0)" + - GoogleUtilities/Reachability (7.12.0): - GoogleUtilities/Logger - - GoogleUtilities/UserDefaults (7.11.6): + - GoogleUtilities/UserDefaults (7.12.0): - GoogleUtilities/Logger - "gRPC-C++ (1.49.1)": - "gRPC-C++/Implementation (= 1.49.1)" @@ -954,32 +954,32 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: abseil: 926fb7a82dc6d2b8e1f2ed7f3a718bce691d1e46 BoringSSL-GRPC: 3175b25143e648463a56daeaaa499c6cb86dad33 - cloud_firestore: d76c02bf5967dc9131ab42fcc1088d0873581e28 + cloud_firestore: c0e21891b99d3ac3d91abfe476ac88830a7c9939 connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6 DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 file_picker: 15fd9539e4eb735dc54bae8c0534a7a9511a03de Firebase: f4ac0b02927af9253ae094d23deecf0890da7374 - firebase_auth: 8b51489f374ea36b8f0aac047738de1d1f02e573 + firebase_auth: 6a41305f668ac6f9bcbefdedfcba5aacb8367e92 firebase_core: efc9455611b8769fa90fbdae5da182600bd6901c firebase_messaging: 9c697d1ecfe77edf15d995b5048906ffc994c96c - FirebaseAppCheckInterop: 534d033d8d0436b4ab066a8205013d271e18a2b9 + FirebaseAppCheckInterop: 3cd914842ba46f4304050874cd284de82f154ffd FirebaseAuth: 8d285d9f6e39cc8e23be53a4edd83a923ea629d8 FirebaseCore: 534544dd98cabcf4bf8598d88ec683b02319a528 - FirebaseCoreExtension: 47720bb330d7041047c0935a34a3a4b92f818074 - FirebaseCoreInternal: 2cf9202e226e3f78d2bf6d56c472686b935bfb7f + FirebaseCoreExtension: 62b201498aa10535801cdf3448c7f4db5e24ed80 + FirebaseCoreInternal: 8eb002e564b533bdcf1ba011f33f2b5c10e2ed4a FirebaseFirestore: 67e8c2dc613a86f056cc0037569f2aaee7dbf5fe - FirebaseFirestoreInternal: f902222ee92a48e30693bf347f6a8f365c800e79 - FirebaseInstallations: 9387bf15abfc69a714f54e54f74a251264fdb79b + FirebaseFirestoreInternal: 3d5d03f2447caae64311d2cda92abbf4ec5241be + FirebaseInstallations: e842042ec6ac1fd2e37d7706363ebe7f662afea4 FirebaseMessaging: 1367b28c0c83a63072af4a711328fcc2e6899902 - FirebaseSharedSwift: e8fe8d63d434266a1b2c7f02807d5b64462e1851 + FirebaseSharedSwift: 62e248642c0582324d0390706cadd314687c116b Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743 flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a GoogleDataTransport: 54dee9d48d14580407f8f5fbf2f496e92437a2f2 - GoogleUtilities: 202e7a9f5128accd11160fb9c19612de1911aa19 + GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34 "gRPC-C++": 2df8cba576898bdacd29f0266d5236fa0e26ba6a gRPC-Core: a21a60aefc08c68c247b439a9ef97174b0c54f96 GTMSessionFetcher: e8647203b65cee28c5f73d0f473d096653945e72 diff --git a/lib/app/components/global-widgets/my_buttons.dart b/lib/app/components/global-widgets/my_buttons.dart index 50c6026..82ef9f7 100755 --- a/lib/app/components/global-widgets/my_buttons.dart +++ b/lib/app/components/global-widgets/my_buttons.dart @@ -3,11 +3,10 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; class PrimaryButton extends StatelessWidget { const PrimaryButton( - {Key? key, + {super.key, required this.title, required this.onPressed, - required this.inactive}) - : super(key: key); + required this.inactive}); final String title; final VoidCallback onPressed; final bool inactive; diff --git a/lib/app/modules/example/home-with-graphql/views/graphql_view.dart b/lib/app/modules/example/home-with-graphql/views/graphql_view.dart index 09fc4c1..7bcbe86 100755 --- a/lib/app/modules/example/home-with-graphql/views/graphql_view.dart +++ b/lib/app/modules/example/home-with-graphql/views/graphql_view.dart @@ -1,14 +1,17 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; +import 'package:getx_standard/app/components/global-widgets/my_buttons.dart'; import 'package:iconly/iconly.dart'; +import 'package:iconsax/iconsax.dart'; import '../../../../../config/theme/my_fonts.dart'; +import '../../../../../config/theme/my_theme.dart'; import '../../../../components/global-widgets/empty_widget.dart'; import '../controllers/graphql_controller.dart'; class GraphQLView extends GetView { - const GraphQLView({Key? key}) : super(key: key); + const GraphQLView({super.key}); @override Widget build(BuildContext context) { @@ -16,7 +19,14 @@ class GraphQLView extends GetView { return Scaffold( appBar: AppBar( - title: const Text('GraphQL'), + title: const Text('GetX Standard'), + leading: IconButton( + onPressed: () => MyTheme.changeTheme(), + icon: Icon( + Get.isDarkMode ? Iconsax.moon5 : Iconsax.sun5, + color: Colors.white, + ), + ), actions: [ IconButton( onPressed: () => controller.navController.selectedIndex.value = 0, @@ -42,13 +52,13 @@ class GraphQLView extends GetView { child: Column( children: [ SizedBox( - width: 150.w, - child: ElevatedButton( - onPressed: () async { - await controller.updateTodo(); - }, - child: const Text("Run mutation")), - ), + width: 150.sp, + height: 48.sp, + child: PrimaryButton( + title: "Run mutation", + onPressed: () async => + await controller.updateTodo(), + inactive: false)), SizedBox(height: 10.h), controller.mutationResult.isEmpty ? const SizedBox() diff --git a/lib/app/modules/example/home-with-restAPI/views/home_view.dart b/lib/app/modules/example/home-with-restAPI/views/home_view.dart index 45feb51..c6e2ee5 100755 --- a/lib/app/modules/example/home-with-restAPI/views/home_view.dart +++ b/lib/app/modules/example/home-with-restAPI/views/home_view.dart @@ -2,15 +2,18 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:getx_standard/app/components/global-widgets/splash_container.dart'; +import 'package:getx_standard/config/theme/dark_theme_colors.dart'; +import 'package:getx_standard/config/theme/light_theme_colors.dart'; import 'package:iconly/iconly.dart'; import 'package:iconsax/iconsax.dart'; +import '../../../../../config/theme/my_theme.dart'; import '../../../../components/global-widgets/empty_widget.dart'; import '../../../../components/global-widgets/network_image_box.dart'; import '../controllers/home_controller.dart'; class HomeView extends GetView { - const HomeView({Key? key}) : super(key: key); + const HomeView({super.key}); @override Widget build(BuildContext context) { @@ -18,14 +21,22 @@ class HomeView extends GetView { return Scaffold( appBar: AppBar( - title: const Text('Tasty'), + title: const Text('GetX Standard'), + leading: IconButton( + onPressed: () => MyTheme.changeTheme(), + icon: Icon( + Get.isDarkMode ? Iconsax.moon5 : Iconsax.sun5, + color: Colors.white, + ), + ), actions: [ IconButton( - onPressed: () => controller.navController.selectedIndex.value = 1, - icon: const Icon( - IconlyBold.graph, - color: Colors.white, - )), + onPressed: () => controller.navController.selectedIndex.value = 1, + icon: const Icon( + IconlyBold.graph, + color: Colors.white, + ), + ), ], centerTitle: true, ), @@ -147,9 +158,16 @@ class HomeView extends GetView { color: const Color(0xffFFAD30), size: 18.sp, ), - Text(controller - .recipes[index].userRatings!.score! - .toStringAsFixed(1)), + Text( + controller.recipes[index].userRatings!.score! + .toStringAsFixed(1), + style: TextStyle( + color: Get.isDarkMode + ? DarkThemeColors + .scaffoldBackgroundColor + : LightThemeColors.primaryColor, + ), + ), ], ), ), diff --git a/lib/config/theme/dark_theme_colors.dart b/lib/config/theme/dark_theme_colors.dart index f791c4d..139522c 100755 --- a/lib/config/theme/dark_theme_colors.dart +++ b/lib/config/theme/dark_theme_colors.dart @@ -20,7 +20,7 @@ class DarkThemeColors { //BUTTON static const Color buttonColor = primaryColor; - static const Color buttonTextColor = Colors.black; + static const Color buttonTextColor = Colors.white; static const Color buttonDisabledColor = Colors.grey; static const Color buttonDisabledTextColor = Colors.black; diff --git a/lib/config/theme/my_theme.dart b/lib/config/theme/my_theme.dart index 23b766d..e45e316 100755 --- a/lib/config/theme/my_theme.dart +++ b/lib/config/theme/my_theme.dart @@ -9,23 +9,46 @@ import 'my_styles.dart'; class MyTheme { static getThemeData({required bool isLight}) { return ThemeData( + useMaterial3: true, + // main color (app bar,tabs..etc) primaryColor: isLight ? LightThemeColors.primaryColor : DarkThemeColors.primaryColor, + + // secondary & background color + colorScheme: ColorScheme.fromSwatch( + accentColor: isLight + ? LightThemeColors.accentColor + : DarkThemeColors.accentColor, + backgroundColor: isLight + ? LightThemeColors.backgroundColor + : DarkThemeColors.backgroundColor, + brightness: isLight ? Brightness.light : Brightness.dark, + ).copyWith( + secondary: isLight + ? LightThemeColors.accentColor + : DarkThemeColors.accentColor, + ), + // color contrast (if the theme is dark text should be white for example) brightness: isLight ? Brightness.light : Brightness.dark, + // card widget background color cardColor: isLight ? LightThemeColors.cardColor : DarkThemeColors.cardColor, + // hint text color hintColor: isLight ? LightThemeColors.hintTextColor : DarkThemeColors.hintTextColor, + // divider color dividerColor: isLight ? LightThemeColors.dividerColor : DarkThemeColors.dividerColor, + + // app background color scaffoldBackgroundColor: isLight ? LightThemeColors.scaffoldBackgroundColor : DarkThemeColors.scaffoldBackgroundColor, @@ -52,15 +75,6 @@ class MyTheme { // icon theme iconTheme: MyStyles.getIconTheme(isLightTheme: isLight), - colorScheme: ColorScheme.fromSwatch() - .copyWith( - secondary: isLight - ? LightThemeColors.accentColor - : DarkThemeColors.accentColor) - .copyWith( - background: isLight - ? LightThemeColors.backgroundColor - : DarkThemeColors.backgroundColor), ); } @@ -69,8 +83,10 @@ class MyTheme { static changeTheme() { // *) check if the current theme is light (default is light) bool isLightTheme = MySharedPref.getThemeIsLight(); + // *) store the new theme mode on get storage MySharedPref.setThemeIsLight(!isLightTheme); + // *) let GetX change theme Get.changeThemeMode(!isLightTheme ? ThemeMode.light : ThemeMode.dark); } diff --git a/lib/main.dart b/lib/main.dart index fcc8653..6129406 100755 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,13 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:get/get.dart'; import 'package:getx_standard/app/data/local/hive/hive_adapters.dart'; +import 'package:getx_standard/my_app.dart'; import 'app/data/local/my_shared_pref.dart'; -import 'app/routes/app_pages.dart'; -import 'config/theme/my_theme.dart'; -import 'config/translations/localization_service.dart'; Future main() async { WidgetsFlutterBinding.ensureInitialized(); @@ -33,42 +29,9 @@ Future main() async { // initialize local notifications // await NotificationHelper().initNotification(); - runApp( - ScreenUtilInit( - designSize: const Size(375, 812), - minTextAdapt: true, - splitScreenMode: true, - useInheritedMediaQuery: true, - rebuildFactor: (old, data) => true, - builder: (context, widget) { - return GetMaterialApp( - title: "GetXStandard", - useInheritedMediaQuery: true, - debugShowCheckedModeBanner: false, - builder: (context, widget) { - bool themeIsLight = MySharedPref.getThemeIsLight(); - return Theme( - data: MyTheme.getThemeData(isLight: themeIsLight), - child: MediaQuery( - data: MediaQuery.of(context).copyWith(textScaleFactor: 1.0), - child: widget!, - ), - ); - }, - - initialRoute: AppPages.NAV, - // first screen to show when app is running + ///****************************************** My App ************************************/// - defaultTransition: Transition.circularReveal, - - getPages: AppPages.routes, - // app screens - locale: MySharedPref.getCurrentLocal(), - // app language - translations: LocalizationService - .getInstance(), // localization services in app (controller app language) - ); - }, - ), + runApp( + const MyApp(), ); } diff --git a/lib/my_app.dart b/lib/my_app.dart new file mode 100644 index 0000000..50a375d --- /dev/null +++ b/lib/my_app.dart @@ -0,0 +1,54 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; + +import 'app/data/local/my_shared_pref.dart'; +import 'app/routes/app_pages.dart'; +import 'config/theme/my_theme.dart'; +import 'config/translations/localization_service.dart'; + +class MyApp extends GetView { + const MyApp({super.key}); + + @override + Widget build(BuildContext context) { + return ScreenUtilInit( + designSize: const Size(375, 812), + minTextAdapt: true, + splitScreenMode: true, + useInheritedMediaQuery: true, + rebuildFactor: (old, data) => true, + builder: (context, widget) { + return GetMaterialApp( + title: "GetXStandard", + useInheritedMediaQuery: true, + debugShowCheckedModeBanner: false, + + builder: (context, widget) { + bool themeIsLight = MySharedPref.getThemeIsLight(); + return Theme( + data: MyTheme.getThemeData(isLight: themeIsLight), + child: MediaQuery( + data: MediaQuery.of(context) + .copyWith(textScaler: const TextScaler.linear(1.0)), + child: widget!, + ), + ); + }, + + initialRoute: AppPages.NAV, + // first screen to show when app is running + + defaultTransition: Transition.circularReveal, + + getPages: AppPages.routes, + // app screens + locale: MySharedPref.getCurrentLocal(), + // app language + translations: LocalizationService + .getInstance(), // localization services in app (controller app language) + ); + }, + ); + } +} diff --git a/pubspec.lock b/pubspec.lock index 0c2d277..1645761 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -205,26 +205,26 @@ packages: dependency: "direct main" description: name: cloud_firestore - sha256: "49c0e34a0de7150f6b46390263edd7a940776713bf188891f7fd07c7d750389c" + sha256: fabfa9b20e752ea55841b0177620a817baf3c7cd12854f339f7daadb6969ee5a url: "https://pub.dev" source: hosted - version: "4.13.0" + version: "4.13.1" cloud_firestore_platform_interface: dependency: transitive description: name: cloud_firestore_platform_interface - sha256: beb8a599bd619d5081469b7af43bf4e9bb0e778f3b005c1b45e21b97e836d1a5 + sha256: "32cfa6cebf3408e541f074083fa429505af855896425eeab1c4f13edc3f68450" url: "https://pub.dev" source: hosted - version: "6.0.4" + version: "6.0.5" cloud_firestore_web: dependency: transitive description: name: cloud_firestore_web - sha256: "7a21039c98e8b5e2e0c3f5c764b185fe18b353312613074e81262a246fb58ba4" + sha256: d8e36c1a60c69eb6d5bc239e497a1f284627ef8eb42258776bbfc98ce615e869 url: "https://pub.dev" source: hosted - version: "3.8.4" + version: "3.8.5" code_builder: dependency: transitive description: @@ -237,10 +237,10 @@ packages: dependency: transitive description: name: collection - sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.2" + version: "1.18.0" connectivity_plus: dependency: "direct main" description: @@ -309,10 +309,10 @@ packages: dependency: transitive description: name: dbus - sha256: "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263" + sha256: "08c57b92885c5014a7790a53ab475b717a8d0c7d0bd47433700c5967af783f84" url: "https://pub.dev" source: hosted - version: "0.7.8" + version: "0.7.9" device_info_plus: dependency: "direct main" description: @@ -413,10 +413,10 @@ packages: dependency: "direct main" description: name: firebase_auth - sha256: af5a03a0c377af9218c9aa3c6a9ef5207d9621f0f6cd3b5099a5f570e1a03206 + sha256: a9281f9b149ad4cffbfe91725ee5159c63aca2f27c05e2e87052fc240abe212c url: "https://pub.dev" source: hosted - version: "4.13.0" + version: "4.14.0" firebase_auth_platform_interface: dependency: transitive description: @@ -620,50 +620,50 @@ packages: dependency: transitive description: name: gql - sha256: e5225e3be4d7eb4027406ab07cb68ad3a089deb3f7f6dc46edbdec78f2e5549f + sha256: "1dde34b06b6b5428841ed4ebd415b75181a0755755c647163523da1239d544a7" url: "https://pub.dev" source: hosted - version: "1.0.1-alpha+1696717343881" + version: "1.0.1-alpha+1699832453526" gql_dedupe_link: dependency: transitive description: name: gql_dedupe_link - sha256: "79625bc8029755ce6b26483adf0255c6b6114acc56e7ef81469a99f1ce2296db" + sha256: a2ced629f9b190e266519d449a22f97ff551a33fa0a97b54dbbe9038acb3710f url: "https://pub.dev" source: hosted - version: "2.0.4-alpha+1696717344020" + version: "2.0.4-alpha+1699832453607" gql_error_link: dependency: transitive description: name: gql_error_link - sha256: bfdb543137da89448cc5d003fd029c2e8718931d39d4a7dedb16f9169862fbb9 + sha256: "93901458f3c050e33386dedb0ca7173e08cebd7078e4e0deca4bf23ab7a71f63" url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.0.0+1" gql_exec: dependency: transitive description: name: gql_exec - sha256: da419a3ebaae7672ed662c42d754ffba996347af7fe0ca031f1dd699334994d8 + sha256: "394944626fae900f1d34343ecf2d62e44eb984826189c8979d305f0ae5846e38" url: "https://pub.dev" source: hosted - version: "1.0.1-alpha+1696717343896" + version: "1.1.1-alpha+1699813812660" gql_http_link: dependency: transitive description: name: gql_http_link - sha256: "0789d397d46ce274942fcc73e18a080cd2584296dadc33d8ae53d0666d7fe981" + sha256: "1f922eed1b7078fdbfd602187663026f9f659fe9a9499e2207b5d5e01617f658" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.0.1+1" gql_link: dependency: transitive description: name: gql_link - sha256: bcbb09ae8b200f413aa2d21fbf6ce4c4ac1ac443e81c612f29ef1587f4c84122 + sha256: "96f47aaf2ce26c2560b59583bb658ebabaa20d8537d9f5fabafa60b6ac8a8c7a" url: "https://pub.dev" source: hosted - version: "1.0.1-alpha+1696717343909" + version: "1.0.1-alpha+1699832453541" gql_transform_link: dependency: transitive description: @@ -956,10 +956,10 @@ packages: dependency: transitive description: name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" mime: dependency: transitive description: @@ -1068,10 +1068,10 @@ packages: dependency: transitive description: name: petitparser - sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 + sha256: eeb2d1428ee7f4170e2bd498827296a18d4e7fc462b71727d111c0ac7707cfa6 url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "6.0.1" platform: dependency: transitive description: @@ -1241,26 +1241,26 @@ packages: dependency: transitive description: name: sqflite_common - sha256: "8ed044102f3135add97be8653662052838859f5400075ef227f8ad72ae320803" + sha256: bb4738f15b23352822f4c42a531677e5c6f522e079461fd240ead29d8d8a54a6 url: "https://pub.dev" source: hosted - version: "2.5.0+1" + version: "2.5.0+2" stack_trace: dependency: transitive description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" stream_transform: dependency: transitive description: @@ -1297,10 +1297,10 @@ packages: dependency: transitive description: name: test_api - sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.dev" source: hosted - version: "0.6.0" + version: "0.6.1" timezone: dependency: transitive description: @@ -1361,10 +1361,10 @@ packages: dependency: transitive description: name: web - sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 url: "https://pub.dev" source: hosted - version: "0.1.4-beta" + version: "0.3.0" web_socket_channel: dependency: "direct main" description: @@ -1377,10 +1377,10 @@ packages: dependency: transitive description: name: win32 - sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3" + sha256: "7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f" url: "https://pub.dev" source: hosted - version: "5.0.9" + version: "5.1.0" win32_registry: dependency: transitive description: @@ -1401,10 +1401,10 @@ packages: dependency: transitive description: name: xml - sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" + sha256: af5e77e9b83f2f4adc5d3f0a4ece1c7f45a2467b695c2540381bac793e34e556 url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.4.2" yaml: dependency: transitive description: @@ -1414,5 +1414,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.1.2 <4.0.0" + dart: ">=3.2.0-194.0.dev <4.0.0" flutter: ">=3.13.0" diff --git a/pubspec.yaml b/pubspec.yaml index d115680..6eba61a 100755 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -22,27 +22,27 @@ dependencies: flutter_screenutil: ^5.9.0 dio: ^5.3.3 http: ^1.1.0 - shared_preferences: ^2.2.1 + shared_preferences: ^2.2.2 change_app_package_name: ^1.1.0 iconly: ^1.0.1 iconsax: ^0.0.8 expandable_text: ^2.3.0 file_picker: ^6.1.1 - lottie: ^2.6.0 + lottie: ^2.7.0 ionicons: ^0.2.2 flutter_otp_text_field: ^1.1.1 flutter_launcher_icons: ^0.13.1 - flutter_native_splash: ^2.3.2 - firebase_core: ^2.16.0 - firebase_auth: ^4.10.0 - cloud_firestore: ^4.9.2 - firebase_messaging: ^14.6.8 + flutter_native_splash: ^2.3.5 + firebase_core: ^2.22.0 + firebase_auth: ^4.14.0 + cloud_firestore: ^4.13.1 + firebase_messaging: ^14.7.4 carousel_slider: ^4.2.1 - cached_network_image: ^3.2.3 + cached_network_image: ^3.3.0 graphql_flutter: ^5.1.2 intl: ^0.18.1 animated_text_kit: ^4.2.2 - device_info_plus: ^9.0.3 + device_info_plus: ^9.1.0 flutter_local_notifications: ^16.1.0 hive: ^2.2.3 hive_flutter: ^1.1.0 @@ -63,16 +63,14 @@ dev_dependencies: pub_semver: flutter_icons: - # This image should be 512×512 pixels in rectangle. - # Png file and should be sized for 1x pixel density. + android: true ios: true remove_alpha_ios: true image_path: "assets/images/icon-splash/app_icon.png" flutter_native_splash: -# This image should be 512×512 pixels, and fit within a circle 512 pixels in diameter. -# Png file and should be sized for 1x pixel density. + background_image: "assets/images/icon-splash/splash_background.png" android_12: