get_it_modular_with_auto_route 1.0.0
get_it_modular_with_auto_route: ^1.0.0 copied to clipboard
An integration for get_it_modular that simplifies modular routing by providing convenient wrappers and helpers for the auto_route package.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
import 'package:get_it_modular_with_auto_route/get_it_modular_with_auto_route.dart';
import 'app_router.dart';
import 'modules/event_module.dart';
import 'modules/main_module.dart';
void main() {
setupDependencies();
runApp(MyApp());
}
void setupDependencies() {
// Register the module blueprints as lazy singletons
GetIt.I.registerLazySingleton(() => MainModule());
GetIt.I.registerLazySingleton(() => EventModule());
}
class MyApp extends StatelessWidget with WithModules {
final _appRouter = AppRouter();
MyApp({super.key});
@override
final MainModuleContract mainModule = MainModule();
Future<void> init() async {
_appRouter.init(modules: [mainModule, ...childModules]);
}
@override
Widget build(BuildContext context) {
return MaterialApp.router(
title: 'GetIt Modular Example',
routerConfig: _appRouter.config(),
);
}
}