import 'package:flutter/material.dart'; class AppTheme { static const _lightFillColor = Color(0xFF1C1939); static const _darkFillColor = Colors.white; static final Color _lightFocusColor = Colors.black.withOpacity(0.12); static final Color _darkFocusColor = Colors.white.withOpacity(0.12); static ThemeData lightThemeData = themeData(lightColorScheme, _lightFocusColor); static ThemeData darkThemeData = themeData(darkColorScheme, _darkFocusColor); static ThemeData themeData(ColorScheme colorScheme, Color focusColor) { return ThemeData( colorScheme: colorScheme, // textTheme: _textTheme, // Matches manifest.json colors and background color. primaryColor: const Color(0xFF030303), appBarTheme: AppBarTheme( toolbarTextStyle: TextStyle(color: colorScheme.onPrimary), color: colorScheme.secondary, elevation: 0, iconTheme: IconThemeData(color: colorScheme.primary), ), iconTheme: IconThemeData(color: colorScheme.onPrimary), canvasColor: colorScheme.background, scaffoldBackgroundColor: colorScheme.background, dialogBackgroundColor: colorScheme.background, highlightColor: Colors.transparent, focusColor: focusColor, snackBarTheme: SnackBarThemeData( behavior: SnackBarBehavior.floating, backgroundColor: Color.alphaBlend( _lightFillColor.withOpacity(0.80), _darkFillColor, ), contentTextStyle: _textTheme.subtitle1!.apply(color: _darkFillColor), ), //fontFamily: 'Noto' ); } static const ColorScheme lightColorScheme = ColorScheme( primary: Color(0xFF6174FF), primaryVariant: Color(0xFFDFE3FF), secondary: Color(0XFFF2F2F2), secondaryVariant: Color(0xFFFAFBFB), background: Color(0xFFF6F7F8), surface: Colors.white, onBackground: Color(0x0DFFFFFF), error: _lightFillColor, onError: _lightFillColor, onPrimary: _lightFillColor, onSecondary: Color(0xFF322942), onSurface: Color(0xFF241E30), brightness: Brightness.light, ); static const ColorScheme darkColorScheme = ColorScheme( primary: Colors.white, //Color(0xFF009688), primaryVariant: Color(0xFFADB0BB), //Color(0xFF4DB6AC), secondary: Color(0xFF30273F), secondaryVariant: Color(0xFF451B6F), background: Color(0xFF241E30), surface: Color(0xFF1F1929), onBackground: Color(0x0DFFFFFF), // White with 0.05 opacity error: _darkFillColor, onError: _darkFillColor, onPrimary: _darkFillColor, onSecondary: _darkFillColor, onSurface: _darkFillColor, brightness: Brightness.dark, ); static const _regular = FontWeight.w400; static const _medium = FontWeight.w500; static const _semiBold = FontWeight.w600; static const _bold = FontWeight.w700; static final TextTheme _textTheme = TextTheme( headline4: TextStyle(fontWeight: _bold, fontSize: 20.0), caption: TextStyle(fontWeight: _semiBold, fontSize: 18.0), headline5: TextStyle(fontWeight: _medium, fontSize: 18.0), subtitle1: TextStyle(fontWeight: _medium, fontSize: 18.0), overline: TextStyle(fontWeight: _medium, fontSize: 14.0), bodyText1: TextStyle(fontWeight: _regular, fontSize: 16.0), subtitle2: TextStyle(fontWeight: _medium, fontSize: 14.0), bodyText2: TextStyle(fontWeight: _regular, fontSize: 16.0), headline6: TextStyle(fontWeight: _bold, fontSize: 16.0), button: TextStyle(fontWeight: _semiBold, fontSize: 14.0), ); }