Encrypted peer-to-peer IM for data security. Own data, own privacy. (Rust+Flutter)
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

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),
);
}