Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/iconica-development/flutter_start

Flutter_start is a package that allows you to jumpstart your application with a splashScreen, introduction and a home.
https://github.com/iconica-development/flutter_start

component user-story

Last synced: 2 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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:

```yaml
flutter_start:
git:
url: https://github.com/Iconica-Development/flutter_start
ref: 4.1.0
```

## go_router

Add `go_router` as dependency to your project.

Add the following configuration to your flutter_application:

```
List getStartStoryRoutes() => getStartStoryRoutes();
```

Or with options:

Place the following code somewhere in your project where it can be accessed globally:

```
var startUserStoryConfiguration = const StartUserStoryConfiguration();
```

```
List getStartStoryRoutes() => getStartStoryRoutes(
configuration: startUserStoryConfiguration,
);
```

Finally add the `getStartRoutes` to your `go_router` routes like so:

```
final GoRouter _router = GoRouter(
routes: [
...getStartStoryRoutes()
],
);
```

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 `home`:

```
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: [
...getStartRoutes()
],
initialLocation: '/introduction',
);
```

## Navigator

Add the following code to the build-method of a chosen widget like so:
```
class Example extends StatelessWidget {
const Example({super.key});

@override
Widget build(BuildContext context) {
return NavigatorStartUserStory(
onComplete: (context) {},
);
}
}
```

or with options:

Place the following code somewhere in your project where it can be accessed globally:

```
var startUserStoryConfiguration = const StartUserStoryConfiguration();
```

```
class Example extends StatelessWidget {
const Example({super.key});

@override
Widget build(BuildContext context) {
return NavigatorStartUserStory(
configuration: startUserStoryConfiguration,
onComplete: (context) {},
);
}
}
```

The `StartUserStoryConfiguration` has its own parameters, as specified below:
| Parameter | Explanation |
|-----------|-------------|
| `splashScreenBuilder` | The builder to override the default splashScreen |
| `introductionBuilder` | A builder to wrap the introductions in your own page |
| `introductionOptionsBuilder` | The builder to override the default `introductionOptions` |
|`introductionService` | The service to override the default `introductionService` |
| `homeScreenRoute` | The route to navigate to after the introduction or splashScreen is completed |
| `introductionFallbackScreen` | The screen that is shown when something goes wrong fetching data for the introduction |
| `introductionScrollPhysics` | The scroll physics for the introduction |
| `showIntroduction` | A boolean to show the introduction or not. Defaults to true |
| `useKillswitch` | A boolean to use the killswitch or not. Defaults to false |
| `minimumSplashScreenDuration` | The minimum duration the splashScreen should be shown. Defaults to 3 seconds |
| `splashScreenFuture` | The future to be completed before the splashScreen is completed |
| `splashScreenCenterWidget` | The widget to be shown in the center of the splashScreen |
| `splashScreenBackgroundColor` | The color of the splashScreen background. Defaults to Color(0xff212121) |
| `canPopFromIntroduction` | Allow popping from introduction, defaults to true. Defaults to true |
| `killswitchService` | The service to override the default killswitch service |
| `showSplashScreen` | A boolean to show the splashScreen or not. Defaults to true |

## Issues

Please file any issues, bugs or feature request as an issue on our [GitHub](https://github.com/Iconica-Development/flutter_start) page. Commercial support is available if you need help with integration with your app or services. You can contact us at [[email protected]](mailto:[email protected]).

## Want to contribute
[text](about:blank#blocked)
If you would like to contribute to the plugin (e.g. by improving the documentation, solving a bug or adding a cool new feature), please carefully review our [contribution guide](./CONTRIBUTING.md) and send us your [pull request](https://github.com/Iconica-Development/flutter_start/pulls).

## Author

This flutter_start for Flutter is developed by [Iconica](https://iconica.nl). You can contact us at