mirror of
https://github.com/smmarty/friflex_flutter_starter.git
synced 2026-02-05 03:32:18 +00:00
* refactor(app): обновить структуру приложения и удалить устаревшие провайдеры * refactor(runner): упростить обработку ошибок и улучшить логирование времени инициализации * refactor(runner): улучшить порядок инициализации приложения и обработку ошибок * refactor(app): исправить контекст MediaQuery для предотвращения перерисовки * refactor(pp): удалить главный виджет приложения и заменить его на AppRoot * docs(copilot-instructions): уточнить правила проведения Code Review на русском языке * refactor(linter): добавить правило avoid_catches_without_on_clauses для улучшения обработки исключений --------- Co-authored-by: petrovyuri <petrovyuri@example.com>
45 lines
1.5 KiB
Dart
45 lines
1.5 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import 'package:friflex_starter/app/theme/theme_notifier.dart';
|
|
import 'package:friflex_starter/di/di_container.dart';
|
|
import 'package:friflex_starter/features/update/domain/state/cubit/update_cubit.dart';
|
|
import 'package:friflex_starter/l10n/localization_notifier.dart';
|
|
import 'package:provider/provider.dart';
|
|
|
|
/// {@template app_providers}
|
|
/// Класс для добавления зависимостей приложения
|
|
/// {@endtemplate}
|
|
final class AppProviders extends StatelessWidget {
|
|
/// {@macro app_providers}
|
|
const AppProviders({
|
|
required this.child,
|
|
required this.diContainer,
|
|
super.key,
|
|
});
|
|
|
|
/// Виджет, который будет отображаться внутри провайдеров
|
|
final Widget child;
|
|
|
|
/// Контейнер зависимостей
|
|
final DiContainer diContainer;
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return MultiProvider(
|
|
providers: [
|
|
ChangeNotifierProvider(
|
|
create: (_) => ThemeNotifier(),
|
|
), // Провайдер для темы
|
|
ChangeNotifierProvider(
|
|
create: (_) => LocalizationNotifier(),
|
|
), // Провайдер для локализации
|
|
Provider.value(value: diContainer), // Передаем контейнер зависимостей
|
|
BlocProvider(
|
|
create: (_) => UpdateCubit(diContainer.repositories.updateRepository),
|
|
),
|
|
],
|
|
child: child,
|
|
);
|
|
}
|
|
}
|