buildTheme static method

ThemeData buildTheme(
  1. Brightness brightness, {
  2. NeoThemePreset preset = NeoThemePreset.worldSkills,
})

Implementation

static ThemeData buildTheme(
  Brightness brightness, {
  NeoThemePreset preset = NeoThemePreset.worldSkills,
}) {
  final palette = NeoPalette.forBrightness(brightness, preset: preset);
  final base = ThemeData(
    brightness: brightness,
    useMaterial3: true,
    fontFamily: 'Arial',
  );

  final colorScheme =
      ColorScheme.fromSeed(
        seedColor: palette.primary,
        brightness: brightness,
      ).copyWith(
        primary: palette.primary,
        onPrimary: palette.textOnPrimary,
        secondary: palette.primarySoft,
        onSecondary: palette.textPrimary,
        surface: palette.surface,
        onSurface: palette.textPrimary,
      );

  return base.copyWith(
    colorScheme: colorScheme,
    scaffoldBackgroundColor: palette.page,
    canvasColor: palette.page,
    cardColor: palette.surface,
    dividerColor: palette.outline.withValues(alpha: 0.22),
    extensions: <ThemeExtension<dynamic>>[palette],
    textTheme: base.textTheme.apply(
      bodyColor: palette.textPrimary,
      displayColor: palette.textPrimary,
      fontFamily: 'Arial',
    ),
  );
}