appThemeTemplate function

String appThemeTemplate()

Implementation

String appThemeTemplate() => '''
${ProjectUtils.fileGenerationString}

import 'package:flutter/material.dart';

import 'app_colors/app_dark_colors.dart';
import 'app_colors/app_light_colors.dart';
import 'app_text_styles.dart';

class AppTheme {
  AppTheme._();
  /// ---------------- FONT ----------------
  static const String _fontFamily = 'Poppins';

  /// ---------------- LIGHT THEME ----------------
  static final ThemeData lightTheme = ThemeData(
    useMaterial3: true,
    brightness: Brightness.light,
    colorScheme: const ColorScheme.light(
      primary: AppLightColors.primary,
      primaryContainer: AppLightColors.primaryContainer,
      secondary: AppLightColors.secondary,
      secondaryContainer: AppLightColors.secondaryContainer,
      surface: AppLightColors.surface,
      error: AppLightColors.error,
      errorContainer: AppLightColors.errorContainer,
      onPrimary: AppLightColors.textInverse,
      onSecondary: AppLightColors.textInverse,
      onSurface: AppLightColors.textPrimary,
      onError: AppLightColors.textInverse,
      outline: AppLightColors.border,
    ),
    scaffoldBackgroundColor: AppLightColors.scaffold,
    dividerColor: AppLightColors.divider,
    hintColor: AppLightColors.hint,
    disabledColor: AppLightColors.textDisabled,
    textTheme: AppTextStyles.baseTextTheme.apply(
      fontFamily: _fontFamily,
      bodyColor: AppLightColors.textPrimary,
      displayColor: AppLightColors.textPrimary,
    ),
    appBarTheme: const AppBarTheme(
      backgroundColor: AppLightColors.surface,
      foregroundColor: AppLightColors.textPrimary,
      elevation: 0,
    ),
  );

  /// ---------------- DARK THEME ----------------
  static final ThemeData darkTheme = ThemeData(
    useMaterial3: true,
    brightness: Brightness.dark,
    colorScheme: const ColorScheme.dark(
      primary: AppDarkColors.primary,
      primaryContainer: AppDarkColors.primaryContainer,
      secondary: AppDarkColors.secondary,
      secondaryContainer: AppDarkColors.secondaryContainer,
      surface: AppDarkColors.surface,
      error: AppDarkColors.error,
      errorContainer: AppDarkColors.errorContainer,
      onPrimary: AppDarkColors.textPrimary,
      onSecondary: AppDarkColors.textPrimary,
      onSurface: AppDarkColors.textPrimary,
      onError: AppDarkColors.textInverse,
      outline: AppDarkColors.border,
    ),
    scaffoldBackgroundColor: AppDarkColors.scaffold,
    dividerColor: AppDarkColors.divider,
    hintColor: AppDarkColors.hint,
    disabledColor: AppDarkColors.textDisabled,
    textTheme: AppTextStyles.baseTextTheme.apply(
      fontFamily: _fontFamily,
      bodyColor: AppDarkColors.textPrimary,
      displayColor: AppDarkColors.textPrimary,
    ),
    appBarTheme: const AppBarTheme(
      backgroundColor: AppDarkColors.scaffold,
      foregroundColor: AppDarkColors.textPrimary,
      elevation: 0,
    ),
  );
}
''';