mirror of https://github.com/CympleTech/ESSE.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
3.4 KiB
93 lines
3.4 KiB
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), |
|
); |
|
}
|
|
|