123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- import 'package:flutter/material.dart';
- class AppTheme {
- // Colors
- static const Color primary = Color(0xFF1A73E8); // Blue accent
- static const Color secondary = Color(0xFFF6A14C); // Orange for icons
- static const Color background = Colors.white;
- static const Color surface = Colors.white;
- static const Color textPrimary = Color(0xFF202124);
- static const Color textSecondary = Color(0xFF5F6368);
- static const Color divider = Color(0xFFE8EAED);
- static const Color progressBackground = Color(0xFFE8EAED);
- // Text Styles
- static const TextTheme textTheme = TextTheme(
- displayLarge: TextStyle(
- fontSize: 24,
- fontWeight: FontWeight.bold,
- color: textPrimary,
- ),
- titleLarge: TextStyle(
- fontSize: 18,
- fontWeight: FontWeight.w600,
- color: textPrimary,
- ),
- titleMedium: TextStyle(
- fontSize: 16,
- fontWeight: FontWeight.w500,
- color: textPrimary,
- ),
- bodyLarge: TextStyle(
- fontSize: 16,
- color: textPrimary,
- ),
- bodyMedium: TextStyle(
- fontSize: 14,
- color: textSecondary,
- ),
- );
- static ThemeData get lightTheme {
- return ThemeData(
- useMaterial3: true,
- colorScheme: const ColorScheme.light(
- primary: primary,
- secondary: secondary,
- surface: surface,
- onPrimary: Colors.white,
- onSecondary: Colors.white,
- onSurface: textPrimary,
- ),
- // Text Theme
- textTheme: textTheme,
- // AppBar Theme
- appBarTheme: const AppBarTheme(
- backgroundColor: background,
- elevation: 0,
- centerTitle: false,
- titleTextStyle: TextStyle(
- color: textPrimary,
- fontSize: 20,
- fontWeight: FontWeight.w600,
- ),
- iconTheme: IconThemeData(color: textPrimary),
- ),
- // Card Theme
- cardTheme: CardTheme(
- elevation: 0,
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12),
- side: const BorderSide(color: divider),
- ),
- color: surface,
- ),
- // Button Theme
- elevatedButtonTheme: ElevatedButtonThemeData(
- style: ElevatedButton.styleFrom(
- backgroundColor: primary,
- foregroundColor: Colors.white,
- elevation: 0,
- padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12),
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(8),
- ),
- ),
- ),
- // Progress Indicator Theme
- progressIndicatorTheme: const ProgressIndicatorThemeData(
- color: primary,
- linearTrackColor: progressBackground,
- ),
- // Divider Theme
- dividerTheme: const DividerThemeData(
- color: divider,
- space: 1,
- thickness: 1,
- ),
- // Icon Theme
- iconTheme: const IconThemeData(
- color: secondary,
- size: 24,
- ),
- );
- }
- }
|