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

@@ -9,8 +9,8 @@ import 'package:friflex_starter/di/di_container.dart';
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_type.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';
@@ -136,7 +136,7 @@ class _App extends StatelessWidget {
}
return ThemeConsumer(
builder: () => MediaQuery(
key: ValueKey('prevent_rebuild'),
key: const ValueKey('prevent_rebuild'),
data: MediaQuery.of(
context,
).copyWith(textScaler: TextScaler.noScaling, boldText: false),

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/di/di_container.dart';
@@ -22,12 +24,19 @@ final class DependsProviders extends StatelessWidget {
// Сюда добавляем глобальные блоки, inherited и т.д.
Provider.value(value: diContainer), // Передаем контейнер зависимостей
BlocProvider(
create: (_) => UpdateCubit(diContainer.repositories.updatesRepository)
..checkForUpdates(
versionCode:
'1.0.0', // TODO(yura): заменить на получение из diContainer
platform: 'android',
),
create: (_) {
final updateCubit = UpdateCubit(
diContainer.repositories.updatesRepository,
);
unawaited(
updateCubit.checkForUpdates(
versionCode:
'1.0.0', // TODO(yura): заменить на получение из diContainer
platform: 'android',
),
);
return updateCubit;
},
),
],
child: child,

View File

@@ -46,20 +46,20 @@ class AppColors extends ThemeExtension<AppColors> with _$AppColorsTailorMixin {
final Color infoSnackbarBackground;
/// Цвета светлой темы
static final AppColors light = AppColors(
static const AppColors light = AppColors(
testColor: Colors.red,
errorSnackbarBackground: const Color(0xFFD24720),
successSnackbarBackground: const Color(0xFF6FB62C),
infoSnackbarBackground: const Color.fromARGB(255, 220, 108, 77),
itemTextColor: const Color(0xFFFAF3EB),
errorSnackbarBackground: Color(0xFFD24720),
successSnackbarBackground: Color(0xFF6FB62C),
infoSnackbarBackground: Color.fromARGB(255, 220, 108, 77),
itemTextColor: Color(0xFFFAF3EB),
);
/// Цвета тёмной темы
static final AppColors dark = AppColors(
static const AppColors dark = AppColors(
testColor: Colors.green,
errorSnackbarBackground: const Color(0xFF638B8B),
successSnackbarBackground: const Color(0xFF93C499),
infoSnackbarBackground: const Color.fromARGB(255, 35, 147, 178),
errorSnackbarBackground: Color(0xFF638B8B),
successSnackbarBackground: Color(0xFF93C499),
infoSnackbarBackground: Color.fromARGB(255, 35, 147, 178),
itemTextColor: Colors.white,
);
}

View File

@@ -180,7 +180,7 @@ class _AppSnackBarState extends State<AppSnackBar>
CurvedAnimation(parent: _animationController, curve: Curves.easeOut),
);
_animationController.forward();
unawaited(_animationController.forward());
}
/// Запуск таймера для автоматического закрытия снекбара
@@ -198,11 +198,13 @@ class _AppSnackBarState extends State<AppSnackBar>
if (!mounted) return;
_dismissTimer?.cancel();
_animationController.reverse().then((_) {
if (mounted) {
widget.onDismiss?.call();
}
});
unawaited(
_animationController.reverse().then((_) {
if (mounted) {
widget.onDismiss?.call();
}
}),
);
}
@override
@@ -243,7 +245,7 @@ class _AppSnackBarState extends State<AppSnackBar>
Flexible(
child: Text(
widget.message,
style: TextStyle(color: Colors.white),
style: const TextStyle(color: Colors.white),
maxLines: 3,
overflow: TextOverflow.ellipsis,
),
@@ -288,13 +290,21 @@ class _Icon extends StatelessWidget {
@override
Widget build(BuildContext context) {
return switch (type) {
TypeSnackBar.success => Icon(
TypeSnackBar.success => const Icon(
Icons.check_circle,
color: Colors.white,
size: 32,
),
TypeSnackBar.error => Icon(Icons.error, color: Colors.white, size: 32),
TypeSnackBar.info => Icon(Icons.info, color: Colors.white, size: 32),
TypeSnackBar.error => const Icon(
Icons.error,
color: Colors.white,
size: 32,
),
TypeSnackBar.info => const Icon(
Icons.info,
color: Colors.white,
size: 32,
),
};
}
}