Flutter_start is a package that allows you to jumpstart your application with a splashScreen, introduction and a home.
Find a file
2024-02-19 14:36:56 +01:00
.github/workflows Merge pull request #11 from Iconica-Development/update-component-documentation-workflow-correct 2024-02-13 16:33:31 +01:00
example feat: added configuration options 2024-02-07 12:55:27 +01:00
lib feat(introduction): add popscope for introduction screen 2024-02-19 14:36:56 +01:00
.gitignore feat: add introduction screen builder 2024-01-31 17:36:21 +01:00
analysis_options.yaml feat: add CI 2024-02-02 16:05:07 +01:00
CHANGELOG.md feat(introduction): add popscope for introduction screen 2024-02-19 14:36:56 +01:00
pubspec.yaml feat(introduction): add popscope for introduction screen 2024-02-19 14:36:56 +01:00
README.md feat: killswitch 2024-01-24 16:56:53 +01:00

flutter_start

Flutter_start is a package that allows you to jumpstart your application with a splashScreen, introduction and a home.

Setup

To use this package, add flutter_start as a dependency in your pubspec.yaml file:

  flutter_start:
    git:
      url: https://github.com/Iconica-Development/flutter_start
      ref: <Version>

To use the module within your Flutter-application with predefined Go_router routes you should add the following:

Add go_router as dependency to your project. Add the following configuration to your flutter_application:

StartUserStoryConfiguration startUserStoryConfiguration = const StartUserStoryConfiguration();

and set the values as you wish.

Next add the StartUserStoryConfiguration to getStartStoryRoutes Like so:

List<GoRoute> getStartRoutes() => getStartStoryRoutes(
      startUserStoryConfiguration,
    );

Finally add the getStartRoutes to your Go_router routes like so:

final GoRouter _router = GoRouter(
  routes: <RouteBase>[
    ...getStartRoutes()
  ],
);

The routes that can be used to navigate are:

For routing to the SplashScreen:

  static const String splashScreen = '/splashScreen';

For routing to the Introduction:

  static const String introduction = '/introduction';

For routing to the HomeEntry:

  static const String home = '/home';

If you don't want a SplashScreen in your application set your initialRoute to Introduction:

final GoRouter _router = GoRouter(
  routes: <RouteBase>[
    ...getStartRoutes()
  ],
    initialLocation: '/introduction',
);

To use the module within your Flutter-application without predefined Go_router routes but with Navigator routes add the following :

Add the following configuration to your flutter_application:

StartUserStoryConfiguration startUserStoryConfiguration = const StartUserStoryConfiguration();

Add the following code to the build-method of a chosen widget:

startNavigatorUserStory(startUserStoryConfiguration, context);

If the splashScreenBuilder is not used the SplashScreen will be skipped.

The StartUserStoryConfiguration has its own parameters, as specified below:

Parameter Explanation
splashScreenBuilder The builder for the splashScreen.
introductionOptions The options for the introduction.
introductionService The service for the introduction. Default IntroductionService (SharedPreferencesIntroductionDataProvider())
homeEntry The widget that will be shown after the introduction.
introductionFallbackScreen The widget that will be shown when the introduction is skipped.
introductionScrollPhysics The scrollPhysics for the introduction.
showIntroduction Whether or not the introduction should be shown.
useKillswitch Whether or not the killswitch should be used. This will only work when you use the splashScreen and you need to have a active internet connection