modulapp_widget
A simple widget to help you modularize your apps based on modulapp package.
Keep it simple
Glad to Modulapp widget your heavily scaled apps become simpler
void main() {
final loginModule = LoginModule(postLoginRoute: TodoRoutes.list);
final todoModule = TodoModule();
final favoriteModule = FavoriteModule();
final allModules = [loginModule, todoModule, favoriteModule];
runApp(
Modulapp(
modules: allModules,
supportedLocales: const [Locale('en'), Locale('fr')],
sessionStreamBuilder: (context) => Dependency.get<SessionRepository>(context).watch(),
routerConfigBuilder: (context) {
final session = Dependency.maybeGet<Session>(context);
return GoRouter(
initialLocation: session != null ? TodoRoutes.list : LoginRoutes.home,
routes: session != null ? allModules.routes : loginModule.routes,
);
}),
);
}
Check the example section for a full example
You'll also find in the Gitlab repository helpful advanced examples with Modules that provides GoRouter routes, translations and dependency injection.