92 lines
2.7 KiB
Dart
92 lines
2.7 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
class AppTheme {
|
|
AppTheme._();
|
|
|
|
static const Color primaryColor = Color(0xFF1E88E5);
|
|
static const Color secondaryColor = Color(0xFF43A047);
|
|
static const Color errorColor = Color(0xFFE53935);
|
|
static const Color warningColor = Color(0xFFFFA726);
|
|
static const Color successColor = Color(0xFF66BB6A);
|
|
|
|
static const Color backgroundColor = Color(0xFFF5F5F5);
|
|
static const Color surfaceColor = Colors.white;
|
|
static const Color textPrimary = Color(0xFF212121);
|
|
static const Color textSecondary = Color(0xFF757575);
|
|
|
|
// Impact colors for visualization
|
|
static const Color impactColor = Color(0xFFFF5722);
|
|
static const Color impactOutlineColor = Color(0xFFFFFFFF);
|
|
static const Color groupingCenterColor = Color(0xFF2196F3);
|
|
static const Color groupingCircleColor = Color(0x4D2196F3);
|
|
|
|
// Score zone colors
|
|
static const List<Color> zoneColors = [
|
|
Color(0xFFFFEB3B), // Zone 10 - Gold
|
|
Color(0xFFFFEB3B), // Zone 9
|
|
Color(0xFFFF5722), // Zone 8
|
|
Color(0xFFFF5722), // Zone 7
|
|
Color(0xFF2196F3), // Zone 6
|
|
Color(0xFF2196F3), // Zone 5
|
|
Color(0xFF4CAF50), // Zone 4
|
|
Color(0xFF4CAF50), // Zone 3
|
|
Color(0xFFFFFFFF), // Zone 2
|
|
Color(0xFFFFFFFF), // Zone 1
|
|
];
|
|
|
|
static ThemeData get lightTheme {
|
|
return ThemeData(
|
|
useMaterial3: true,
|
|
colorScheme: ColorScheme.fromSeed(
|
|
seedColor: primaryColor,
|
|
brightness: Brightness.light,
|
|
),
|
|
scaffoldBackgroundColor: backgroundColor,
|
|
appBarTheme: const AppBarTheme(
|
|
elevation: 0,
|
|
centerTitle: true,
|
|
backgroundColor: primaryColor,
|
|
foregroundColor: Colors.white,
|
|
),
|
|
cardTheme: CardThemeData(
|
|
elevation: 2,
|
|
shape: RoundedRectangleBorder(
|
|
borderRadius: BorderRadius.circular(12),
|
|
),
|
|
),
|
|
elevatedButtonTheme: ElevatedButtonThemeData(
|
|
style: ElevatedButton.styleFrom(
|
|
padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12),
|
|
shape: RoundedRectangleBorder(
|
|
borderRadius: BorderRadius.circular(8),
|
|
),
|
|
),
|
|
),
|
|
floatingActionButtonTheme: const FloatingActionButtonThemeData(
|
|
backgroundColor: primaryColor,
|
|
foregroundColor: Colors.white,
|
|
),
|
|
);
|
|
}
|
|
|
|
static ThemeData get darkTheme {
|
|
return ThemeData(
|
|
useMaterial3: true,
|
|
colorScheme: ColorScheme.fromSeed(
|
|
seedColor: primaryColor,
|
|
brightness: Brightness.dark,
|
|
),
|
|
appBarTheme: const AppBarTheme(
|
|
elevation: 0,
|
|
centerTitle: true,
|
|
),
|
|
cardTheme: CardThemeData(
|
|
elevation: 2,
|
|
shape: RoundedRectangleBorder(
|
|
borderRadius: BorderRadius.circular(12),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|