2025-02-12 10:53:38 +03:00
|
|
|
import 'package:flutter/material.dart';
|
2025-09-26 08:21:42 +03:00
|
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
2025-02-12 10:53:38 +03:00
|
|
|
import 'package:friflex_starter/di/di_container.dart';
|
2025-09-26 08:21:42 +03:00
|
|
|
import 'package:friflex_starter/features/update/domain/state/cubit/update_cubit.dart';
|
2025-02-12 10:53:38 +03:00
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
|
|
|
|
|
/// Класс для внедрения глобальных зависимостей
|
|
|
|
|
final class DependsProviders extends StatelessWidget {
|
|
|
|
|
const DependsProviders({
|
|
|
|
|
required this.child,
|
|
|
|
|
required this.diContainer,
|
2025-05-28 16:38:56 +03:00
|
|
|
super.key,
|
2025-02-12 10:53:38 +03:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
final Widget child;
|
|
|
|
|
final DiContainer diContainer;
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
return MultiProvider(
|
|
|
|
|
providers: [
|
|
|
|
|
// Сюда добавляем глобальные блоки, inherited и т.д.
|
|
|
|
|
Provider.value(value: diContainer), // Передаем контейнер зависимостей
|
2025-09-26 08:21:42 +03:00
|
|
|
BlocProvider(
|
|
|
|
|
create: (_) => UpdateCubit(diContainer.repositories.updatesRepository)
|
|
|
|
|
..checkForUpdates(
|
|
|
|
|
versionCode:
|
|
|
|
|
'1.0.0', // TODO(yura): заменить на получение из diContainer
|
|
|
|
|
platform: 'android',
|
|
|
|
|
),
|
|
|
|
|
),
|
2025-02-12 10:53:38 +03:00
|
|
|
],
|
|
|
|
|
child: child,
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|