lightTheme property
ThemeData
get
lightTheme
Implementation
static ThemeData get lightTheme {
return ThemeData(
useMaterial3: true,
scaffoldBackgroundColor: SubZeroColors.background,
primaryColor: SubZeroColors.primary,
colorScheme: const ColorScheme.light(
primary: SubZeroColors.primary,
onPrimary: Colors.white,
secondary: SubZeroColors.secondary,
onSecondary: Colors.white,
error: SubZeroColors.error,
surface: SubZeroColors.surface,
onSurface: SubZeroColors.textPrimary,
surfaceContainerHighest: SubZeroColors.surfaceVariant,
),
textTheme: SubZeroTypography.textTheme,
cardTheme: CardThemeData(
color: SubZeroColors.surface,
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: SubZeroRadius.medium,
side: BorderSide(color: SubZeroColors.border, width: 1),
),
margin: EdgeInsets.zero,
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
backgroundColor: SubZeroColors.primary,
foregroundColor: Colors.white,
padding: const EdgeInsets.symmetric(
horizontal: SubZeroSpacing.lg,
vertical: SubZeroSpacing.md,
),
shape: RoundedRectangleBorder(
borderRadius: SubZeroRadius.medium,
),
elevation: 0,
textStyle: SubZeroTypography.textTheme.labelLarge,
),
),
outlinedButtonTheme: OutlinedButtonThemeData(
style: OutlinedButton.styleFrom(
foregroundColor: SubZeroColors.primary,
padding: const EdgeInsets.symmetric(
horizontal: SubZeroSpacing.lg,
vertical: SubZeroSpacing.md,
),
side: const BorderSide(color: SubZeroColors.primary),
shape: RoundedRectangleBorder(
borderRadius: SubZeroRadius.medium,
),
textStyle: SubZeroTypography.textTheme.labelLarge,
),
),
inputDecorationTheme: InputDecorationTheme(
filled: true,
fillColor: SubZeroColors.surface,
contentPadding: const EdgeInsets.all(SubZeroSpacing.md),
border: OutlineInputBorder(
borderRadius: SubZeroRadius.medium,
borderSide: const BorderSide(color: SubZeroColors.border),
),
enabledBorder: OutlineInputBorder(
borderRadius: SubZeroRadius.medium,
borderSide: const BorderSide(color: SubZeroColors.border),
),
focusedBorder: OutlineInputBorder(
borderRadius: SubZeroRadius.medium,
borderSide: const BorderSide(color: SubZeroColors.primary, width: 2),
),
labelStyle: SubZeroTypography.textTheme.bodyMedium,
),
dividerTheme: const DividerThemeData(
color: SubZeroColors.divider,
thickness: 1,
space: 1,
),
);
}