createFlintApp function

void createFlintApp(
  1. String selector, {
  2. Map<String, FlintPageBuilder>? pages,
  3. PageRegistry? registry,
  4. FlintAsyncPageBuilder? resolvePage,
  5. List<FlintPageMiddleware> middlewares = const [],
  6. List<Object> stylesheets = const [],
  7. FlintTheme? theme,
  8. FlintThemeProvider? themeProvider,
  9. FlintThemeMode? themeMode,
  10. Object? rootDesign,
  11. FlintComponent missingPage(
    1. String component
    )?,
})

Implementation

void createFlintApp(
  String selector, {
  Map<String, FlintPageBuilder>? pages,
  PageRegistry? registry,
  FlintAsyncPageBuilder? resolvePage,
  List<FlintPageMiddleware> middlewares = const [],
  List<Object> stylesheets = const [],
  FlintTheme? theme,
  FlintThemeProvider? themeProvider,
  FlintThemeMode? themeMode,
  Object? rootDesign,
  FlintComponent Function(String component)? missingPage,
}) {
  registerRootDesign(
    RootDesign(
      name: 'flint-animations',
      keyframes: [StyleKeyframes.spin(), StyleKeyframes.fadeIn()],
    ),
  );

  final initialThemeMode = _initialAppThemeMode(
    themeProvider: themeProvider,
    themeMode: themeMode,
    rootDesign: rootDesign is RootDesign ? rootDesign : null,
  );
  if (initialThemeMode != null) {
    flintTheme.configure(initialMode: initialThemeMode);
  }

  final appTheme = _appThemeRootDesign(
    theme: theme,
    themeProvider: themeProvider,
    themeMode: themeMode,
  );
  if (appTheme != null) {
    registerRootDesign(appTheme);
  }

  if (rootDesign is RootDesign) {
    registerRootDesign(rootDesign);
  }

  for (final stylesheet in stylesheets) {
    if (stylesheet is StyleSheet) {
      registerStyleSheet(stylesheet);
    }
  }
}