diff --git a/build/app/outputs/flutter-apk/app-arm64-v8a-release.apk b/build/app/outputs/flutter-apk/app-arm64-v8a-release.apk index c37757e..c66e39f 100644 Binary files a/build/app/outputs/flutter-apk/app-arm64-v8a-release.apk and b/build/app/outputs/flutter-apk/app-arm64-v8a-release.apk differ diff --git a/lib/admin/add_card.dart b/lib/admin/add_card.dart index c935b0b..796d459 100644 --- a/lib/admin/add_card.dart +++ b/lib/admin/add_card.dart @@ -1,19 +1,13 @@ import 'dart:convert'; import 'dart:io'; -import 'dart:typed_data'; -import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:file_picker/file_picker.dart'; import 'package:mnemo_cards/admin/admin_api.dart'; -import 'package:mnemo_cards/domain/router/app_router.dart'; -import 'package:mnemo_cards/features/packs/images_holder.dart'; -import 'package:mnemo_cards/widgets/game_card_widget.dart'; import 'package:mnemo_cards/widgets/header.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; -import '../di/locator.dart'; import '../main.dart'; import '../widgets/image_fade.dart'; diff --git a/lib/admin/add_package.dart b/lib/admin/add_package.dart index 608d71a..971f7eb 100644 --- a/lib/admin/add_package.dart +++ b/lib/admin/add_package.dart @@ -1,19 +1,14 @@ import 'dart:convert'; import 'dart:io'; -import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:flutter_colorpicker/flutter_colorpicker.dart'; import 'package:mnemo_cards/admin/admin_api.dart'; -import 'package:mnemo_cards/di/injector.dart'; import 'package:mnemo_cards/managers/repository/api.dart'; -import 'package:mnemo_cards/managers/repository/dio_provider.dart'; -import 'package:mnemo_cards/utils/iterable_helper.dart'; -import 'package:mnemo_cards/utils/string_helper.dart'; import 'package:mnemo_cards/widgets/header.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import 'package:file_picker/file_picker.dart'; - +import '../utils/string_helper.dart'; import '../main.dart'; import '../widgets/image_fade.dart'; diff --git a/lib/admin/add_user.dart b/lib/admin/add_user.dart index 12b88b3..4e12247 100644 --- a/lib/admin/add_user.dart +++ b/lib/admin/add_user.dart @@ -1,24 +1,13 @@ import 'dart:async'; -import 'dart:convert'; -import 'dart:io'; -import 'dart:typed_data'; -import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; -import 'package:file_picker/file_picker.dart'; import 'package:flutter/services.dart'; import 'package:mnemo_cards/admin/admin_api.dart'; -import 'package:mnemo_cards/domain/router/app_router.dart'; -import 'package:mnemo_cards/features/packs/images_holder.dart'; -import 'package:mnemo_cards/utils/iterable_helper.dart'; -import 'package:mnemo_cards/widgets/game_card_widget.dart'; import 'package:mnemo_cards/widgets/header.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; -import '../di/locator.dart'; import '../main.dart'; -import '../widgets/image_fade.dart'; class EditUser { UserDto userDto; diff --git a/lib/admin/all_users.dart b/lib/admin/all_users.dart index a14bf98..f2d1a3d 100644 --- a/lib/admin/all_users.dart +++ b/lib/admin/all_users.dart @@ -1,10 +1,6 @@ -import 'dart:convert'; -import 'dart:math'; import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:mnemo_cards/admin/add_card.dart'; import 'package:mnemo_cards/admin/add_user.dart'; import 'package:mnemo_cards/admin/admin_api.dart'; import 'package:mnemo_cards/di/injector.dart'; diff --git a/lib/di/injector.dart b/lib/di/injector.dart index 4cb3024..21331c7 100644 --- a/lib/di/injector.dart +++ b/lib/di/injector.dart @@ -1,15 +1,12 @@ -import 'dart:developer'; import 'package:get_it/get_it.dart'; import 'package:mnemo_cards/admin/admin_api.dart'; -import 'package:mnemo_cards/di/locator.dart'; import 'package:mnemo_cards/features/packs/pack_cache_manager.dart'; import 'package:mnemo_cards/features/packs/packs_api.dart'; import 'package:mnemo_cards/flags.dart'; import 'package:mnemo_cards/managers/favorite_cards.dart'; import 'package:mnemo_cards/managers/repository/dio_provider.dart'; import 'package:mnemo_cards/managers/repository/http_repository.dart'; -import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import '../features/packs/images_holder.dart'; import '../features/packs/pack_updater.dart'; diff --git a/lib/features/analytics/analytics.dart b/lib/features/analytics/analytics.dart index 100cc0c..46c322a 100644 --- a/lib/features/analytics/analytics.dart +++ b/lib/features/analytics/analytics.dart @@ -1,7 +1,6 @@ import 'package:firebase_analytics/firebase_analytics.dart'; import 'package:firebase_crashlytics/firebase_crashlytics.dart'; import 'package:mnemo_cards/managers/user_manager.dart'; -import 'package:mnemo_cards/utils/iterable_helper.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; class Analytics { diff --git a/lib/features/card_flipper/flip_card_controllers.dart b/lib/features/card_flipper/flip_card_controllers.dart index fc9215c..a0e53c2 100644 --- a/lib/features/card_flipper/flip_card_controllers.dart +++ b/lib/features/card_flipper/flip_card_controllers.dart @@ -2,7 +2,6 @@ import 'dart:async'; import 'package:rxdart/rxdart.dart'; -import 'flip_card.dart'; ///This controller used to call Fliping class FlipCardController { diff --git a/lib/features/card_swiper/src/card_swiper.dart b/lib/features/card_swiper/src/card_swiper.dart index 57928bb..736382a 100644 --- a/lib/features/card_swiper/src/card_swiper.dart +++ b/lib/features/card_swiper/src/card_swiper.dart @@ -2,9 +2,7 @@ import 'dart:collection'; import 'dart:math' as math; import 'package:flutter/widgets.dart'; -import 'package:yandex_mobileads/mobile_ads.dart'; -import '../../yandex_ads/yandex_ads.dart'; import 'allowed_swipe_direction.dart'; import 'card_animation.dart'; import 'card_swiper_controller.dart'; diff --git a/lib/features/packs/images_holder.dart b/lib/features/packs/images_holder.dart index 287813f..b0ef812 100644 --- a/lib/features/packs/images_holder.dart +++ b/lib/features/packs/images_holder.dart @@ -1,4 +1,3 @@ -import 'dart:developer'; import 'package:flutter/cupertino.dart'; import 'package:mnemo_cards/di/locator.dart'; diff --git a/lib/features/packs/pack_cache_manager.dart b/lib/features/packs/pack_cache_manager.dart index 6476b4c..3dafb56 100644 --- a/lib/features/packs/pack_cache_manager.dart +++ b/lib/features/packs/pack_cache_manager.dart @@ -2,7 +2,6 @@ import 'dart:async'; import 'dart:convert'; import 'dart:developer'; import 'dart:io'; -import 'dart:typed_data'; import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; diff --git a/lib/features/packs/pack_manager.dart b/lib/features/packs/pack_manager.dart index 591a844..861dc8c 100644 --- a/lib/features/packs/pack_manager.dart +++ b/lib/features/packs/pack_manager.dart @@ -5,9 +5,7 @@ import 'package:mnemo_cards/di/locator.dart'; import 'package:mnemo_cards/features/packs/pack_cache_manager.dart'; import 'package:mnemo_cards/features/packs/packs_api.dart'; import 'package:mnemo_cards/features/packs/preview_pack_holder.dart'; -import 'package:mnemo_cards/main.dart'; import 'package:mnemo_cards/managers/repository/repository.dart'; -import 'package:mnemo_cards/utils/iterable_helper.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import 'package:rxdart/rxdart.dart'; diff --git a/lib/features/packs/preview_pack_holder.dart b/lib/features/packs/preview_pack_holder.dart index a239f38..b43edb6 100644 --- a/lib/features/packs/preview_pack_holder.dart +++ b/lib/features/packs/preview_pack_holder.dart @@ -5,7 +5,6 @@ import 'dart:developer'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import 'package:rxdart/rxdart.dart'; -import 'package:shared_preferences/shared_preferences.dart'; import '../../main.dart'; diff --git a/lib/features/purchase/in_app_purchase.dart b/lib/features/purchase/in_app_purchase.dart index 7dd46de..5ef11ad 100644 --- a/lib/features/purchase/in_app_purchase.dart +++ b/lib/features/purchase/in_app_purchase.dart @@ -4,7 +4,6 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:in_app_purchase/in_app_purchase.dart'; -import 'package:mnemo_cards/utils/iterable_helper.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import 'package:webview_flutter/webview_flutter.dart'; import '../../di/injector.dart'; diff --git a/lib/features/stories/stories_page.dart b/lib/features/stories/stories_page.dart index b9fbbd7..a21057d 100644 --- a/lib/features/stories/stories_page.dart +++ b/lib/features/stories/stories_page.dart @@ -1,5 +1,3 @@ -import 'package:auto_route/auto_route.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:story/story.dart'; diff --git a/lib/features/stories/stories_widget.dart b/lib/features/stories/stories_widget.dart index 5e84bcb..14a392e 100644 --- a/lib/features/stories/stories_widget.dart +++ b/lib/features/stories/stories_widget.dart @@ -1,5 +1,4 @@ import 'package:auto_route/auto_route.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:mnemo_cards/features/stories/stories_page.dart'; diff --git a/lib/features/tests/progress_widget.dart b/lib/features/tests/progress_widget.dart index e5707d1..838d167 100644 --- a/lib/features/tests/progress_widget.dart +++ b/lib/features/tests/progress_widget.dart @@ -1,15 +1,8 @@ -import 'dart:math'; import 'package:auto_route/auto_route.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:mnemo_cards/flags.dart'; -import 'package:rxdart/rxdart.dart'; -import '../../theme/themes.dart'; class ProgressWidget extends StatefulWidget { final Color color; diff --git a/lib/features/tests/question_states/input_buttons_test_state.dart b/lib/features/tests/question_states/input_buttons_test_state.dart index 37a8ca4..334c4d8 100644 --- a/lib/features/tests/question_states/input_buttons_test_state.dart +++ b/lib/features/tests/question_states/input_buttons_test_state.dart @@ -1,4 +1,3 @@ -import 'dart:math'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:copy_with_extension/copy_with_extension.dart'; diff --git a/lib/features/tests/question_states/simple_test_state.dart b/lib/features/tests/question_states/simple_test_state.dart index 9486ea3..61b8ed5 100644 --- a/lib/features/tests/question_states/simple_test_state.dart +++ b/lib/features/tests/question_states/simple_test_state.dart @@ -1,4 +1,3 @@ -import 'dart:math'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:copy_with_extension/copy_with_extension.dart'; diff --git a/lib/features/tests/test_manager.dart b/lib/features/tests/test_manager.dart index 1b36d08..7f0c032 100644 --- a/lib/features/tests/test_manager.dart +++ b/lib/features/tests/test_manager.dart @@ -1,6 +1,6 @@ import 'dart:async'; import 'dart:developer'; -import 'package:collection/collection.dart'; +import 'package:collection/collection.dart' show ListEquality; import 'package:flutter/widgets.dart'; import 'package:mnemo_cards/features/tests/test_state_holder.dart'; diff --git a/lib/features/tests/test_page.dart b/lib/features/tests/test_page.dart index 113f4af..57c133e 100644 --- a/lib/features/tests/test_page.dart +++ b/lib/features/tests/test_page.dart @@ -1,8 +1,5 @@ -import 'dart:developer'; -import 'dart:math' as math; import 'package:auto_route/auto_route.dart'; -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:mnemo_cards/main.dart'; @@ -64,7 +61,7 @@ class _TestPageState extends State { false) { AudioPlayer.playAudio((question as dynamic).audio); } - } catch (e, s) {} + } catch (e) {} } } diff --git a/lib/features/tests/test_progress_widget.dart b/lib/features/tests/test_progress_widget.dart index e8654d9..9d28210 100644 --- a/lib/features/tests/test_progress_widget.dart +++ b/lib/features/tests/test_progress_widget.dart @@ -1,16 +1,11 @@ import 'dart:async'; -import 'dart:math'; -import 'package:auto_route/auto_route.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:mnemo_cards/features/tests/progress_widget.dart'; -import 'package:rxdart/rxdart.dart'; import '../../di/locator.dart'; -import '../../theme/themes.dart'; class TestProgressWidget extends StatefulWidget { @override diff --git a/lib/features/tests/test_widgets/common_test_question_widget.dart b/lib/features/tests/test_widgets/common_test_question_widget.dart index 5357f38..4e18105 100644 --- a/lib/features/tests/test_widgets/common_test_question_widget.dart +++ b/lib/features/tests/test_widgets/common_test_question_widget.dart @@ -1,9 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:flutter_tts/flutter_tts.dart'; import 'package:mnemo_cards/managers/audio_player.dart'; -import '../../../main.dart'; import '../../../widgets/game_card_widget.dart'; import 'test_image.dart'; diff --git a/lib/features/tests/test_widgets/input_buttons_test.dart b/lib/features/tests/test_widgets/input_buttons_test.dart index c33bc6e..64fedbd 100644 --- a/lib/features/tests/test_widgets/input_buttons_test.dart +++ b/lib/features/tests/test_widgets/input_buttons_test.dart @@ -193,7 +193,8 @@ class InputButtonsTestWidget extends StatelessWidget { ? isCorrect ? Colors.green.withOpacity(0.5) : Colors.red.withOpacity(0.5) - : Theme.of(context).scaffoldBackgroundColor, + : Theme.of(context) + .scaffoldBackgroundColor, ), ), ), diff --git a/lib/features/tests/test_widgets/simple_test.dart b/lib/features/tests/test_widgets/simple_test.dart index 7391daa..94897ae 100644 --- a/lib/features/tests/test_widgets/simple_test.dart +++ b/lib/features/tests/test_widgets/simple_test.dart @@ -2,15 +2,12 @@ import 'dart:math'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:flutter_tts/flutter_tts.dart'; import 'package:mnemo_cards/features/tests/test_manager.dart'; import 'package:mnemo_cards/features/tests/test_widgets/common_test_question_widget.dart'; import 'package:mnemo_cards/features/tests/test_widgets/test_image.dart'; -import 'package:mnemo_cards/main.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import '../../../di/locator.dart'; -import '../../../widgets/game_card_widget.dart'; import '../question_states/simple_test_state.dart'; import 'test_button.dart'; diff --git a/lib/features/tests/test_widgets/test_button.dart b/lib/features/tests/test_widgets/test_button.dart index c3cf18a..cc69cb0 100644 --- a/lib/features/tests/test_widgets/test_button.dart +++ b/lib/features/tests/test_widgets/test_button.dart @@ -1,6 +1,4 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:mnemo_cards/theme/themes.dart'; import 'test_image.dart'; diff --git a/lib/features/tests/test_widgets/test_image.dart b/lib/features/tests/test_widgets/test_image.dart index ff02a5b..9e95f6d 100644 --- a/lib/features/tests/test_widgets/test_image.dart +++ b/lib/features/tests/test_widgets/test_image.dart @@ -1,13 +1,10 @@ import 'dart:convert'; import 'dart:developer'; import 'dart:math' as m; -import 'dart:typed_data'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:mnemo_cards/features/packs/images_holder.dart'; -import 'package:mnemo_cards/theme/themes.dart'; import '../../../di/locator.dart'; diff --git a/lib/flags.dart b/lib/flags.dart index 50bf609..2686372 100644 --- a/lib/flags.dart +++ b/lib/flags.dart @@ -1,6 +1,6 @@ import 'package:mnemo_cards/main.dart'; -const ADMIN_BUILD = true; +const ADMIN_BUILD = false; bool get SHOW_ADMIN => ADMIN_BUILD && (globalSharedPreferences.getBool('show_admin') ?? false); diff --git a/lib/main.dart b/lib/main.dart index 229e3d7..abbd107 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,7 +2,6 @@ import 'dart:async'; import 'dart:developer'; import 'dart:io'; -import 'package:auto_route/annotations.dart'; import 'package:auto_route/auto_route.dart'; import 'package:device_info_plus/device_info_plus.dart'; import 'package:firebase_core/firebase_core.dart'; @@ -15,7 +14,6 @@ import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:jailbreak_root_detection/jailbreak_root_detection.dart'; import 'package:mnemo_cards/di/locator.dart'; import 'package:mnemo_cards/domain/router/app_router.dart'; -import 'package:mnemo_cards/managers/repository/certificates.dart'; import 'package:mnemo_cards/managers/repository/firebase_config_repository.dart'; import 'package:mnemo_cards/features/packs/pack_manager.dart'; import 'package:mnemo_cards/theme/themes.dart'; diff --git a/lib/managers/repository/api.dart b/lib/managers/repository/api.dart index 290fce2..54fcd53 100644 --- a/lib/managers/repository/api.dart +++ b/lib/managers/repository/api.dart @@ -1,9 +1,6 @@ -import 'package:dio/dio.dart'; -import 'package:flutter/foundation.dart'; import 'package:mnemo_cards/flags.dart'; import '../../main.dart'; -import 'firebase_config_repository.dart'; mixin Api { String get path => diff --git a/lib/managers/repository/dio_provider.dart b/lib/managers/repository/dio_provider.dart index 979195f..d4f8633 100644 --- a/lib/managers/repository/dio_provider.dart +++ b/lib/managers/repository/dio_provider.dart @@ -1,18 +1,12 @@ -import 'dart:convert'; import 'dart:developer'; import 'dart:io'; -import 'package:auto_route/auto_route.dart'; import 'package:dio/dio.dart'; import 'package:dio/io.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:mnemo_cards/domain/router/app_router.gr.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import 'package:package_info_plus/package_info_plus.dart'; -import 'package:http_certificate_pinning/http_certificate_pinning.dart'; -import 'package:flutter/foundation.dart'; import 'package:collection/collection.dart'; import '../../di/locator.dart'; diff --git a/lib/managers/repository/firebase_config_repository.dart b/lib/managers/repository/firebase_config_repository.dart index c5b4769..f214d8e 100644 --- a/lib/managers/repository/firebase_config_repository.dart +++ b/lib/managers/repository/firebase_config_repository.dart @@ -1,4 +1,3 @@ -import 'dart:convert'; import 'package:cloud_firestore/cloud_firestore.dart'; diff --git a/lib/managers/repository/http_repository.dart b/lib/managers/repository/http_repository.dart index e7342fd..91b562f 100644 --- a/lib/managers/repository/http_repository.dart +++ b/lib/managers/repository/http_repository.dart @@ -58,6 +58,7 @@ class HttpRepository extends Repository with Api { } } + @override void setAuthToken(String? authToken) { _dio.interceptors.add( InterceptorsWrapper(onRequest: (options, handler) { diff --git a/lib/managers/repository/repository.dart b/lib/managers/repository/repository.dart index d8a8e5f..0230309 100644 --- a/lib/managers/repository/repository.dart +++ b/lib/managers/repository/repository.dart @@ -1,7 +1,6 @@ import 'package:mnemo_cards/managers/user_manager.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; -import '../../features/purchase/in_app_purchase.dart'; abstract class Repository { Future get user; @@ -15,11 +14,14 @@ abstract class Repository { Future<(UserDto, String)> createOrGetUser( String externalId, ExternalIdType idType, - String name, + String? name, ); Future getUser(); + + void setAuthToken(String? authToken); + Future updateUserData(UserDataDto data); Future updateUserSettings(UserSettingsDto settings); diff --git a/lib/managers/user_manager.dart b/lib/managers/user_manager.dart index 8aa62c9..5010275 100644 --- a/lib/managers/user_manager.dart +++ b/lib/managers/user_manager.dart @@ -1,10 +1,8 @@ import 'dart:async'; -import 'dart:convert'; import 'dart:developer'; -import 'dart:io'; -import 'package:auto_route/auto_route.dart'; import 'package:dio/dio.dart'; +import 'package:flutter/foundation.dart'; import 'package:google_sign_in/google_sign_in.dart'; import 'package:mnemo_cards/di/locator.dart'; import 'package:mnemo_cards/main.dart'; @@ -12,10 +10,8 @@ import 'package:mnemo_cards/managers/repository/http_repository.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import 'package:rxdart/rxdart.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'package:device_info_plus/device_info_plus.dart'; import '../domain/router/app_router.dart'; -import '../domain/router/app_router.gr.dart'; import '../features/analytics/analytics.dart'; import 'user_state_holder.dart'; @@ -27,7 +23,9 @@ class UserManager { 'email', // 'https://www.googleapis.com/auth/contacts.readonly', ], - // clientId: '01767851968-dvbvmte4m90dkqitp013s4nd5c0df1n8.apps.googleusercontent.com', + clientId: kIsWeb + ? '701767851968-bud97rud1d9qtqju96addn31nhm0oofu.apps.googleusercontent.com' + : null, // "701767851968-bud97rud1d9qtqju96addn31nhm0oofu.apps.googleusercontent.com", ); @@ -41,11 +39,15 @@ class UserManager { int? get userId => userStateHolder.user?.id; Future login() async { - if (await _googleSignIn.isSignedIn()) { - await _googleSignIn.signOut(); + try { + if (await _googleSignIn.isSignedIn()) { + await _googleSignIn.signOut(); + } + final account = await _googleSignIn.signIn(); + await Future.delayed(Duration(milliseconds: 300)); + } catch (e, s) { + log('Error in login', error: e, stackTrace: s); } - final account = await _googleSignIn.signIn(); - await Future.delayed(Duration(milliseconds: 300)); } Future logout() async { diff --git a/lib/pages/auth_page.dart b/lib/pages/auth_page.dart index a30cd7f..869df59 100644 --- a/lib/pages/auth_page.dart +++ b/lib/pages/auth_page.dart @@ -1,14 +1,11 @@ import 'package:auto_route/annotations.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:mnemo_cards/di/locator.dart'; import 'package:mnemo_cards/flags.dart'; -import 'package:mnemo_cards/widgets/header.dart'; import 'package:url_launcher/url_launcher.dart'; -import '../main.dart'; import '../theme/themes.dart'; import '../widgets/shared_pref_button.dart'; diff --git a/lib/pages/home_page.dart b/lib/pages/home_page.dart index bbb6a62..961a227 100644 --- a/lib/pages/home_page.dart +++ b/lib/pages/home_page.dart @@ -1,7 +1,5 @@ import 'package:auto_route/auto_route.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:mnemo_cards/di/locator.dart'; import '../widgets/packs_menu_widget.dart'; diff --git a/lib/pages/profile_page.dart b/lib/pages/profile_page.dart index e02b0bb..29c6f01 100644 --- a/lib/pages/profile_page.dart +++ b/lib/pages/profile_page.dart @@ -1,7 +1,6 @@ import 'dart:io'; import 'package:auto_route/auto_route.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:mnemo_cards/domain/router/app_router.dart'; @@ -9,7 +8,6 @@ import 'package:mnemo_cards/domain/router/app_router.gr.dart'; import 'package:mnemo_cards/flags.dart'; import 'package:mnemo_cards/main.dart'; import 'package:mnemo_cards/widgets/header.dart'; -import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -22,10 +20,6 @@ import '../widgets/big_back_button.dart'; import '../widgets/enter_promo_code_widget.dart'; import '../widgets/shared_pref_button.dart'; import '../widgets/simple_tile.dart'; -import '../widgets/slider.dart'; -import '../widgets/switch_button.dart'; -import '../widgets/switch_tile.dart'; -import '../widgets/text_button.dart'; import '../widgets/user_statistics.dart'; @RoutePage() diff --git a/lib/pages/settgins_page.dart b/lib/pages/settgins_page.dart index c9bdf1e..4576abe 100644 --- a/lib/pages/settgins_page.dart +++ b/lib/pages/settgins_page.dart @@ -1,30 +1,22 @@ import 'dart:io'; import 'package:auto_route/auto_route.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:mnemo_cards/domain/router/app_router.dart'; import 'package:mnemo_cards/flags.dart'; import 'package:mnemo_cards/widgets/header.dart'; -import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:url_launcher/url_launcher.dart'; -import '../admin/all_cards.dart'; -import '../admin/all_users.dart'; import '../di/locator.dart'; import '../features/analytics/analytics.dart'; import '../theme/themes.dart'; import '../widgets/big_back_button.dart'; -import '../widgets/enter_promo_code_widget.dart'; import '../widgets/shared_pref_button.dart'; import '../widgets/simple_tile.dart'; import '../widgets/slider.dart'; -import '../widgets/switch_button.dart'; import '../widgets/switch_tile.dart'; import '../widgets/text_button.dart'; -import '../widgets/user_statistics.dart'; @RoutePage() class SettingsPage extends StatelessWidget { diff --git a/lib/theme/themes.dart b/lib/theme/themes.dart index e25c978..c2145df 100644 --- a/lib/theme/themes.dart +++ b/lib/theme/themes.dart @@ -53,7 +53,7 @@ final theme2 = ThemeData( secondaryContainer: Colors.grey, primary: MaterialColor(0xFF000000, color), surface: MaterialColor(0xFFFFFFFF, colorWhite), - surfaceVariant: MaterialColor(0xFFFFFFFF, colorWhite), + surfaceContainerHighest: MaterialColor(0xFFFFFFFF, colorWhite), onSurface: Colors.black, ), diff --git a/lib/utils/iterable_helper.dart b/lib/utils/iterable_helper.dart deleted file mode 100644 index 3b36a89..0000000 --- a/lib/utils/iterable_helper.dart +++ /dev/null @@ -1,61 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; - -extension IterableHelper on Iterable { - T? firstWhereOrNull(bool Function(T) test) => where(test).firstOrNull; -} - -extension NullableIterableHelper on Iterable { - Iterable whereNotNull() => where((element) => element != null).cast(); -} - -extension ListHelper on List { - // List shuffle([int? seed]) { - // Random r = Random(seed); - // var items = [...this]; - // for (var i = length - 1; i > 0; i--) { - // var n = r.nextInt(i + 1); - // - // var temp = items[i]; - // items[i] = items[n]; - // items[n] = temp; - // } - // - // return items; - // } - - void move(int from, int to) { - RangeError.checkValidIndex(from, this, "from", length); - RangeError.checkValidIndex(to, this, "to", length); - var element = this[from]; - if (from < to) { - this.setRange(from, to, this, from + 1); - } else { - this.setRange(to + 1, from + 1, this, to); - } - this[to] = element; - } - - void sortInOrder

(List

order, P valueGetter(T v)) => sort((p, n) { - final pVal = valueGetter(p); - final nVal = valueGetter(n); - final pIndex = order.indexOf(pVal); - final nIndex = order.indexOf(nVal); - if (pIndex == -1) { - return nIndex == -1 - ? () { - if (pVal is num) { - return pVal.compareTo(nVal as num); - } else if (pVal is String) { - return pVal.compareTo(nVal as String); - } - return pVal.toString().compareTo(nVal.toString()); - }.call() - : 1; - } else if (nIndex == -1) { - return -1; - } - return pIndex.compareTo(nIndex); - }); -} diff --git a/lib/utils/string_helper.dart b/lib/utils/string_helper.dart index 178b5db..c856d38 100644 --- a/lib/utils/string_helper.dart +++ b/lib/utils/string_helper.dart @@ -1,4 +1,5 @@ -import 'package:flutter/material.dart'; + +import 'dart:ui'; extension StringHelper on String { String get capitalize => @@ -19,6 +20,6 @@ extension StringHelper on String { return '0x$this'.asColor; } } - return Colors.white; + return Color(0xffffffff); } } diff --git a/lib/widgets/big_back_button.dart b/lib/widgets/big_back_button.dart index 4dd23ee..5717be0 100644 --- a/lib/widgets/big_back_button.dart +++ b/lib/widgets/big_back_button.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:mnemo_cards/main.dart'; diff --git a/lib/widgets/card_game/card_game_header.dart b/lib/widgets/card_game/card_game_header.dart index 971c4fc..f69284f 100644 --- a/lib/widgets/card_game/card_game_header.dart +++ b/lib/widgets/card_game/card_game_header.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:mnemo_cards/utils/string_helper.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import '../../features/card_swiper/src/card_swiper_controller.dart'; diff --git a/lib/widgets/card_game/card_game_main.dart b/lib/widgets/card_game/card_game_main.dart index ed3578f..ad971f7 100644 --- a/lib/widgets/card_game/card_game_main.dart +++ b/lib/widgets/card_game/card_game_main.dart @@ -1,6 +1,5 @@ import 'dart:math'; -import 'package:auto_route/auto_route.dart'; import 'package:flutter/material.dart'; import 'package:mnemo_cards/features/packs/images_holder.dart'; import 'package:mnemo_cards/utils/color_helper.dart'; @@ -11,7 +10,6 @@ import '../../features/card_flipper/flip_card_controllers.dart'; import '../../features/card_swiper/src/allowed_swipe_direction.dart'; import '../../features/card_swiper/src/card_swiper.dart'; import '../../features/card_swiper/src/card_swiper_controller.dart'; -import '../../features/card_swiper/src/enums.dart'; import '../../main.dart'; import '../game_card_widget.dart'; diff --git a/lib/widgets/card_game/card_game_page.dart b/lib/widgets/card_game/card_game_page.dart index f594074..68ea191 100644 --- a/lib/widgets/card_game/card_game_page.dart +++ b/lib/widgets/card_game/card_game_page.dart @@ -9,7 +9,6 @@ import 'package:mnemo_cards/managers/audio_player.dart'; import 'package:mnemo_cards/theme/themes.dart'; import 'package:mnemo_cards/utils/color_helper.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; -import 'package:rxdart/rxdart.dart'; import '../../di/locator.dart'; import '../../features/card_flipper/flip_card_controllers.dart'; import '../../features/card_swiper/flutter_card_swiper.dart'; diff --git a/lib/widgets/card_pack/available_pack.dart b/lib/widgets/card_pack/available_pack.dart index cb1741f..31dbb88 100644 --- a/lib/widgets/card_pack/available_pack.dart +++ b/lib/widgets/card_pack/available_pack.dart @@ -1,16 +1,12 @@ import 'dart:math'; -import 'package:collection/collection.dart'; import 'package:auto_route/auto_route.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:mnemo_cards/main.dart'; -import 'package:mnemo_cards/utils/iterable_helper.dart'; import 'package:mnemo_cards/widgets/fade_in_widget.dart'; -import 'package:mnemo_cards/widgets/feedback_builder.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; -import 'package:reorderables/reorderables.dart'; import 'package:yandex_mobileads/mobile_ads.dart'; import '../../domain/router/app_router.gr.dart'; import '../../features/analytics/analytics.dart'; @@ -289,7 +285,7 @@ class _Button extends StatelessWidget { final String asset; final VoidCallback onTap; - _Button(this.asset, this.onTap, {super.key}); + _Button(this.asset, this.onTap); @override Widget build(BuildContext context) { @@ -368,7 +364,6 @@ class _TestButton extends StatelessWidget { this.time, this.timeSubtitle, this.stats, - super.key, }); @override diff --git a/lib/widgets/card_pack/buy_pack_page.dart b/lib/widgets/card_pack/buy_pack_page.dart index 98298f9..3a6c569 100644 --- a/lib/widgets/card_pack/buy_pack_page.dart +++ b/lib/widgets/card_pack/buy_pack_page.dart @@ -1,14 +1,10 @@ import 'dart:convert'; import 'dart:developer'; -import 'package:auto_route/auto_route.dart'; import 'package:mnemo_cards/utils/string_helper.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; -import '../../di/injector.dart'; import '../../features/analytics/analytics.dart'; -import '../../features/packs/pack_holder.dart'; import '../../main.dart'; import '../items/builder.dart'; @@ -16,7 +12,6 @@ import '../../di/locator.dart'; import '../../domain/router/app_router.dart'; import '../../theme/themes.dart'; import 'card_pack_header.dart'; -import 'loading_pack.dart'; class BuyPack extends StatelessWidget { final CardPackBuyDto dto; diff --git a/lib/widgets/card_pack/card_pack_header.dart b/lib/widgets/card_pack/card_pack_header.dart index 971de5c..a718006 100644 --- a/lib/widgets/card_pack/card_pack_header.dart +++ b/lib/widgets/card_pack/card_pack_header.dart @@ -1,7 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:mnemo_cards/utils/color_helper.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import 'package:mnemo_cards/utils/string_helper.dart'; import '../header.dart'; diff --git a/lib/widgets/card_pack/cards_view.dart b/lib/widgets/card_pack/cards_view.dart index 7d9e4ab..351687d 100644 --- a/lib/widgets/card_pack/cards_view.dart +++ b/lib/widgets/card_pack/cards_view.dart @@ -1,4 +1,3 @@ -import 'dart:async'; import 'package:auto_route/auto_route.dart'; import 'package:flutter/material.dart'; @@ -6,11 +5,9 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:mnemo_cards/features/packs/images_holder.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; -import 'package:collection/collection.dart'; import 'package:reorderables/reorderables.dart'; import 'package:rxdart/rxdart.dart'; -import '../../di/locator.dart'; import '../../utils/string_helper.dart'; import '../../domain/router/app_router.gr.dart'; import '../../main.dart'; diff --git a/lib/widgets/card_pack/cards_view_controller.dart b/lib/widgets/card_pack/cards_view_controller.dart index 42848cf..2f18f6a 100644 --- a/lib/widgets/card_pack/cards_view_controller.dart +++ b/lib/widgets/card_pack/cards_view_controller.dart @@ -2,9 +2,7 @@ import 'dart:async'; import 'dart:math'; import 'package:flutter/widgets.dart'; -import 'package:mnemo_cards/features/packs/images_holder.dart'; import 'package:mnemo_cards/main.dart'; -import 'package:mnemo_cards/utils/iterable_helper.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import 'package:rxdart/rxdart.dart'; diff --git a/lib/widgets/enter_promo_code_widget.dart b/lib/widgets/enter_promo_code_widget.dart index 4ea80eb..b74474a 100644 --- a/lib/widgets/enter_promo_code_widget.dart +++ b/lib/widgets/enter_promo_code_widget.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:mnemo_cards/di/locator.dart'; diff --git a/lib/widgets/game_card_widget.dart b/lib/widgets/game_card_widget.dart index 87346e0..8659793 100644 --- a/lib/widgets/game_card_widget.dart +++ b/lib/widgets/game_card_widget.dart @@ -1,16 +1,12 @@ import 'dart:math'; -import 'dart:ui'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:mnemo_cards/di/locator.dart'; import 'package:mnemo_cards/features/yandex_ads/yandex_ads.dart'; -import 'package:flutter/painting.dart'; import 'package:mnemo_cards/managers/audio_player.dart'; import 'package:mnemo_cards/utils/color_helper.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; -import 'package:shared_preferences/shared_preferences.dart'; import 'package:yandex_mobileads/mobile_ads.dart'; import '../features/card_flipper/flip_card.dart'; diff --git a/lib/widgets/header.dart b/lib/widgets/header.dart index f264a7a..5da05c0 100644 --- a/lib/widgets/header.dart +++ b/lib/widgets/header.dart @@ -1,9 +1,7 @@ import 'dart:math'; import 'package:auto_route/auto_route.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; class Header extends StatelessWidget { diff --git a/lib/widgets/mnemo_text.dart b/lib/widgets/mnemo_text.dart index 48d089f..ca6326e 100644 --- a/lib/widgets/mnemo_text.dart +++ b/lib/widgets/mnemo_text.dart @@ -1,5 +1,4 @@ import 'package:auto_size_text/auto_size_text.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:mnemo_cards/utils/string_helper.dart'; diff --git a/lib/widgets/packs_menu_widget.dart b/lib/widgets/packs_menu_widget.dart index 7882476..d2b155a 100644 --- a/lib/widgets/packs_menu_widget.dart +++ b/lib/widgets/packs_menu_widget.dart @@ -2,26 +2,18 @@ import 'dart:convert'; import 'dart:developer'; import 'package:auto_route/auto_route.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:mnemo_cards/features/packs/pack_manager.dart'; -import 'package:mnemo_cards/managers/user_state_holder.dart'; import 'package:mnemo_cards/utils/string_helper.dart'; import 'package:mnemo_cards/widgets/header.dart'; -import 'package:mnemo_cards/widgets/shared_pref_button.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; -import 'package:shimmer/shimmer.dart'; -import '../admin/add_package.dart'; import '../di/locator.dart'; import '../domain/router/app_router.dart'; import '../domain/router/app_router.gr.dart'; -import '../flags.dart'; import '../managers/repository/repository.dart'; -import '../theme/themes.dart'; import 'package:collection/collection.dart'; class PacksMenuWidget extends StatefulWidget { diff --git a/lib/widgets/simple_tile.dart b/lib/widgets/simple_tile.dart index 647ba89..db8d3ec 100644 --- a/lib/widgets/simple_tile.dart +++ b/lib/widgets/simple_tile.dart @@ -1,8 +1,6 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:mnemo_cards/theme/themes.dart'; -import 'package:mnemo_cards/widgets/switch_button.dart'; class SimpleTile extends StatelessWidget { final Widget? trail; diff --git a/lib/widgets/switch_button.dart b/lib/widgets/switch_button.dart index 764e413..1fd353c 100644 --- a/lib/widgets/switch_button.dart +++ b/lib/widgets/switch_button.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:mnemo_cards/theme/themes.dart'; diff --git a/lib/widgets/switch_tile.dart b/lib/widgets/switch_tile.dart index 5a43bce..5735ee8 100644 --- a/lib/widgets/switch_tile.dart +++ b/lib/widgets/switch_tile.dart @@ -1,6 +1,5 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:mnemo_cards/theme/themes.dart'; import 'package:mnemo_cards/widgets/switch_button.dart'; class SwitchTile extends StatelessWidget { diff --git a/pubspec.lock b/pubspec.lock index c3d0112..e9dc48e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -218,7 +218,7 @@ packages: source: hosted version: "4.10.0" collection: - dependency: transitive + dependency: "direct main" description: name: collection sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a @@ -234,7 +234,7 @@ packages: source: hosted version: "3.1.1" copy_with_extension: - dependency: transitive + dependency: "direct main" description: name: copy_with_extension sha256: fbcf890b0c34aedf0894f91a11a579994b61b4e04080204656b582708b5b1125 @@ -569,7 +569,7 @@ packages: source: hosted version: "2.5.2" freezed_annotation: - dependency: transitive + dependency: "direct main" description: name: freezed_annotation sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d diff --git a/pubspec.yaml b/pubspec.yaml index 4162895..ac5d75e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -62,6 +62,9 @@ dependencies: # requests_inspector: ^4.0.3 + collection: any + freezed_annotation: any + copy_with_extension: any dev_dependencies: flutter_test: sdk: flutter