mirror of
https://github.com/pese-git/cherrypick.git
synced 2026-01-24 05:25:19 +00:00
36 lines
978 B
Dart
36 lines
978 B
Dart
|
|
import 'package:flutter/material.dart';
|
||
|
|
import 'package:dio/dio.dart';
|
||
|
|
import 'data/network/json_placeholder_api.dart';
|
||
|
|
import 'data/post_repository_impl.dart';
|
||
|
|
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() {
|
||
|
|
final dio = Dio();
|
||
|
|
final api = JsonPlaceholderApi(dio);
|
||
|
|
final repository = PostRepositoryImpl(api);
|
||
|
|
|
||
|
|
runApp(MyApp(repository: repository));
|
||
|
|
}
|
||
|
|
|
||
|
|
class MyApp extends StatelessWidget {
|
||
|
|
final PostRepository repository;
|
||
|
|
final _appRouter = AppRouter();
|
||
|
|
|
||
|
|
MyApp({super.key, required this.repository});
|
||
|
|
|
||
|
|
@override
|
||
|
|
Widget build(BuildContext context) {
|
||
|
|
return BlocProvider(
|
||
|
|
create: (_) => PostBloc(repository),
|
||
|
|
child: MaterialApp.router(
|
||
|
|
routeInformationParser: _appRouter.defaultRouteParser(),
|
||
|
|
routerDelegate: _appRouter.delegate(),
|
||
|
|
theme: ThemeData.light(),
|
||
|
|
),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|