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.

Libraries

modulapp_widget