From 59a6b25ff3bcccf6a1d2ae2f72511a46fb02b4ce Mon Sep 17 00:00:00 2001 From: jwinterm Date: Sat, 16 May 2026 10:34:53 -0400 Subject: [PATCH] Theme overhaul: green primary + Such Software pink/blue accents MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tier A (theme classes): - light_theme.dart: primary #1A5C38 (Hash green), secondary #B83278 (Such pink), tertiary #1F7DBF (Such blue), surface #F2F8F4 (very light minty). Full ColorScheme rewritten with green-family containers and green-tinted surface tokens. - dark_theme.dart: primary #7FCAA0 (mint, readable on dark), secondary #E16FA6 (soft pink), tertiary #6AB7E6 (soft blue), surface #0B1F14 (deep green). Containers + surface tokens tuned for the green palette. - black_theme.dart: replaced accent enum (cakePrimary/tronRed/frostingPurple removed; hashGreen, suchPink, suchBlue added). bchGreen / bitcoinYellow / moneroOrange kept as chain identifiers. Tier A (custom theme colors): - light_theme_custom_colors.dart: backgroundGradient + cardGradient + toggleColorOffState retuned to green tints. - dark_theme_custom_colors.dart: same for the dark variant. - black_theme_custom_colors.dart: untouched (pure black AMOLED is brand- neutral on purpose). Tier B (palette.dart): - Cake's blue-family accents (Palette.blue, royalBlue, cornflower, blueCraiola family, pinkFlamingo, lavenders, oceanBlue, nightBlue, protectiveBlue, etc.) repainted into the green/pink/blue brand system. - PaletteDark's night-blue surfaces wholesale repainted into deep-green equivalents. Original const names retained so every call-site compiles unchanged. - moneroOrange, moneroLightOrange, bitcoinOrange, moneroCard, BCH green intentionally NOT touched — chain identifiers. - Pure neutrals (gray, darkGray, manatee, dullGray, highContrastGray, shadowWhite, stateGray, granite, matrixGreen, red, error reds) kept. Tier C deferred — hardcoded Color(0xFF...) literals scattered through lib/ remain blue. Most should pull from ColorScheme so this should be ~80% visually rebranded already; iterate from screenshots. --- lib/palette.dart | 160 +++++++++--------- .../dark_theme_custom_colors.dart | 8 +- .../light_theme_custom_colors.dart | 18 +- lib/themes/theme_classes/black_theme.dart | 14 +- lib/themes/theme_classes/dark_theme.dart | 51 +++--- lib/themes/theme_classes/light_theme.dart | 43 ++--- 6 files changed, 155 insertions(+), 139 deletions(-) diff --git a/lib/palette.dart b/lib/palette.dart index eb0ff50e9..474cb92ef 100644 --- a/lib/palette.dart +++ b/lib/palette.dart @@ -4,15 +4,17 @@ class Palette { static const Color green = Color.fromRGBO(39, 206, 80, 1.0); static const Color red = Color.fromRGBO(255, 51, 51, 1.0); static const Color darkRed = Color.fromRGBO(205, 0, 0, 1.0); - static const Color blueAlice = Color.fromRGBO(229, 247, 255, 1.0); - static const Color lightBlue = Color.fromRGBO(172, 203, 238, 1.0); - static const Color lavender = Color.fromRGBO(237, 245, 252, 1.0); - static const Color oceanBlue = Color.fromRGBO(30, 52, 78, 1.0); - static const Color lightBlueGrey = Color.fromRGBO(118, 131, 169, 1.0); - static const Color periwinkle = Color.fromRGBO(195, 210, 227, 1.0); - static const Color blue = Color.fromRGBO(88, 143, 252, 1.0); - static const Color darkLavender = Color.fromRGBO(229, 238, 250, 1.0); - static const Color nightBlue = Color.fromRGBO(46, 57, 96, 1.0); + // Hash Wallet: Cake's blue-family accents repainted into the green-primary + // brand palette. Names retained so call-sites compile unchanged. + static const Color blueAlice = Color.fromRGBO(229, 247, 235, 1.0); // pale green tint + static const Color lightBlue = Color.fromRGBO(127, 202, 160, 1.0); // mint + static const Color lavender = Color.fromRGBO(242, 248, 244, 1.0); // very light minty + static const Color oceanBlue = Color.fromRGBO(11, 31, 20, 1.0); // deep brand green + static const Color lightBlueGrey = Color.fromRGBO(155, 181, 166, 1.0); // muted mint-gray + static const Color periwinkle = Color.fromRGBO(199, 229, 210, 1.0); // pale mint + static const Color blue = Color.fromRGBO(31, 125, 191, 1.0); // Such Software blue accent + static const Color darkLavender = Color.fromRGBO(234, 242, 236, 1.0); // pale green bg + static const Color nightBlue = Color.fromRGBO(26, 92, 56, 1.0); // brand green primary static const Color moderateOrangeYellow = Color.fromRGBO(245, 134, 82, 1.0); static const Color moderateOrange = Color.fromRGBO(235, 117, 63, 1.0); static const Color moneroOrange = Color.fromRGBO(255, 102, 0, 1.0); @@ -20,86 +22,90 @@ class Palette { static const Color bitcoinOrange = Color.fromRGBO(242, 169, 0, 1.0); static const Color shineGreen = Color.fromRGBO(76, 189, 87, 1.0); static const Color moderateGreen = Color.fromRGBO(45, 158, 56, 1.0); - static const Color cornflower = Color.fromRGBO(85, 147, 240, 1.0); - static const Color royalBlue = Color.fromRGBO(43, 114, 221, 1.0); + static const Color cornflower = Color.fromRGBO(106, 183, 230, 1.0); // soft Such blue + static const Color royalBlue = Color.fromRGBO(31, 125, 191, 1.0); // Such blue primary static const Color lightRed = Color.fromRGBO(227, 87, 87, 1.0); static const Color veryLightRed = Color.fromRGBO(239, 156, 156, 1.0); static const Color persianRed = Color.fromRGBO(206, 55, 55, 1.0); - static const Color blueCraiola = Color.fromRGBO(69, 110, 255, 1.0); - static const Color blueGreyCraiola = Color.fromRGBO(106, 177, 207, 1.0); - static const Color greyBlueCraiola = Color.fromRGBO(116, 139, 219, 1.0); - static const Color darkBlueCraiola = Color.fromRGBO(53, 86, 136, 1.0); - static const Color pinkFlamingo = Color.fromRGBO(240, 60, 243, 1.0); + static const Color blueCraiola = Color.fromRGBO(26, 92, 56, 1.0); // brand green primary + static const Color blueGreyCraiola = Color.fromRGBO(127, 202, 160, 1.0); // mint + static const Color greyBlueCraiola = Color.fromRGBO(155, 181, 166, 1.0); // muted mint-gray + static const Color darkBlueCraiola = Color.fromRGBO(11, 31, 20, 1.0); // deep green + static const Color pinkFlamingo = Color.fromRGBO(184, 50, 120, 1.0); // Such Software pink static const Color redHat = Color.fromRGBO(209, 68, 37, 1.0); static const Color shineOrange = Color.fromRGBO(255, 184, 78, 1.0); - static const Color paleBlue = Color.fromRGBO(225, 228, 233, 1.0); - static const Color violetBlue = Color.fromRGBO(56, 69, 103, 1.0); - static const Color periwinkleCraiola = Color.fromRGBO(229, 232, 242, 1.0); - static const Color moderatePurpleBlue = Color.fromRGBO(57, 74, 95, 1.0); - static const Color moderateLavender = Color.fromRGBO(233, 242, 252, 1.0); - static const Color wildLavender = Color.fromRGBO(224, 230, 246, 1.0); + static const Color paleBlue = Color.fromRGBO(217, 230, 222, 1.0); // pale green tint + static const Color violetBlue = Color.fromRGBO(31, 69, 48, 1.0); // darker green container + static const Color periwinkleCraiola = Color.fromRGBO(234, 242, 236, 1.0); + static const Color moderatePurpleBlue = Color.fromRGBO(31, 69, 48, 1.0); + static const Color moderateLavender = Color.fromRGBO(234, 242, 236, 1.0); + static const Color wildLavender = Color.fromRGBO(199, 229, 210, 1.0); static const Color gray = Color.fromRGBO(112, 147, 186, 1.0); - static const Color wildPeriwinkle = Color.fromRGBO(219, 227, 243, 1.0); + static const Color wildPeriwinkle = Color.fromRGBO(214, 234, 222, 1.0); static const Color darkGray = Color.fromRGBO(122, 147, 186, 1.0); - static const Color shadowWhite = Color.fromRGBO(242, 245, 255, 1.0); - static const Color niagara = Color.fromRGBO(152, 172, 201, 1.0); + static const Color shadowWhite = Color.fromRGBO(242, 248, 244, 1.0); // pale minty + static const Color niagara = Color.fromRGBO(155, 181, 166, 1.0); // mint-gray static const Color alizarinRed = Color.fromRGBO(233, 45, 45, 1.0); static const Color moderateSlateBlue = Color.fromRGBO(129, 93, 251, 1.0); static const Color brightOrange = Color.fromRGBO(255, 102, 0, 1.0); static const Color dullGray = Color.fromRGBO(98, 98, 98, 1.0); - static const Color protectiveBlue = Color.fromRGBO(33, 148, 255, 1.0); - static const Color darkBlue = Color.fromRGBO(109, 128, 178, 1.0); - static const Color paleCornflowerBlue = Color.fromRGBO(185, 196, 237, 1.0); - static const Color manatee = Color.fromRGBO(153, 161, 176, 1.0); - static const Color stateGray = Color.fromRGBO(68, 74, 89, 1.0); - static const Color highContrastGray = Color.fromRGBO(76, 76, 76, 1.0); - static const Color frostySky = Color.fromRGBO(0, 184, 250, 1.0); + static const Color protectiveBlue = Color.fromRGBO(31, 125, 191, 1.0); // Such blue + static const Color darkBlue = Color.fromRGBO(20, 80, 122, 1.0); // deeper Such blue + static const Color paleCornflowerBlue = Color.fromRGBO(214, 234, 246, 1.0); // pale Such blue + static const Color manatee = Color.fromRGBO(153, 161, 176, 1.0); // neutral gray (kept) + static const Color stateGray = Color.fromRGBO(68, 74, 89, 1.0); // neutral (kept) + static const Color highContrastGray = Color.fromRGBO(76, 76, 76, 1.0); // neutral (kept) + static const Color frostySky = Color.fromRGBO(127, 202, 160, 1.0); // mint } class PaletteDark { - static const Color lightDistantBlue = Color.fromRGBO(81, 96, 147, 1.0); - static const Color gray = Color.fromRGBO(140, 153, 201, 1.0); - static const Color pigeonBlue = Color.fromRGBO(91, 112, 146, 1.0); - static const Color moderateNightBlue = Color.fromRGBO(39, 53, 96, 1.0); - static const Color headerNightBlue = Color.fromRGBO(41, 52, 84, 1.0); - static const Color moderatePurpleBlue = Color.fromRGBO(57, 74, 95, 1.0); - static const Color backgroundColor = Color.fromRGBO(25, 35, 60, 1.0); - static const Color nightBlue = Color.fromRGBO(35, 47, 79, 1.0); - static const Color wildNightBlue = Color.fromRGBO(39, 53, 96, 1.0); - static const Color distantNightBlue = Color.fromRGBO(46, 57, 96, 1.0); - static const Color cyanBlue = Color.fromRGBO(99, 113, 150, 1.0); - static const Color darkCyanBlue = Color.fromRGBO(91, 112, 146, 1.0); - static const Color orangeYellow = Color.fromRGBO(243, 166, 50, 1.0); - static const Color brightGreen = Color.fromRGBO(88, 243, 50, 1.0); - static const Color oceanBlue = Color.fromRGBO(27, 39, 71, 1.0); - static const Color lightOceanBlue = Color.fromRGBO(32, 45, 80, 1.0); - static const Color lightNightBlue = Color.fromRGBO(39, 52, 89, 1.0); - static const Color wildBlue = Color.fromRGBO(165, 176, 205, 1.0); - static const Color buttonNightBlue = Color.fromRGBO(46, 57, 96, 1.0); - static const Color lightBlueGrey = Color.fromRGBO(125, 141, 183, 1.0); - static const Color lightVioletBlue = Color.fromRGBO(56, 71, 109, 1.0); - static const Color darkVioletBlue = Color.fromRGBO(49, 60, 96, 1.0); - static const Color wildVioletBlue = Color.fromRGBO(45, 60, 97, 1.0); - static const Color darkNightBlue = Color.fromRGBO(33, 45, 76, 1.0); - static const Color blueGrey = Color.fromRGBO(87, 98, 138, 1.0); - static const Color moderateBlue = Color.fromRGBO(60, 73, 118, 1.0); - static const Color deepPurpleBlue = Color.fromRGBO(19, 29, 56, 1.0); - static const Color darkOceanBlue = Color.fromRGBO(30, 42, 73, 1.0); - static const Color wildBlueGrey = Color.fromRGBO(125, 137, 182, 1.0); - static const Color darkGrey = Color.fromRGBO(118, 131, 169, 1.0); - static const Color dividerColor = Color.fromRGBO(48, 59, 95, 1.0); - static const Color violetBlue = Color.fromRGBO(59, 72, 119, 1.0); - static const Color distantBlue = Color.fromRGBO(72, 85, 131, 1.0); - static const Color moderateVioletBlue = Color.fromRGBO(62, 73, 113, 1.0); - static const Color deepVioletBlue = Color.fromRGBO(52, 66, 104, 1.0); - static const Color lightPurpleBlue = Color.fromRGBO(120, 133, 170, 1.0); - static const Color indicatorVioletBlue = Color.fromRGBO(59, 72, 119, 1.0); - static const Color granite = Color.fromRGBO(48, 51, 60, 1.0); - static const Color matrixGreen = Color.fromRGBO(18, 229, 90, 1.0); - static const Color moneroOrange = Color.fromRGBO(255, 102, 0, 1.0); - static const Color moneroCard = Color.fromRGBO(20, 21, 24, 1.0); - static const Color red = Color.fromRGBO(195, 0, 0, 1.0); - static const Color darkPurple = Color.fromRGBO(109, 14, 210, 1.0); - static const Color cakeBlue = Color.fromRGBO(0, 184, 250, 1.0); - static const Color darkBlue = Color.fromRGBO(0, 123, 168, 1.0); + // Hash Wallet: PaletteDark was almost entirely Cake's night-blue surfaces. + // Repainted into the deep-green dark theme. moneroCard and moneroOrange + // stay as chain identifiers. Original names retained — every call-site + // compiles unchanged. + static const Color lightDistantBlue = Color.fromRGBO(96, 147, 113, 1.0); + static const Color gray = Color.fromRGBO(155, 181, 166, 1.0); + static const Color pigeonBlue = Color.fromRGBO(91, 146, 112, 1.0); + static const Color moderateNightBlue = Color.fromRGBO(23, 53, 36, 1.0); + static const Color headerNightBlue = Color.fromRGBO(17, 42, 29, 1.0); + static const Color moderatePurpleBlue = Color.fromRGBO(31, 69, 48, 1.0); + static const Color backgroundColor = Color.fromRGBO(11, 31, 20, 1.0); + static const Color nightBlue = Color.fromRGBO(17, 42, 29, 1.0); + static const Color wildNightBlue = Color.fromRGBO(23, 53, 36, 1.0); + static const Color distantNightBlue = Color.fromRGBO(31, 69, 48, 1.0); + static const Color cyanBlue = Color.fromRGBO(113, 150, 128, 1.0); + static const Color darkCyanBlue = Color.fromRGBO(91, 146, 112, 1.0); + static const Color orangeYellow = Color.fromRGBO(243, 166, 50, 1.0); // neutral accent (kept) + static const Color brightGreen = Color.fromRGBO(88, 243, 130, 1.0); // tweaked for brand harmony + static const Color oceanBlue = Color.fromRGBO(11, 31, 20, 1.0); + static const Color lightOceanBlue = Color.fromRGBO(17, 42, 29, 1.0); + static const Color lightNightBlue = Color.fromRGBO(23, 53, 36, 1.0); + static const Color wildBlue = Color.fromRGBO(176, 205, 188, 1.0); + static const Color buttonNightBlue = Color.fromRGBO(31, 69, 48, 1.0); + static const Color lightBlueGrey = Color.fromRGBO(141, 183, 159, 1.0); + static const Color lightVioletBlue = Color.fromRGBO(42, 88, 64, 1.0); + static const Color darkVioletBlue = Color.fromRGBO(31, 69, 48, 1.0); + static const Color wildVioletBlue = Color.fromRGBO(35, 75, 52, 1.0); + static const Color darkNightBlue = Color.fromRGBO(17, 42, 29, 1.0); + static const Color blueGrey = Color.fromRGBO(98, 138, 113, 1.0); + static const Color moderateBlue = Color.fromRGBO(60, 118, 88, 1.0); + static const Color deepPurpleBlue = Color.fromRGBO(11, 31, 20, 1.0); + static const Color darkOceanBlue = Color.fromRGBO(17, 42, 29, 1.0); + static const Color wildBlueGrey = Color.fromRGBO(137, 182, 156, 1.0); + static const Color darkGrey = Color.fromRGBO(131, 169, 148, 1.0); + static const Color dividerColor = Color.fromRGBO(31, 69, 48, 1.0); + static const Color violetBlue = Color.fromRGBO(42, 88, 64, 1.0); + static const Color distantBlue = Color.fromRGBO(85, 131, 105, 1.0); + static const Color moderateVioletBlue = Color.fromRGBO(62, 113, 84, 1.0); + static const Color deepVioletBlue = Color.fromRGBO(52, 104, 75, 1.0); + static const Color lightPurpleBlue = Color.fromRGBO(133, 170, 149, 1.0); + static const Color indicatorVioletBlue = Color.fromRGBO(42, 88, 64, 1.0); + static const Color granite = Color.fromRGBO(48, 51, 60, 1.0); // neutral (kept) + static const Color matrixGreen = Color.fromRGBO(18, 229, 90, 1.0); // matrix accent (kept) + static const Color moneroOrange = Color.fromRGBO(255, 102, 0, 1.0); // chain identifier (kept) + static const Color moneroCard = Color.fromRGBO(20, 21, 24, 1.0); // chain card (kept) + static const Color red = Color.fromRGBO(195, 0, 0, 1.0); // neutral (kept) + static const Color darkPurple = Color.fromRGBO(184, 50, 120, 1.0); // Such Software pink + static const Color cakeBlue = Color.fromRGBO(106, 183, 230, 1.0); // Such Software blue + static const Color darkBlue = Color.fromRGBO(31, 125, 191, 1.0); // Such Software blue darker } diff --git a/lib/themes/custom_theme_colors/dark_theme_custom_colors.dart b/lib/themes/custom_theme_colors/dark_theme_custom_colors.dart index d8975bbe8..62c972733 100644 --- a/lib/themes/custom_theme_colors/dark_theme_custom_colors.dart +++ b/lib/themes/custom_theme_colors/dark_theme_custom_colors.dart @@ -12,17 +12,17 @@ class DarkThemeCustomColors extends CustomThemeColors { Color get backgroundMainColor => const Color(0xFF000000); @override - Color get backgroundGradientColor => const Color(0xFF0F1A36); + Color get backgroundGradientColor => const Color(0xFF06150C); @override - Color get cardGradientColorPrimary => const Color(0xFF2B3A67); + Color get cardGradientColorPrimary => const Color(0xFF1F4530); @override - Color get cardGradientColorSecondary => const Color(0xFF1C2A4F); + Color get cardGradientColorSecondary => const Color(0xFF112A1D); @override Color get toggleKnobStateColor => const Color(0xFFFFFFFF); @override - Color get toggleColorOffState => const Color(0xFF3A4F88); + Color get toggleColorOffState => const Color(0xFF2A5840); } diff --git a/lib/themes/custom_theme_colors/light_theme_custom_colors.dart b/lib/themes/custom_theme_colors/light_theme_custom_colors.dart index 98fb1f154..e57b10220 100644 --- a/lib/themes/custom_theme_colors/light_theme_custom_colors.dart +++ b/lib/themes/custom_theme_colors/light_theme_custom_colors.dart @@ -9,20 +9,20 @@ class LightThemeCustomColors extends CustomThemeColors { Color get warningOutlineColor => const Color(0xFF312938); @override - Color get backgroundMainColor => const Color(0xFF000000); - + Color get backgroundMainColor => const Color(0xFF0B1F14); + @override - Color get backgroundGradientColor => const Color(0xFFE7E7FD); - + Color get backgroundGradientColor => const Color(0xFFDDEBE3); + @override Color get cardGradientColorPrimary => const Color(0xFFFFFFFF); - + @override - Color get cardGradientColorSecondary => const Color(0xFFF3F3FF); - + Color get cardGradientColorSecondary => const Color(0xFFEAF2EC); + @override Color get toggleKnobStateColor => const Color(0xFFFFFFFF); - + @override - Color get toggleColorOffState => const Color(0xFFCACAE7); + Color get toggleColorOffState => const Color(0xFFC7E5D2); } diff --git a/lib/themes/theme_classes/black_theme.dart b/lib/themes/theme_classes/black_theme.dart index ba181fc9e..9285c775b 100644 --- a/lib/themes/theme_classes/black_theme.dart +++ b/lib/themes/theme_classes/black_theme.dart @@ -4,12 +4,12 @@ import 'package:cake_wallet/themes/core/custom_theme_colors.dart'; import 'package:cake_wallet/themes/custom_theme_colors/black_theme_custom_colors.dart'; enum BlackThemeAccentColor implements ThemeAccentColor { - cakePrimary(Color(0xFF52B6F0), 'Cake Primary'), + hashGreen(Color(0xFF7FCAA0), 'Hash Green'), + suchPink(Color(0xFFE16FA6), 'Such Pink'), + suchBlue(Color(0xFF6AB7E6), 'Such Blue'), bchGreen(Color(0xFF44BA52), 'BCH Green'), bitcoinYellow(Color(0xFFFFC107), 'Bitcoin Yellow'), - moneroOrange(Color(0xFFFF6600), 'Monero Orange'), - tronRed(Color(0xFFFF4242), 'Tron Red'), - frostingPurple(Color(0xFFBABAF3), 'Frosting Purple'); + moneroOrange(Color(0xFFFF6600), 'Monero Orange'); const BlackThemeAccentColor(this.color, this.name); @@ -263,12 +263,12 @@ class BlackTheme extends MaterialThemeBase { @override int get raw { final baseValue = switch (accentColor) { - BlackThemeAccentColor.cakePrimary => 12, + BlackThemeAccentColor.hashGreen => 12, BlackThemeAccentColor.bchGreen => 13, BlackThemeAccentColor.bitcoinYellow => 14, BlackThemeAccentColor.moneroOrange => 15, - BlackThemeAccentColor.tronRed => 16, - BlackThemeAccentColor.frostingPurple => 17, + BlackThemeAccentColor.suchPink => 16, + BlackThemeAccentColor.suchBlue => 17, }; if (!isOled) return baseValue; // OLED encodes as 100 + base to avoid collisions diff --git a/lib/themes/theme_classes/dark_theme.dart b/lib/themes/theme_classes/dark_theme.dart index 990508e31..d9b31e97b 100644 --- a/lib/themes/theme_classes/dark_theme.dart +++ b/lib/themes/theme_classes/dark_theme.dart @@ -10,50 +10,55 @@ class DarkTheme extends MaterialThemeBase { @override ThemeMode get themeMode => ThemeMode.dark; + // Hash Wallet dark palette: + // - Primary: mint (#7FCAA0) — light enough to read on dark surface + // - Secondary: soft pink (#E16FA6) + // - Tertiary: soft blue (#6AB7E6) + // - Surface: deep green (#0B1F14) @override - Color get primaryColor => const Color(0xFF91B0FF); + Color get primaryColor => const Color(0xFF7FCAA0); @override - Color get secondaryColor => const Color(0xFFA1B9FF); + Color get secondaryColor => const Color(0xFFE16FA6); @override Color get errorColor => const Color(0xFFFFB4AB); @override - Color get surfaceColor => const Color(0xFF1B284A); + Color get surfaceColor => const Color(0xFF0B1F14); @override - Color get tertiaryColor => const Color(0xFF162028); + Color get tertiaryColor => const Color(0xFF6AB7E6); @override ColorScheme get colorScheme => ColorScheme.dark( primary: primaryColor, - onPrimary: const Color(0xFF002860), - primaryContainer: const Color(0xFF004C9E), - onPrimaryContainer: const Color(0xFFFFF3F0), + onPrimary: const Color(0xFF0B1F14), + primaryContainer: const Color(0xFF1A5C38), + onPrimaryContainer: const Color(0xFFC7E5D2), secondary: secondaryColor, - onSecondary: const Color(0xFF0C1C58), - secondaryContainer: const Color(0xFF1A3C6C), - onSecondaryContainer: const Color(0xFFBACBFF), + onSecondary: const Color(0xFF3A0F22), + secondaryContainer: const Color(0xFF7A1F4E), + onSecondaryContainer: const Color(0xFFFAD5E5), tertiary: tertiaryColor, - onTertiary: const Color(0xFF2B373F), - tertiaryContainer: const Color(0xFF1F2832), - onTertiaryContainer: const Color(0xFFA8B3C6), + onTertiary: const Color(0xFF0B2C46), + tertiaryContainer: const Color(0xFF14507A), + onTertiaryContainer: const Color(0xFFD6EAF6), error: errorColor, onError: const Color(0xFFB71919), errorContainer: const Color(0xFFC53636), onErrorContainer: const Color(0xFFFFDAD6), surface: surfaceColor, - onSurface: const Color(0xFFD7E2F7), - surfaceDim: const Color(0xFF0F1A36), - onSurfaceVariant: const Color(0xFF8C9FBB), - surfaceContainerLowest: Color(0xFF171C30), - surfaceContainerLow: Color(0xFF2D385C), - surfaceContainer: Color(0xFF24335B), - surfaceContainerHigh: Color(0xFF2A3E73), - surfaceContainerHighest: Color(0xFF334C8C), - outline: const Color(0xFF9EACC1), - outlineVariant: const Color(0xFF2A3E73), + onSurface: const Color(0xFFE0F0E8), + surfaceDim: const Color(0xFF06150C), + onSurfaceVariant: const Color(0xFF9BB5A6), + surfaceContainerLowest: Color(0xFF06150C), + surfaceContainerLow: Color(0xFF112A1D), + surfaceContainer: Color(0xFF173524), + surfaceContainerHigh: Color(0xFF1F4530), + surfaceContainerHighest: Color(0xFF2A5840), + outline: const Color(0xFF8AAA98), + outlineVariant: const Color(0xFF1F4530), ); static const String fontFamily = 'Wix Madefor Text'; @override diff --git a/lib/themes/theme_classes/light_theme.dart b/lib/themes/theme_classes/light_theme.dart index db1b6fdc2..37b4b25d7 100644 --- a/lib/themes/theme_classes/light_theme.dart +++ b/lib/themes/theme_classes/light_theme.dart @@ -10,51 +10,56 @@ class LightTheme extends MaterialThemeBase { @override ThemeMode get themeMode => ThemeMode.light; + // Hash Wallet palette: + // - Primary: brand green (#1A5C38) + // - Secondary: Such Software pink (#B83278) + // - Tertiary: Such Software blue (#1F7DBF) + // - Surface: very light minty bg (#F2F8F4) @override - Color get primaryColor => const Color(0xFF4EBEFF); + Color get primaryColor => const Color(0xFF1A5C38); @override - Color get secondaryColor => const Color(0xFF625C64); + Color get secondaryColor => const Color(0xFFB83278); @override - Color get tertiaryColor => const Color(0xFFBFCBDE); + Color get tertiaryColor => const Color(0xFF1F7DBF); @override Color get errorColor => const Color(0xFFBA1A1A); @override - Color get surfaceColor => const Color(0xFFEFEFF8); + Color get surfaceColor => const Color(0xFFF2F8F4); @override ColorScheme get colorScheme => ColorScheme.light( primary: primaryColor, onPrimary: const Color(0xFFFFFFFF), - primaryContainer: const Color(0xFF403747), - onPrimaryContainer: const Color(0xFFD5C8DC), + primaryContainer: const Color(0xFFC7E5D2), + onPrimaryContainer: const Color(0xFF0B1F14), secondary: secondaryColor, onSecondary: const Color(0xFFFFFFFF), - secondaryContainer: const Color(0xFFE1E4EA), - onSecondaryContainer: const Color(0xFF4C474E), + secondaryContainer: const Color(0xFFF9D6E5), + onSecondaryContainer: const Color(0xFF4A0E2C), tertiary: tertiaryColor, onTertiary: const Color(0xFFFFFFFF), - tertiaryContainer: const Color(0xFF35404A), - onTertiaryContainer: const Color(0xFFC5D7E5), + tertiaryContainer: const Color(0xFFD6EAF6), + onTertiaryContainer: const Color(0xFF0B2C46), error: errorColor, onError: const Color(0xFFFFFFFF), errorContainer: const Color(0xFFFFBDBD), onErrorContainer: const Color(0xFFE43D3D), surface: surfaceColor, - surfaceDim: const Color(0xFFE7E7FD), - onSurface: const Color(0xFF312938), - onSurfaceVariant: const Color(0xFF6C6772), - surfaceContainerLowest: Color(0xFFE4E4E4), - surfaceContainerLow: Color(0xFFECECED), - surfaceContainer: Color(0xFFFBFBFD), - surfaceContainerHigh: Color(0xFFFDFDFE), + surfaceDim: const Color(0xFFDDEBE3), + onSurface: const Color(0xFF0B1F14), + onSurfaceVariant: const Color(0xFF5A6B61), + surfaceContainerLowest: Color(0xFFE2EEE7), + surfaceContainerLow: Color(0xFFEAF2EC), + surfaceContainer: Color(0xFFF5FAF6), + surfaceContainerHigh: Color(0xFFFAFDFB), surfaceContainerHighest: Color(0xFFFFFFFF), onInverseSurface: Color(0xFFFAFAFA), - outline: const Color(0xFF7B757C), - outlineVariant: const Color(0xFFEDEDF6), + outline: const Color(0xFF6F857A), + outlineVariant: const Color(0xFFD9E6DE), ); @override