fix(linter): улучшение правил анализа и линтинга (#37)

* fix(linter): улучшение правил анализа и линтинга, добавление исключений и ошибок

* fix(tasks): исправления по ревью

---------

Co-authored-by: petrovyuri <petrovyuri@example.com>
This commit is contained in:
Yuri Petrov
2025-11-17 11:51:42 +03:00
committed by GitHub
parent 55de1ad8d1
commit d9c45eb57e
14 changed files with 224 additions and 160 deletions

View File

@@ -1,3 +1,5 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:friflex_starter/app/ui_kit/app_box.dart';
import 'package:friflex_starter/app/ui_kit/app_snackbar.dart';
@@ -78,15 +80,17 @@ class _ComponentsScreenState extends State<ComponentsScreen> {
final updateCubitState = context.read<UpdateCubit>().state;
if (updateCubitState is UpdateSuccessState &&
updateCubitState.updateInfo.updateType == UpdateType.soft) {
SoftUpdateModal.show(
context,
updateEntity: updateCubitState.updateInfo,
onUpdate: () {
AppSnackBar.showSuccess(
context: context,
message: 'Начато обновление приложения',
);
},
unawaited(
SoftUpdateModal.show(
context,
updateEntity: updateCubitState.updateInfo,
onUpdate: () {
AppSnackBar.showSuccess(
context: context,
message: 'Начато обновление приложения',
);
},
),
);
}
},
@@ -95,7 +99,7 @@ class _ComponentsScreenState extends State<ComponentsScreen> {
const HBox(16),
ElevatedButton(
onPressed: () {
context.pushNamed(UpdateRoutes.hardUpdateScreenName);
unawaited(context.pushNamed(UpdateRoutes.hardUpdateScreenName));
},
child: const Text('Переход на экран Hard Update обновления'),
),

View File

@@ -1,6 +1,8 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:friflex_starter/app/ui_kit/app_box.dart';
import 'package:friflex_starter/app/app_context_ext.dart';
import 'package:friflex_starter/app/ui_kit/app_box.dart';
import 'package:friflex_starter/features/debug/debug_routes.dart';
import 'package:go_router/go_router.dart';
@@ -35,42 +37,42 @@ class DebugScreen extends StatelessWidget {
const HBox(16),
ElevatedButton(
onPressed: () {
context.pushNamed(DebugRoutes.iconsScreenName);
unawaited(context.pushNamed(DebugRoutes.iconsScreenName));
},
child: const Text('Экран с иконками'),
),
const HBox(16),
ElevatedButton(
onPressed: () {
context.pushNamed(DebugRoutes.themeScreenName);
unawaited(context.pushNamed(DebugRoutes.themeScreenName));
},
child: const Text('Экран настроек темы'),
),
const HBox(16),
ElevatedButton(
onPressed: () {
context.pushNamed(DebugRoutes.tokensScreenName);
unawaited(context.pushNamed(DebugRoutes.tokensScreenName));
},
child: const Text('Экран с токенами'),
),
const HBox(16),
ElevatedButton(
onPressed: () {
context.pushNamed(DebugRoutes.uiKitScreenName);
unawaited(context.pushNamed(DebugRoutes.uiKitScreenName));
},
child: const Text('Экран UI Kit'),
),
const HBox(16),
ElevatedButton(
onPressed: () {
context.pushNamed(DebugRoutes.langScreenName);
unawaited(context.pushNamed(DebugRoutes.langScreenName));
},
child: const Text('Экран локализации'),
),
const HBox(16),
ElevatedButton(
onPressed: () {
context.pushNamed(DebugRoutes.componentsScreenName);
onPressed: () async {
await context.pushNamed(DebugRoutes.componentsScreenName);
},
child: const Text('Экран компонентов'),
),

View File

@@ -1,3 +1,5 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:friflex_starter/app/ui_kit/app_box.dart';
import 'package:friflex_starter/features/main/presentation/main_routes.dart';
@@ -23,7 +25,7 @@ class MainScreen extends StatelessWidget {
ElevatedButton(
onPressed: () {
// Переход на экран с деталями
context.pushNamed(MainRoutes.mainDetailScreenName);
unawaited(context.pushNamed(MainRoutes.mainDetailScreenName));
},
child: const Text('Переход на экран с деталями'),
),

View File

@@ -1,3 +1,5 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:friflex_starter/app/app_context_ext.dart';
@@ -46,12 +48,14 @@ class _RootScreenState extends State<RootScreen> {
// Проверяем только состояние успеха с доступной информацией об обновлении
if (updateState is UpdateSuccessState &&
updateState.updateInfo.updateType == UpdateType.soft) {
SoftUpdateModal.show(
context,
updateEntity: updateState.updateInfo,
onUpdate: () {
// TODO(yura): реализовать логику обновления приложения
},
unawaited(
SoftUpdateModal.show(
context,
updateEntity: updateState.updateInfo,
onUpdate: () {
// TODO(yura): реализовать логику обновления приложения
},
),
);
}
});
@@ -64,7 +68,7 @@ class _RootScreenState extends State<RootScreen> {
? FloatingActionButton(
child: const Icon(Icons.bug_report),
onPressed: () {
context.pushNamed(DebugRoutes.debugScreenName);
unawaited(context.pushNamed(DebugRoutes.debugScreenName));
},
)
: null,

View File

@@ -10,7 +10,7 @@ part 'update_state.dart';
/// {@endtemplate}
class UpdateCubit extends Cubit<UpdateState> {
/// {@macro UpdateCubit}
UpdateCubit(this._updatesRepository) : super(UpdateInitialState());
UpdateCubit(this._updatesRepository) : super(const UpdateInitialState());
/// Репозиторий для проверки обновлений
final IUpdateRepository _updatesRepository;
@@ -23,7 +23,7 @@ class UpdateCubit extends Cubit<UpdateState> {
required String platform,
}) async {
if (state is UpdateLoadingState) return;
emit(UpdateLoadingState());
emit(const UpdateLoadingState());
try {
final updateInfo = await _updatesRepository.checkForUpdates(
versionCode: versionCode,