Skip to content

socialmohansingh/Flutter-Module-Architecture

Repository files navigation

Module Navigation Service (NS) Stack

Screen Shot 2022-10-15 at 8 31 04 PM

Create a Module

class HostModule extends BaseModule {

  @override
  Future<void> init(BaseNavigationService navigationRouter,
      {DeepLink? deepLink}) async {
    //
  }

  @override
  Future<FeaturePage> pageWrapper(Widget child, {DeepLink? deepLink}) async {
    //
    return FeaturePage(
      page: MaterialPage(
        child: MaterialApp(
          home: child,
        ),
      ),
    );
  }

  @override
  Future<void> setRootPage({DeepLink? deepLink}) async {
    //
  }

  @override
  Future<void> dispose({DeepLink? deepLink}) async {
   //
  }
}

Run a Module

var module = HostModule(
    key: "host",
    onReceive: ({deepLink}) => {},
    onError: (e) {
      print("Module Error ${e}");
    },
  );

  runAppModule(module, (a, b) {});

Start Module

 var module1 = Modile1(
      key: "md1",
      onReceive: ({deepLink}) {},
      onError: (error) {
        print("Module1 Error ${error}");
      },
    );
    _navigationStack.startModule(module1, deepLink: deepLink);

Finish Module

_navigationStack.finishModule(deepLink: deepLink)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published