cleanup
This commit is contained in:
parent
6e635400cd
commit
d3e9f49c09
61 changed files with 34 additions and 227 deletions
Binary file not shown.
|
|
@ -1,19 +1,13 @@
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:typed_data';
|
|
||||||
|
|
||||||
import 'package:dio/dio.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'package:file_picker/file_picker.dart';
|
import 'package:file_picker/file_picker.dart';
|
||||||
import 'package:mnemo_cards/admin/admin_api.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/widgets/header.dart';
|
||||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
|
|
||||||
import '../di/locator.dart';
|
|
||||||
import '../main.dart';
|
import '../main.dart';
|
||||||
import '../widgets/image_fade.dart';
|
import '../widgets/image_fade.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,14 @@
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:dio/dio.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_colorpicker/flutter_colorpicker.dart';
|
import 'package:flutter_colorpicker/flutter_colorpicker.dart';
|
||||||
import 'package:mnemo_cards/admin/admin_api.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/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/widgets/header.dart';
|
||||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
import 'package:file_picker/file_picker.dart';
|
import 'package:file_picker/file_picker.dart';
|
||||||
|
import '../utils/string_helper.dart';
|
||||||
|
|
||||||
import '../main.dart';
|
import '../main.dart';
|
||||||
import '../widgets/image_fade.dart';
|
import '../widgets/image_fade.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,13 @@
|
||||||
import 'dart:async';
|
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:flutter/material.dart';
|
||||||
|
|
||||||
import 'package:file_picker/file_picker.dart';
|
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:mnemo_cards/admin/admin_api.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/widgets/header.dart';
|
||||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
|
|
||||||
import '../di/locator.dart';
|
|
||||||
import '../main.dart';
|
import '../main.dart';
|
||||||
import '../widgets/image_fade.dart';
|
|
||||||
|
|
||||||
class EditUser {
|
class EditUser {
|
||||||
UserDto userDto;
|
UserDto userDto;
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,6 @@
|
||||||
import 'dart:convert';
|
|
||||||
import 'dart:math';
|
|
||||||
|
|
||||||
import 'package:dio/dio.dart';
|
import 'package:dio/dio.dart';
|
||||||
import 'package:flutter/material.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/add_user.dart';
|
||||||
import 'package:mnemo_cards/admin/admin_api.dart';
|
import 'package:mnemo_cards/admin/admin_api.dart';
|
||||||
import 'package:mnemo_cards/di/injector.dart';
|
import 'package:mnemo_cards/di/injector.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,12 @@
|
||||||
import 'dart:developer';
|
|
||||||
|
|
||||||
import 'package:get_it/get_it.dart';
|
import 'package:get_it/get_it.dart';
|
||||||
import 'package:mnemo_cards/admin/admin_api.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/pack_cache_manager.dart';
|
||||||
import 'package:mnemo_cards/features/packs/packs_api.dart';
|
import 'package:mnemo_cards/features/packs/packs_api.dart';
|
||||||
import 'package:mnemo_cards/flags.dart';
|
import 'package:mnemo_cards/flags.dart';
|
||||||
import 'package:mnemo_cards/managers/favorite_cards.dart';
|
import 'package:mnemo_cards/managers/favorite_cards.dart';
|
||||||
import 'package:mnemo_cards/managers/repository/dio_provider.dart';
|
import 'package:mnemo_cards/managers/repository/dio_provider.dart';
|
||||||
import 'package:mnemo_cards/managers/repository/http_repository.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/images_holder.dart';
|
||||||
import '../features/packs/pack_updater.dart';
|
import '../features/packs/pack_updater.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
import 'package:firebase_analytics/firebase_analytics.dart';
|
import 'package:firebase_analytics/firebase_analytics.dart';
|
||||||
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
|
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
|
||||||
import 'package:mnemo_cards/managers/user_manager.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';
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
|
|
||||||
class Analytics {
|
class Analytics {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ import 'dart:async';
|
||||||
|
|
||||||
import 'package:rxdart/rxdart.dart';
|
import 'package:rxdart/rxdart.dart';
|
||||||
|
|
||||||
import 'flip_card.dart';
|
|
||||||
|
|
||||||
///This controller used to call Fliping
|
///This controller used to call Fliping
|
||||||
class FlipCardController {
|
class FlipCardController {
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,7 @@ import 'dart:collection';
|
||||||
import 'dart:math' as math;
|
import 'dart:math' as math;
|
||||||
|
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:yandex_mobileads/mobile_ads.dart';
|
|
||||||
|
|
||||||
import '../../yandex_ads/yandex_ads.dart';
|
|
||||||
import 'allowed_swipe_direction.dart';
|
import 'allowed_swipe_direction.dart';
|
||||||
import 'card_animation.dart';
|
import 'card_animation.dart';
|
||||||
import 'card_swiper_controller.dart';
|
import 'card_swiper_controller.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
import 'dart:developer';
|
|
||||||
|
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:mnemo_cards/di/locator.dart';
|
import 'package:mnemo_cards/di/locator.dart';
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ import 'dart:async';
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:developer';
|
import 'dart:developer';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:typed_data';
|
|
||||||
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.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/pack_cache_manager.dart';
|
||||||
import 'package:mnemo_cards/features/packs/packs_api.dart';
|
import 'package:mnemo_cards/features/packs/packs_api.dart';
|
||||||
import 'package:mnemo_cards/features/packs/preview_pack_holder.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/managers/repository/repository.dart';
|
||||||
import 'package:mnemo_cards/utils/iterable_helper.dart';
|
|
||||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
import 'package:rxdart/rxdart.dart';
|
import 'package:rxdart/rxdart.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ import 'dart:developer';
|
||||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
|
|
||||||
import 'package:rxdart/rxdart.dart';
|
import 'package:rxdart/rxdart.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
|
||||||
|
|
||||||
import '../../main.dart';
|
import '../../main.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ import 'dart:io';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:in_app_purchase/in_app_purchase.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:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
import 'package:webview_flutter/webview_flutter.dart';
|
import 'package:webview_flutter/webview_flutter.dart';
|
||||||
import '../../di/injector.dart';
|
import '../../di/injector.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
import 'package:auto_route/auto_route.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:story/story.dart';
|
import 'package:story/story.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
import 'package:auto_route/auto_route.dart';
|
import 'package:auto_route/auto_route.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:mnemo_cards/features/stories/stories_page.dart';
|
import 'package:mnemo_cards/features/stories/stories_page.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,8 @@
|
||||||
import 'dart:math';
|
|
||||||
|
|
||||||
import 'package:auto_route/auto_route.dart';
|
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/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.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 {
|
class ProgressWidget extends StatefulWidget {
|
||||||
final Color color;
|
final Color color;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
import 'dart:math';
|
|
||||||
|
|
||||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
import 'package:copy_with_extension/copy_with_extension.dart';
|
import 'package:copy_with_extension/copy_with_extension.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
import 'dart:math';
|
|
||||||
|
|
||||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
import 'package:copy_with_extension/copy_with_extension.dart';
|
import 'package:copy_with_extension/copy_with_extension.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:developer';
|
import 'dart:developer';
|
||||||
import 'package:collection/collection.dart';
|
import 'package:collection/collection.dart' show ListEquality;
|
||||||
|
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:mnemo_cards/features/tests/test_state_holder.dart';
|
import 'package:mnemo_cards/features/tests/test_state_holder.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
import 'dart:developer';
|
|
||||||
import 'dart:math' as math;
|
|
||||||
|
|
||||||
import 'package:auto_route/auto_route.dart';
|
import 'package:auto_route/auto_route.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:mnemo_cards/main.dart';
|
import 'package:mnemo_cards/main.dart';
|
||||||
|
|
@ -64,7 +61,7 @@ class _TestPageState extends State<TestPage> {
|
||||||
false) {
|
false) {
|
||||||
AudioPlayer.playAudio((question as dynamic).audio);
|
AudioPlayer.playAudio((question as dynamic).audio);
|
||||||
}
|
}
|
||||||
} catch (e, s) {}
|
} catch (e) {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,11 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:math';
|
|
||||||
|
|
||||||
import 'package:auto_route/auto_route.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
||||||
import 'package:mnemo_cards/features/tests/progress_widget.dart';
|
import 'package:mnemo_cards/features/tests/progress_widget.dart';
|
||||||
import 'package:rxdart/rxdart.dart';
|
|
||||||
|
|
||||||
import '../../di/locator.dart';
|
import '../../di/locator.dart';
|
||||||
import '../../theme/themes.dart';
|
|
||||||
|
|
||||||
class TestProgressWidget extends StatefulWidget {
|
class TestProgressWidget extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:flutter_tts/flutter_tts.dart';
|
|
||||||
import 'package:mnemo_cards/managers/audio_player.dart';
|
import 'package:mnemo_cards/managers/audio_player.dart';
|
||||||
|
|
||||||
import '../../../main.dart';
|
|
||||||
import '../../../widgets/game_card_widget.dart';
|
import '../../../widgets/game_card_widget.dart';
|
||||||
import 'test_image.dart';
|
import 'test_image.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -193,7 +193,8 @@ class InputButtonsTestWidget extends StatelessWidget {
|
||||||
? isCorrect
|
? isCorrect
|
||||||
? Colors.green.withOpacity(0.5)
|
? Colors.green.withOpacity(0.5)
|
||||||
: Colors.red.withOpacity(0.5)
|
: Colors.red.withOpacity(0.5)
|
||||||
: Theme.of(context).scaffoldBackgroundColor,
|
: Theme.of(context)
|
||||||
|
.scaffoldBackgroundColor,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -2,15 +2,12 @@ import 'dart:math';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.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_manager.dart';
|
||||||
import 'package:mnemo_cards/features/tests/test_widgets/common_test_question_widget.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/features/tests/test_widgets/test_image.dart';
|
||||||
import 'package:mnemo_cards/main.dart';
|
|
||||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
|
|
||||||
import '../../../di/locator.dart';
|
import '../../../di/locator.dart';
|
||||||
import '../../../widgets/game_card_widget.dart';
|
|
||||||
import '../question_states/simple_test_state.dart';
|
import '../question_states/simple_test_state.dart';
|
||||||
import 'test_button.dart';
|
import 'test_button.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:mnemo_cards/theme/themes.dart';
|
|
||||||
|
|
||||||
import 'test_image.dart';
|
import 'test_image.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,10 @@
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:developer';
|
import 'dart:developer';
|
||||||
import 'dart:math' as m;
|
import 'dart:math' as m;
|
||||||
import 'dart:typed_data';
|
|
||||||
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:mnemo_cards/features/packs/images_holder.dart';
|
import 'package:mnemo_cards/features/packs/images_holder.dart';
|
||||||
import 'package:mnemo_cards/theme/themes.dart';
|
|
||||||
|
|
||||||
import '../../../di/locator.dart';
|
import '../../../di/locator.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import 'package:mnemo_cards/main.dart';
|
import 'package:mnemo_cards/main.dart';
|
||||||
|
|
||||||
const ADMIN_BUILD = true;
|
const ADMIN_BUILD = false;
|
||||||
|
|
||||||
bool get SHOW_ADMIN =>
|
bool get SHOW_ADMIN =>
|
||||||
ADMIN_BUILD && (globalSharedPreferences.getBool('show_admin') ?? false);
|
ADMIN_BUILD && (globalSharedPreferences.getBool('show_admin') ?? false);
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ import 'dart:async';
|
||||||
import 'dart:developer';
|
import 'dart:developer';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:auto_route/annotations.dart';
|
|
||||||
import 'package:auto_route/auto_route.dart';
|
import 'package:auto_route/auto_route.dart';
|
||||||
import 'package:device_info_plus/device_info_plus.dart';
|
import 'package:device_info_plus/device_info_plus.dart';
|
||||||
import 'package:firebase_core/firebase_core.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:jailbreak_root_detection/jailbreak_root_detection.dart';
|
||||||
import 'package:mnemo_cards/di/locator.dart';
|
import 'package:mnemo_cards/di/locator.dart';
|
||||||
import 'package:mnemo_cards/domain/router/app_router.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/managers/repository/firebase_config_repository.dart';
|
||||||
import 'package:mnemo_cards/features/packs/pack_manager.dart';
|
import 'package:mnemo_cards/features/packs/pack_manager.dart';
|
||||||
import 'package:mnemo_cards/theme/themes.dart';
|
import 'package:mnemo_cards/theme/themes.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
import 'package:dio/dio.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
|
||||||
import 'package:mnemo_cards/flags.dart';
|
import 'package:mnemo_cards/flags.dart';
|
||||||
|
|
||||||
import '../../main.dart';
|
import '../../main.dart';
|
||||||
import 'firebase_config_repository.dart';
|
|
||||||
|
|
||||||
mixin Api {
|
mixin Api {
|
||||||
String get path =>
|
String get path =>
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,12 @@
|
||||||
import 'dart:convert';
|
|
||||||
import 'dart:developer';
|
import 'dart:developer';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:auto_route/auto_route.dart';
|
|
||||||
import 'package:dio/dio.dart';
|
import 'package:dio/dio.dart';
|
||||||
import 'package:dio/io.dart';
|
import 'package:dio/io.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.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:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
import 'package:package_info_plus/package_info_plus.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 'package:collection/collection.dart';
|
||||||
|
|
||||||
import '../../di/locator.dart';
|
import '../../di/locator.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
import 'dart:convert';
|
|
||||||
|
|
||||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,7 @@ class HttpRepository extends Repository with Api {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
void setAuthToken(String? authToken) {
|
void setAuthToken(String? authToken) {
|
||||||
_dio.interceptors.add(
|
_dio.interceptors.add(
|
||||||
InterceptorsWrapper(onRequest: (options, handler) {
|
InterceptorsWrapper(onRequest: (options, handler) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
import 'package:mnemo_cards/managers/user_manager.dart';
|
import 'package:mnemo_cards/managers/user_manager.dart';
|
||||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
|
|
||||||
import '../../features/purchase/in_app_purchase.dart';
|
|
||||||
|
|
||||||
abstract class Repository {
|
abstract class Repository {
|
||||||
Future<UserDto> get user;
|
Future<UserDto> get user;
|
||||||
|
|
@ -15,11 +14,14 @@ abstract class Repository {
|
||||||
Future<(UserDto, String)> createOrGetUser(
|
Future<(UserDto, String)> createOrGetUser(
|
||||||
String externalId,
|
String externalId,
|
||||||
ExternalIdType idType,
|
ExternalIdType idType,
|
||||||
String name,
|
String? name,
|
||||||
);
|
);
|
||||||
|
|
||||||
Future<UserDto?> getUser();
|
Future<UserDto?> getUser();
|
||||||
|
|
||||||
|
|
||||||
|
void setAuthToken(String? authToken);
|
||||||
|
|
||||||
Future<void> updateUserData(UserDataDto data);
|
Future<void> updateUserData(UserDataDto data);
|
||||||
|
|
||||||
Future<void> updateUserSettings(UserSettingsDto settings);
|
Future<void> updateUserSettings(UserSettingsDto settings);
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,8 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:convert';
|
|
||||||
import 'dart:developer';
|
import 'dart:developer';
|
||||||
import 'dart:io';
|
|
||||||
|
|
||||||
import 'package:auto_route/auto_route.dart';
|
|
||||||
import 'package:dio/dio.dart';
|
import 'package:dio/dio.dart';
|
||||||
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:google_sign_in/google_sign_in.dart';
|
import 'package:google_sign_in/google_sign_in.dart';
|
||||||
import 'package:mnemo_cards/di/locator.dart';
|
import 'package:mnemo_cards/di/locator.dart';
|
||||||
import 'package:mnemo_cards/main.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:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
import 'package:rxdart/rxdart.dart';
|
import 'package:rxdart/rxdart.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.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.dart';
|
||||||
import '../domain/router/app_router.gr.dart';
|
|
||||||
import '../features/analytics/analytics.dart';
|
import '../features/analytics/analytics.dart';
|
||||||
import 'user_state_holder.dart';
|
import 'user_state_holder.dart';
|
||||||
|
|
||||||
|
|
@ -27,7 +23,9 @@ class UserManager {
|
||||||
'email',
|
'email',
|
||||||
// 'https://www.googleapis.com/auth/contacts.readonly',
|
// '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",
|
// "701767851968-bud97rud1d9qtqju96addn31nhm0oofu.apps.googleusercontent.com",
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -41,11 +39,15 @@ class UserManager {
|
||||||
int? get userId => userStateHolder.user?.id;
|
int? get userId => userStateHolder.user?.id;
|
||||||
|
|
||||||
Future<void> login() async {
|
Future<void> login() async {
|
||||||
|
try {
|
||||||
if (await _googleSignIn.isSignedIn()) {
|
if (await _googleSignIn.isSignedIn()) {
|
||||||
await _googleSignIn.signOut();
|
await _googleSignIn.signOut();
|
||||||
}
|
}
|
||||||
final account = await _googleSignIn.signIn();
|
final account = await _googleSignIn.signIn();
|
||||||
await Future.delayed(Duration(milliseconds: 300));
|
await Future.delayed(Duration(milliseconds: 300));
|
||||||
|
} catch (e, s) {
|
||||||
|
log('Error in login', error: e, stackTrace: s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> logout() async {
|
Future<void> logout() async {
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,11 @@
|
||||||
import 'package:auto_route/annotations.dart';
|
import 'package:auto_route/annotations.dart';
|
||||||
import 'package:flutter/gestures.dart';
|
import 'package:flutter/gestures.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:mnemo_cards/di/locator.dart';
|
import 'package:mnemo_cards/di/locator.dart';
|
||||||
import 'package:mnemo_cards/flags.dart';
|
import 'package:mnemo_cards/flags.dart';
|
||||||
import 'package:mnemo_cards/widgets/header.dart';
|
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
import '../main.dart';
|
|
||||||
import '../theme/themes.dart';
|
import '../theme/themes.dart';
|
||||||
import '../widgets/shared_pref_button.dart';
|
import '../widgets/shared_pref_button.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
import 'package:auto_route/auto_route.dart';
|
import 'package:auto_route/auto_route.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
|
||||||
import 'package:mnemo_cards/di/locator.dart';
|
import 'package:mnemo_cards/di/locator.dart';
|
||||||
|
|
||||||
import '../widgets/packs_menu_widget.dart';
|
import '../widgets/packs_menu_widget.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:auto_route/auto_route.dart';
|
import 'package:auto_route/auto_route.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:mnemo_cards/domain/router/app_router.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/flags.dart';
|
||||||
import 'package:mnemo_cards/main.dart';
|
import 'package:mnemo_cards/main.dart';
|
||||||
import 'package:mnemo_cards/widgets/header.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:shared_preferences/shared_preferences.dart';
|
||||||
import 'package:url_launcher/url_launcher.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/enter_promo_code_widget.dart';
|
||||||
import '../widgets/shared_pref_button.dart';
|
import '../widgets/shared_pref_button.dart';
|
||||||
import '../widgets/simple_tile.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';
|
import '../widgets/user_statistics.dart';
|
||||||
|
|
||||||
@RoutePage()
|
@RoutePage()
|
||||||
|
|
|
||||||
|
|
@ -1,30 +1,22 @@
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:auto_route/auto_route.dart';
|
import 'package:auto_route/auto_route.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.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/flags.dart';
|
||||||
import 'package:mnemo_cards/widgets/header.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:shared_preferences/shared_preferences.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
import '../admin/all_cards.dart';
|
|
||||||
import '../admin/all_users.dart';
|
|
||||||
import '../di/locator.dart';
|
import '../di/locator.dart';
|
||||||
import '../features/analytics/analytics.dart';
|
import '../features/analytics/analytics.dart';
|
||||||
import '../theme/themes.dart';
|
import '../theme/themes.dart';
|
||||||
import '../widgets/big_back_button.dart';
|
import '../widgets/big_back_button.dart';
|
||||||
import '../widgets/enter_promo_code_widget.dart';
|
|
||||||
import '../widgets/shared_pref_button.dart';
|
import '../widgets/shared_pref_button.dart';
|
||||||
import '../widgets/simple_tile.dart';
|
import '../widgets/simple_tile.dart';
|
||||||
import '../widgets/slider.dart';
|
import '../widgets/slider.dart';
|
||||||
import '../widgets/switch_button.dart';
|
|
||||||
import '../widgets/switch_tile.dart';
|
import '../widgets/switch_tile.dart';
|
||||||
import '../widgets/text_button.dart';
|
import '../widgets/text_button.dart';
|
||||||
import '../widgets/user_statistics.dart';
|
|
||||||
|
|
||||||
@RoutePage()
|
@RoutePage()
|
||||||
class SettingsPage extends StatelessWidget {
|
class SettingsPage extends StatelessWidget {
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ final theme2 = ThemeData(
|
||||||
secondaryContainer: Colors.grey,
|
secondaryContainer: Colors.grey,
|
||||||
primary: MaterialColor(0xFF000000, color),
|
primary: MaterialColor(0xFF000000, color),
|
||||||
surface: MaterialColor(0xFFFFFFFF, colorWhite),
|
surface: MaterialColor(0xFFFFFFFF, colorWhite),
|
||||||
surfaceVariant: MaterialColor(0xFFFFFFFF, colorWhite),
|
surfaceContainerHighest: MaterialColor(0xFFFFFFFF, colorWhite),
|
||||||
onSurface: Colors.black,
|
onSurface: Colors.black,
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
import 'dart:math';
|
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
extension IterableHelper<T> on Iterable<T> {
|
|
||||||
T? firstWhereOrNull(bool Function(T) test) => where(test).firstOrNull;
|
|
||||||
}
|
|
||||||
|
|
||||||
extension NullableIterableHelper<T> on Iterable<T?> {
|
|
||||||
Iterable<T> whereNotNull() => where((element) => element != null).cast();
|
|
||||||
}
|
|
||||||
|
|
||||||
extension ListHelper<T> on List<T> {
|
|
||||||
// List<T> 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<P>(List<P> 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);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
|
import 'dart:ui';
|
||||||
|
|
||||||
extension StringHelper on String {
|
extension StringHelper on String {
|
||||||
String get capitalize =>
|
String get capitalize =>
|
||||||
|
|
@ -19,6 +20,6 @@ extension StringHelper on String {
|
||||||
return '0x$this'.asColor;
|
return '0x$this'.asColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Colors.white;
|
return Color(0xffffffff);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:mnemo_cards/main.dart';
|
import 'package:mnemo_cards/main.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:mnemo_cards/utils/string_helper.dart';
|
|
||||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
|
|
||||||
import '../../features/card_swiper/src/card_swiper_controller.dart';
|
import '../../features/card_swiper/src/card_swiper_controller.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:auto_route/auto_route.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:mnemo_cards/features/packs/images_holder.dart';
|
import 'package:mnemo_cards/features/packs/images_holder.dart';
|
||||||
import 'package:mnemo_cards/utils/color_helper.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/allowed_swipe_direction.dart';
|
||||||
import '../../features/card_swiper/src/card_swiper.dart';
|
import '../../features/card_swiper/src/card_swiper.dart';
|
||||||
import '../../features/card_swiper/src/card_swiper_controller.dart';
|
import '../../features/card_swiper/src/card_swiper_controller.dart';
|
||||||
import '../../features/card_swiper/src/enums.dart';
|
|
||||||
import '../../main.dart';
|
import '../../main.dart';
|
||||||
import '../game_card_widget.dart';
|
import '../game_card_widget.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ import 'package:mnemo_cards/managers/audio_player.dart';
|
||||||
import 'package:mnemo_cards/theme/themes.dart';
|
import 'package:mnemo_cards/theme/themes.dart';
|
||||||
import 'package:mnemo_cards/utils/color_helper.dart';
|
import 'package:mnemo_cards/utils/color_helper.dart';
|
||||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
import 'package:rxdart/rxdart.dart';
|
|
||||||
import '../../di/locator.dart';
|
import '../../di/locator.dart';
|
||||||
import '../../features/card_flipper/flip_card_controllers.dart';
|
import '../../features/card_flipper/flip_card_controllers.dart';
|
||||||
import '../../features/card_swiper/flutter_card_swiper.dart';
|
import '../../features/card_swiper/flutter_card_swiper.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,12 @@
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:collection/collection.dart';
|
|
||||||
import 'package:auto_route/auto_route.dart';
|
import 'package:auto_route/auto_route.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:mnemo_cards/main.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/fade_in_widget.dart';
|
||||||
import 'package:mnemo_cards/widgets/feedback_builder.dart';
|
|
||||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
import 'package:reorderables/reorderables.dart';
|
|
||||||
import 'package:yandex_mobileads/mobile_ads.dart';
|
import 'package:yandex_mobileads/mobile_ads.dart';
|
||||||
import '../../domain/router/app_router.gr.dart';
|
import '../../domain/router/app_router.gr.dart';
|
||||||
import '../../features/analytics/analytics.dart';
|
import '../../features/analytics/analytics.dart';
|
||||||
|
|
@ -289,7 +285,7 @@ class _Button extends StatelessWidget {
|
||||||
final String asset;
|
final String asset;
|
||||||
final VoidCallback onTap;
|
final VoidCallback onTap;
|
||||||
|
|
||||||
_Button(this.asset, this.onTap, {super.key});
|
_Button(this.asset, this.onTap);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
@ -368,7 +364,6 @@ class _TestButton extends StatelessWidget {
|
||||||
this.time,
|
this.time,
|
||||||
this.timeSubtitle,
|
this.timeSubtitle,
|
||||||
this.stats,
|
this.stats,
|
||||||
super.key,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,10 @@
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:developer';
|
import 'dart:developer';
|
||||||
import 'package:auto_route/auto_route.dart';
|
|
||||||
import 'package:mnemo_cards/utils/string_helper.dart';
|
import 'package:mnemo_cards/utils/string_helper.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
import '../../di/injector.dart';
|
|
||||||
import '../../features/analytics/analytics.dart';
|
import '../../features/analytics/analytics.dart';
|
||||||
import '../../features/packs/pack_holder.dart';
|
|
||||||
import '../../main.dart';
|
import '../../main.dart';
|
||||||
import '../items/builder.dart';
|
import '../items/builder.dart';
|
||||||
|
|
||||||
|
|
@ -16,7 +12,6 @@ import '../../di/locator.dart';
|
||||||
import '../../domain/router/app_router.dart';
|
import '../../domain/router/app_router.dart';
|
||||||
import '../../theme/themes.dart';
|
import '../../theme/themes.dart';
|
||||||
import 'card_pack_header.dart';
|
import 'card_pack_header.dart';
|
||||||
import 'loading_pack.dart';
|
|
||||||
|
|
||||||
class BuyPack extends StatelessWidget {
|
class BuyPack extends StatelessWidget {
|
||||||
final CardPackBuyDto dto;
|
final CardPackBuyDto dto;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.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_common/mnemo_cards_common.dart';
|
||||||
import 'package:mnemo_cards/utils/string_helper.dart';
|
import 'package:mnemo_cards/utils/string_helper.dart';
|
||||||
import '../header.dart';
|
import '../header.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
import 'dart:async';
|
|
||||||
|
|
||||||
import 'package:auto_route/auto_route.dart';
|
import 'package:auto_route/auto_route.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
@ -6,11 +5,9 @@ import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:mnemo_cards/features/packs/images_holder.dart';
|
import 'package:mnemo_cards/features/packs/images_holder.dart';
|
||||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
import 'package:collection/collection.dart';
|
|
||||||
import 'package:reorderables/reorderables.dart';
|
import 'package:reorderables/reorderables.dart';
|
||||||
import 'package:rxdart/rxdart.dart';
|
import 'package:rxdart/rxdart.dart';
|
||||||
|
|
||||||
import '../../di/locator.dart';
|
|
||||||
import '../../utils/string_helper.dart';
|
import '../../utils/string_helper.dart';
|
||||||
import '../../domain/router/app_router.gr.dart';
|
import '../../domain/router/app_router.gr.dart';
|
||||||
import '../../main.dart';
|
import '../../main.dart';
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,7 @@ import 'dart:async';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:mnemo_cards/features/packs/images_holder.dart';
|
|
||||||
import 'package:mnemo_cards/main.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:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
import 'package:rxdart/rxdart.dart';
|
import 'package:rxdart/rxdart.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:mnemo_cards/di/locator.dart';
|
import 'package:mnemo_cards/di/locator.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,12 @@
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
import 'dart:ui';
|
|
||||||
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:mnemo_cards/di/locator.dart';
|
import 'package:mnemo_cards/di/locator.dart';
|
||||||
import 'package:mnemo_cards/features/yandex_ads/yandex_ads.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/managers/audio_player.dart';
|
||||||
import 'package:mnemo_cards/utils/color_helper.dart';
|
import 'package:mnemo_cards/utils/color_helper.dart';
|
||||||
import 'package:mnemo_cards_common/mnemo_cards_common.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 'package:yandex_mobileads/mobile_ads.dart';
|
||||||
|
|
||||||
import '../features/card_flipper/flip_card.dart';
|
import '../features/card_flipper/flip_card.dart';
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:auto_route/auto_route.dart';
|
import 'package:auto_route/auto_route.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
|
||||||
class Header extends StatelessWidget {
|
class Header extends StatelessWidget {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
import 'package:auto_size_text/auto_size_text.dart';
|
import 'package:auto_size_text/auto_size_text.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:mnemo_cards/utils/string_helper.dart';
|
import 'package:mnemo_cards/utils/string_helper.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,26 +2,18 @@ import 'dart:convert';
|
||||||
import 'dart:developer';
|
import 'dart:developer';
|
||||||
|
|
||||||
import 'package:auto_route/auto_route.dart';
|
import 'package:auto_route/auto_route.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:mnemo_cards/features/packs/pack_manager.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/utils/string_helper.dart';
|
||||||
import 'package:mnemo_cards/widgets/header.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:mnemo_cards_common/mnemo_cards_common.dart';
|
||||||
import 'package:shimmer/shimmer.dart';
|
|
||||||
|
|
||||||
import '../admin/add_package.dart';
|
|
||||||
import '../di/locator.dart';
|
import '../di/locator.dart';
|
||||||
import '../domain/router/app_router.dart';
|
import '../domain/router/app_router.dart';
|
||||||
import '../domain/router/app_router.gr.dart';
|
import '../domain/router/app_router.gr.dart';
|
||||||
import '../flags.dart';
|
|
||||||
import '../managers/repository/repository.dart';
|
import '../managers/repository/repository.dart';
|
||||||
import '../theme/themes.dart';
|
|
||||||
import 'package:collection/collection.dart';
|
import 'package:collection/collection.dart';
|
||||||
|
|
||||||
class PacksMenuWidget extends StatefulWidget {
|
class PacksMenuWidget extends StatefulWidget {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.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 {
|
class SimpleTile extends StatelessWidget {
|
||||||
final Widget? trail;
|
final Widget? trail;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:mnemo_cards/theme/themes.dart';
|
import 'package:mnemo_cards/theme/themes.dart';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:mnemo_cards/theme/themes.dart';
|
|
||||||
import 'package:mnemo_cards/widgets/switch_button.dart';
|
import 'package:mnemo_cards/widgets/switch_button.dart';
|
||||||
|
|
||||||
class SwitchTile extends StatelessWidget {
|
class SwitchTile extends StatelessWidget {
|
||||||
|
|
|
||||||
|
|
@ -218,7 +218,7 @@ packages:
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.10.0"
|
version: "4.10.0"
|
||||||
collection:
|
collection:
|
||||||
dependency: transitive
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: collection
|
name: collection
|
||||||
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
|
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
|
||||||
|
|
@ -234,7 +234,7 @@ packages:
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.1"
|
version: "3.1.1"
|
||||||
copy_with_extension:
|
copy_with_extension:
|
||||||
dependency: transitive
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: copy_with_extension
|
name: copy_with_extension
|
||||||
sha256: fbcf890b0c34aedf0894f91a11a579994b61b4e04080204656b582708b5b1125
|
sha256: fbcf890b0c34aedf0894f91a11a579994b61b4e04080204656b582708b5b1125
|
||||||
|
|
@ -569,7 +569,7 @@ packages:
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.5.2"
|
version: "2.5.2"
|
||||||
freezed_annotation:
|
freezed_annotation:
|
||||||
dependency: transitive
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: freezed_annotation
|
name: freezed_annotation
|
||||||
sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d
|
sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,9 @@ dependencies:
|
||||||
# requests_inspector: ^4.0.3
|
# requests_inspector: ^4.0.3
|
||||||
|
|
||||||
|
|
||||||
|
collection: any
|
||||||
|
freezed_annotation: any
|
||||||
|
copy_with_extension: any
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue