mirror of
https://github.com/smmarty/friflex_flutter_starter.git
synced 2026-02-05 03:32:18 +00:00
chore(app): обновление flutter и пакетов (#38)
* chore(pubspec,di): Обновить версии SDK и исправить использование AppEnv * chore(readme): Обновить версии Flutter и Dart, добавить новые библиотеки --------- Co-authored-by: petrovyuri <petrovyuri@example.com>
This commit is contained in:
@@ -10,7 +10,6 @@ import 'package:friflex_starter/features/error/error_screen.dart';
|
||||
import 'package:friflex_starter/features/splash/splash_screen.dart';
|
||||
import 'package:friflex_starter/features/update/domain/state/cubit/update_cubit.dart';
|
||||
import 'package:friflex_starter/features/update/update_routes.dart';
|
||||
import 'package:friflex_starter/features/update/update_type.dart';
|
||||
import 'package:friflex_starter/l10n/gen/app_localizations.dart';
|
||||
import 'package:friflex_starter/l10n/localization_notifier.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
@@ -124,7 +123,7 @@ class _App extends StatelessWidget {
|
||||
child: BlocConsumer<UpdateCubit, UpdateState>(
|
||||
listener: (context, state) {
|
||||
if (state is UpdateSuccessState &&
|
||||
state.updateInfo.updateType == UpdateType.hard &&
|
||||
state.updateInfo.updateType == .hard &&
|
||||
context.mounted) {
|
||||
router.goNamed(UpdateRoutes.hardUpdateScreenName);
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ class AppConfigDev implements IAppConfig {
|
||||
AppConfigDev();
|
||||
|
||||
@override
|
||||
AppEnv get env => AppEnv.dev;
|
||||
AppEnv get env => .dev;
|
||||
|
||||
@override
|
||||
String get name => 'AppConfigDev';
|
||||
@@ -67,7 +67,7 @@ class AppConfigProd implements IAppConfig {
|
||||
AppConfigProd();
|
||||
|
||||
@override
|
||||
AppEnv get env => AppEnv.prod;
|
||||
AppEnv get env => .prod;
|
||||
|
||||
@override
|
||||
String get name => 'AppConfigProd';
|
||||
@@ -93,7 +93,7 @@ class AppConfigStage implements IAppConfig {
|
||||
AppConfigStage();
|
||||
|
||||
@override
|
||||
AppEnv get env => AppEnv.stage;
|
||||
AppEnv get env => .stage;
|
||||
|
||||
@override
|
||||
String get name => 'AppConfigStage';
|
||||
|
||||
@@ -50,7 +50,7 @@ class AppColors extends ThemeExtension<AppColors> with _$AppColorsTailorMixin {
|
||||
testColor: Colors.red,
|
||||
errorSnackbarBackground: Color(0xFFD24720),
|
||||
successSnackbarBackground: Color(0xFF6FB62C),
|
||||
infoSnackbarBackground: Color.fromARGB(255, 220, 108, 77),
|
||||
infoSnackbarBackground: .fromARGB(255, 220, 108, 77),
|
||||
itemTextColor: Color(0xFFFAF3EB),
|
||||
);
|
||||
|
||||
@@ -59,7 +59,7 @@ class AppColors extends ThemeExtension<AppColors> with _$AppColorsTailorMixin {
|
||||
testColor: Colors.green,
|
||||
errorSnackbarBackground: Color(0xFF638B8B),
|
||||
successSnackbarBackground: Color(0xFF93C499),
|
||||
infoSnackbarBackground: Color.fromARGB(255, 35, 147, 178),
|
||||
infoSnackbarBackground: .fromARGB(255, 35, 147, 178),
|
||||
itemTextColor: Colors.white,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ class AppSnackBar extends StatefulWidget {
|
||||
_show(
|
||||
context: context,
|
||||
message: message,
|
||||
type: TypeSnackBar.error,
|
||||
type: .error,
|
||||
displayDuration: displayDuration,
|
||||
);
|
||||
}
|
||||
@@ -81,7 +81,7 @@ class AppSnackBar extends StatefulWidget {
|
||||
_show(
|
||||
context: context,
|
||||
message: message,
|
||||
type: TypeSnackBar.info,
|
||||
type: .info,
|
||||
displayDuration: displayDuration,
|
||||
);
|
||||
}
|
||||
@@ -99,7 +99,7 @@ class AppSnackBar extends StatefulWidget {
|
||||
_show(
|
||||
context: context,
|
||||
message: message,
|
||||
type: TypeSnackBar.success,
|
||||
type: .success,
|
||||
displayDuration: displayDuration,
|
||||
);
|
||||
}
|
||||
@@ -266,9 +266,9 @@ class _AppSnackBarState extends State<AppSnackBar>
|
||||
/// [TypeSnackBar.error] - цвет ошибки
|
||||
Color _getBackgroundColor(TypeSnackBar type) {
|
||||
return switch (type) {
|
||||
TypeSnackBar.success => context.appColors.successSnackbarBackground,
|
||||
TypeSnackBar.error => context.appColors.errorSnackbarBackground,
|
||||
TypeSnackBar.info => context.appColors.infoSnackbarBackground,
|
||||
.success => context.appColors.successSnackbarBackground,
|
||||
.error => context.appColors.errorSnackbarBackground,
|
||||
.info => context.appColors.infoSnackbarBackground,
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -290,17 +290,17 @@ class _Icon extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return switch (type) {
|
||||
TypeSnackBar.success => const Icon(
|
||||
.success => const Icon(
|
||||
Icons.check_circle,
|
||||
color: Colors.white,
|
||||
size: 32,
|
||||
),
|
||||
TypeSnackBar.error => const Icon(
|
||||
.error => const Icon(
|
||||
Icons.error,
|
||||
color: Colors.white,
|
||||
size: 32,
|
||||
),
|
||||
TypeSnackBar.info => const Icon(
|
||||
.info => const Icon(
|
||||
Icons.info,
|
||||
color: Colors.white,
|
||||
size: 32,
|
||||
|
||||
@@ -41,9 +41,9 @@ final class DiContainer {
|
||||
}) async {
|
||||
// Инициализация конфигурации приложения
|
||||
appConfig = switch (env) {
|
||||
AppEnv.dev => AppConfigDev(),
|
||||
AppEnv.prod => AppConfigProd(),
|
||||
AppEnv.stage => AppConfigStage(),
|
||||
.dev => AppConfigDev(),
|
||||
.prod => AppConfigProd(),
|
||||
.stage => AppConfigStage(),
|
||||
};
|
||||
|
||||
// Инициализация HTTP клиента
|
||||
|
||||
@@ -155,9 +155,9 @@ final class DiRepositories {
|
||||
}) {
|
||||
try {
|
||||
final repo = switch (environment) {
|
||||
AppEnv.dev => mockFactory(),
|
||||
AppEnv.prod => mainFactory(),
|
||||
AppEnv.stage =>
|
||||
.dev => mockFactory(),
|
||||
.prod => mainFactory(),
|
||||
.stage =>
|
||||
_mockReposToSwitch.contains(T) ? mockFactory() : mainFactory(),
|
||||
};
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ import 'package:friflex_starter/app/ui_kit/app_snackbar.dart';
|
||||
import 'package:friflex_starter/features/update/domain/state/cubit/update_cubit.dart';
|
||||
import 'package:friflex_starter/features/update/presentation/components/soft_modal_sheet.dart';
|
||||
import 'package:friflex_starter/features/update/update_routes.dart';
|
||||
import 'package:friflex_starter/features/update/update_type.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
@@ -79,7 +78,7 @@ class _ComponentsScreenState extends State<ComponentsScreen> {
|
||||
onPressed: () {
|
||||
final updateCubitState = context.read<UpdateCubit>().state;
|
||||
if (updateCubitState is UpdateSuccessState &&
|
||||
updateCubitState.updateInfo.updateType == UpdateType.soft) {
|
||||
updateCubitState.updateInfo.updateType == .soft) {
|
||||
unawaited(
|
||||
SoftUpdateModal.show(
|
||||
context,
|
||||
|
||||
@@ -3,11 +3,9 @@ import 'dart:async';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:friflex_starter/app/app_context_ext.dart';
|
||||
import 'package:friflex_starter/app/app_env.dart';
|
||||
import 'package:friflex_starter/features/debug/debug_routes.dart';
|
||||
import 'package:friflex_starter/features/update/domain/state/cubit/update_cubit.dart';
|
||||
import 'package:friflex_starter/features/update/presentation/components/soft_modal_sheet.dart';
|
||||
import 'package:friflex_starter/features/update/update_type.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
||||
/// {@template root_screen}
|
||||
@@ -47,7 +45,7 @@ class _RootScreenState extends State<RootScreen> {
|
||||
|
||||
// Проверяем только состояние успеха с доступной информацией об обновлении
|
||||
if (updateState is UpdateSuccessState &&
|
||||
updateState.updateInfo.updateType == UpdateType.soft) {
|
||||
updateState.updateInfo.updateType == .soft) {
|
||||
unawaited(
|
||||
SoftUpdateModal.show(
|
||||
context,
|
||||
@@ -64,7 +62,7 @@ class _RootScreenState extends State<RootScreen> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
floatingActionButton: context.di.env != AppEnv.prod
|
||||
floatingActionButton: context.di.env != .prod
|
||||
? FloatingActionButton(
|
||||
child: const Icon(Icons.bug_report),
|
||||
onPressed: () {
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import 'package:friflex_starter/features/update/domain/entity/update_entity.dart';
|
||||
import 'package:friflex_starter/features/update/domain/repository/i_update_repository.dart';
|
||||
import 'package:friflex_starter/features/update/update_type.dart';
|
||||
|
||||
/// Мок обновления обязательное, можно использовать для тестирования
|
||||
const mockHardUpdateEntity = UpdateEntity(
|
||||
availableVersion: '2.0.0',
|
||||
updateUrl: 'https://example.com/update',
|
||||
updateType: UpdateType.hard,
|
||||
updateType: .hard,
|
||||
whatIsNew: 'Добавлены новые функции и исправлены ошибки.',
|
||||
);
|
||||
|
||||
@@ -14,7 +13,7 @@ const mockHardUpdateEntity = UpdateEntity(
|
||||
const mockSoftUpdateEntity = UpdateEntity(
|
||||
availableVersion: '2.0.0',
|
||||
updateUrl: 'https://example.com/update',
|
||||
updateType: UpdateType.soft,
|
||||
updateType: .soft,
|
||||
whatIsNew: 'Добавлены новые функции и исправлены ошибки.',
|
||||
);
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import 'package:friflex_starter/app/app_env.dart';
|
||||
import 'package:friflex_starter/runner/app_runner.dart';
|
||||
|
||||
void main() => AppRunner(AppEnv.prod).run();
|
||||
void main() => AppRunner(.prod).run();
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import 'package:friflex_starter/app/app_env.dart';
|
||||
import 'package:friflex_starter/runner/app_runner.dart';
|
||||
|
||||
void main() => AppRunner(AppEnv.dev).run();
|
||||
void main() => AppRunner(.dev).run();
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import 'package:friflex_starter/app/app_env.dart';
|
||||
import 'package:friflex_starter/runner/app_runner.dart';
|
||||
|
||||
void main() => AppRunner(AppEnv.prod).run();
|
||||
void main() => AppRunner(.prod).run();
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import 'package:friflex_starter/app/app_env.dart';
|
||||
import 'package:friflex_starter/runner/app_runner.dart';
|
||||
|
||||
void main() => AppRunner(AppEnv.stage).run();
|
||||
void main() => AppRunner(.stage).run();
|
||||
|
||||
Reference in New Issue
Block a user