hondavert-dev/lib/ui/theme/app_theme.dart
2026-10-13 00:34:11 +00:00

56 lines
1.8 KiB
Dart

import 'package:flutter/material.dart';
import '../../core/providers/theme_provider.dart';
import 'app_colors.dart';
class AppTheme {
static ThemeData build(AppThemeVariant variant) {
final colors = AppColors.forTheme(variant);
final isDark = variant.isDark;
return ThemeData(
useMaterial3: true,
brightness: isDark ? Brightness.dark : Brightness.light,
scaffoldBackgroundColor: colors.background,
colorScheme: ColorScheme.fromSeed(
seedColor: colors.accent,
brightness: isDark ? Brightness.dark : Brightness.light,
).copyWith(
primary: colors.accent,
surface: colors.surface,
),
appBarTheme: AppBarTheme(
backgroundColor: colors.surface,
foregroundColor: colors.onSurface,
elevation: 0,
surfaceTintColor: Colors.transparent,
),
bottomNavigationBarTheme: BottomNavigationBarThemeData(
backgroundColor: colors.surface,
selectedItemColor: colors.accent,
unselectedItemColor: colors.onSurfaceMuted,
type: BottomNavigationBarType.fixed,
elevation: 8,
),
cardTheme: CardThemeData(
color: colors.surface,
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
),
dividerTheme: DividerThemeData(
color: colors.surfaceVariant,
thickness: 1,
),
floatingActionButtonTheme: FloatingActionButtonThemeData(
backgroundColor: colors.accent,
foregroundColor: isDark ? Colors.black : Colors.white,
),
textTheme: TextTheme(
bodyMedium: TextStyle(color: colors.onSurface),
bodySmall: TextStyle(color: colors.onSurfaceMuted),
),
);
}
}