Files
cherrypick/examples/postly/lib/main.dart

37 lines
1004 B
Dart
Raw Normal View History

2025-05-16 18:09:14 +03:00
import 'package:cherrypick/cherrypick.dart';
2025-05-16 17:56:57 +03:00
import 'package:flutter/material.dart';
2025-05-16 18:09:14 +03:00
import 'di/app_module.dart';
2025-05-16 17:56:57 +03:00
import 'domain/repository/post_repository.dart';
import 'presentation/bloc/post_bloc.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'router/app_router.dart';
void main() {
2025-05-16 18:09:14 +03:00
final scope = CherryPick.openRootScope();
2025-05-17 00:34:56 +03:00
scope.installModules([$AppModule()]);
2025-05-16 17:56:57 +03:00
2025-05-16 18:09:14 +03:00
runApp(MyApp(scope: scope));
2025-05-16 17:56:57 +03:00
}
class MyApp extends StatelessWidget {
2025-05-16 18:09:14 +03:00
final Scope scope;
2025-05-16 17:56:57 +03:00
final _appRouter = AppRouter();
2025-05-16 18:09:14 +03:00
MyApp({super.key, required this.scope});
2025-05-16 17:56:57 +03:00
@override
Widget build(BuildContext context) {
2025-05-16 18:09:14 +03:00
// Получаем репозиторий через injector
final repository = scope.resolve<PostRepository>();
2025-05-16 17:56:57 +03:00
return BlocProvider(
create: (_) => PostBloc(repository),
child: MaterialApp.router(
routeInformationParser: _appRouter.defaultRouteParser(),
routerDelegate: _appRouter.delegate(),
theme: ThemeData.light(),
),
);
}
}