Files
hash-wallet/lib/themes/theme_classes/light_theme.dart
T
cyanandGitHub e4726c2242 fix: initial 16KB pages support (#2523)
* fix: initial 16KB pages support

all .so dependencies other than reown walletkit (`libuniffi_yttrium.so`) which is a prebuild are 16KB now

* chore: update flutter to 3.29.3

* build: 16KB align go builds
ci: update action to check for 16KB align
[skip ci]

* chore: bump flutter to 3.32.0

* fix: replace prebuilds with built versions for 16KB alignment
fix: walletkit secure storage fix
2025-09-23 11:30:10 +03:00

232 lines
7.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:cake_wallet/themes/core/material_base_theme.dart';
class LightTheme extends MaterialThemeBase {
@override
Brightness get brightness => Brightness.light;
@override
ThemeMode get themeMode => ThemeMode.light;
@override
Color get primaryColor => const Color(0xFF4EBEFF);
@override
Color get secondaryColor => const Color(0xFF625C64);
@override
Color get tertiaryColor => const Color(0xFFBFCBDE);
@override
Color get errorColor => const Color(0xFFBA1A1A);
@override
Color get surfaceColor => const Color(0xFFEFEFF8);
@override
ColorScheme get colorScheme => ColorScheme.light(
primary: primaryColor,
onPrimary: const Color(0xFFFFFFFF),
primaryContainer: const Color(0xFF403747),
onPrimaryContainer: const Color(0xFFD5C8DC),
secondary: secondaryColor,
onSecondary: const Color(0xFFFFFFFF),
secondaryContainer: const Color(0xFFE1E4EA),
onSecondaryContainer: const Color(0xFF4C474E),
tertiary: tertiaryColor,
onTertiary: const Color(0xFFFFFFFF),
tertiaryContainer: const Color(0xFF35404A),
onTertiaryContainer: const Color(0xFFC5D7E5),
error: errorColor,
onError: const Color(0xFFFFFFFF),
errorContainer: const Color(0xFFFFBDBD),
onErrorContainer: const Color(0xFFE43D3D),
surface: surfaceColor,
onSurface: const Color(0xFF312938),
onSurfaceVariant: const Color(0xFF6C6772),
surfaceContainerLowest: Color(0xFFE4E4E4),
surfaceContainerLow: Color(0xFFECECED),
surfaceContainer: Color(0xFFFBFBFD),
surfaceContainerHigh: Color(0xFFFDFDFE),
surfaceContainerHighest: Color(0xFFFFFFFF),
outline: const Color(0xFF7B757C),
outlineVariant: const Color(0xFFCBC4CB),
);
@override
TextTheme get textTheme => TextTheme(
displayLarge: TextStyle(
fontSize: 57,
fontWeight: FontWeight.w400,
letterSpacing: -0.25,
color: colorScheme.onSurface,
),
displayMedium: TextStyle(
fontSize: 45,
fontWeight: FontWeight.w400,
letterSpacing: 0,
color: colorScheme.onSurface,
),
displaySmall: TextStyle(
fontSize: 36,
fontWeight: FontWeight.w400,
letterSpacing: 0,
color: colorScheme.onSurface,
),
headlineLarge: TextStyle(
fontSize: 32,
fontWeight: FontWeight.w400,
letterSpacing: 0,
color: colorScheme.onSurface,
),
headlineMedium: TextStyle(
fontSize: 28,
fontWeight: FontWeight.w400,
letterSpacing: 0,
color: colorScheme.onSurface,
),
headlineSmall: TextStyle(
fontSize: 24,
fontWeight: FontWeight.w400,
letterSpacing: 0,
color: colorScheme.onSurface,
),
titleLarge: TextStyle(
fontSize: 22,
fontWeight: FontWeight.w400,
letterSpacing: 0,
color: colorScheme.onSurface,
),
titleMedium: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w500,
letterSpacing: 0.15,
color: colorScheme.onSurface,
),
titleSmall: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w500,
letterSpacing: 0.1,
color: colorScheme.onSurface,
),
bodyLarge: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w400,
letterSpacing: 0.5,
color: colorScheme.onSurface,
),
bodyMedium: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w400,
letterSpacing: 0.25,
color: colorScheme.onSurface,
),
bodySmall: TextStyle(
fontSize: 12,
fontWeight: FontWeight.w400,
letterSpacing: 0.4,
color: colorScheme.onSurface,
),
labelLarge: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w500,
letterSpacing: 0.1,
color: colorScheme.onSurface,
),
labelMedium: TextStyle(
fontSize: 12,
fontWeight: FontWeight.w500,
letterSpacing: 0.5,
color: colorScheme.onSurface,
),
labelSmall: TextStyle(
fontSize: 11,
fontWeight: FontWeight.w500,
letterSpacing: 0.5,
color: colorScheme.onSurface,
),
);
static const String fontFamily = 'Lato';
@override
ThemeData get themeData => ThemeData(
useMaterial3: true,
brightness: brightness,
colorScheme: colorScheme,
fontFamily: fontFamily,
textTheme: textTheme,
appBarTheme: AppBarTheme(
backgroundColor: colorScheme.surface,
foregroundColor: colorScheme.onSurface,
elevation: 0,
),
cardTheme: CardThemeData(
color: colorScheme.surface,
elevation: 1,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
),
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
backgroundColor: colorScheme.primary,
foregroundColor: colorScheme.onPrimary,
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
),
),
outlinedButtonTheme: OutlinedButtonThemeData(
style: OutlinedButton.styleFrom(
foregroundColor: colorScheme.primary,
side: BorderSide(color: colorScheme.outline),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
),
),
textButtonTheme: TextButtonThemeData(
style: TextButton.styleFrom(
foregroundColor: colorScheme.primary,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
),
),
inputDecorationTheme: InputDecorationTheme(
filled: true,
fillColor: colorScheme.surfaceContainer,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: BorderSide.none,
),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: BorderSide.none,
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: BorderSide(color: colorScheme.primary),
),
errorBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: BorderSide(color: colorScheme.error),
),
focusedErrorBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: BorderSide(color: colorScheme.error),
),
),
);
@override
String get title => 'Light Theme';
@override
ThemeType get type => ThemeType.light;
@override
int get raw => 0;
}