updates themeing to align better with website harmonies
This commit is contained in:
@@ -4,34 +4,59 @@ import 'generated/theme_colors.dart';
|
||||
|
||||
class AppThemeColors {
|
||||
const AppThemeColors({
|
||||
required this.primarySeed,
|
||||
required this.secondarySeed,
|
||||
required this.headingColor,
|
||||
required this.accentColor,
|
||||
required this.scaffoldGradientStart,
|
||||
required this.scaffoldGradientEnd,
|
||||
required this.shellSurface,
|
||||
required this.shellBorder,
|
||||
required this.accent,
|
||||
required this.webViewBorder,
|
||||
required this.webViewBackground,
|
||||
required this.mutedText,
|
||||
required this.textOnDark,
|
||||
required this.textOnDarkSecondary,
|
||||
required this.controlsGradientStart,
|
||||
required this.controlsGradientEnd,
|
||||
required this.controlsShadow,
|
||||
required this.statusText,
|
||||
required this.bodyText,
|
||||
required this.cardSurface,
|
||||
required this.cardBorder,
|
||||
required this.successColor,
|
||||
required this.dangerColor,
|
||||
});
|
||||
|
||||
final Color primarySeed;
|
||||
final Color secondarySeed;
|
||||
/// Website: `primary` → headings (h1–h6)
|
||||
final Color headingColor;
|
||||
/// Website: `accent` → links & accent highlights
|
||||
final Color accentColor;
|
||||
/// Page background gradient start — website: `background` (cream)
|
||||
final Color scaffoldGradientStart;
|
||||
/// Page background gradient end — website: `light`
|
||||
final Color scaffoldGradientEnd;
|
||||
/// Top header card surface
|
||||
final Color shellSurface;
|
||||
/// Top header card border
|
||||
final Color shellBorder;
|
||||
final Color accent;
|
||||
final Color webViewBorder;
|
||||
final Color webViewBackground;
|
||||
/// Website: `medium` → muted / secondary text
|
||||
final Color mutedText;
|
||||
/// Website: `white` → text on dark surfaces
|
||||
final Color textOnDark;
|
||||
/// Website: `light` → secondary text on dark surfaces
|
||||
final Color textOnDarkSecondary;
|
||||
/// Controls bar / card surface gradient start — website: `primary_dark`
|
||||
final Color controlsGradientStart;
|
||||
/// Controls bar / card surface gradient end — website: `primary_dark`
|
||||
final Color controlsGradientEnd;
|
||||
/// Shadow color for elevated surfaces
|
||||
final Color controlsShadow;
|
||||
final Color statusText;
|
||||
/// Website: `text` → body text
|
||||
final Color bodyText;
|
||||
/// Inner card background overlay — derived from `primary_dark` / `primary_light`
|
||||
final Color cardSurface;
|
||||
/// Inner card border — derived from `primary_dark` / `primary_light`
|
||||
final Color cardBorder;
|
||||
/// Website: `success` → live indicator, success states
|
||||
final Color successColor;
|
||||
/// Website: `danger` → error states
|
||||
final Color dangerColor;
|
||||
}
|
||||
|
||||
class AppThemeBusinessObject {
|
||||
@@ -47,17 +72,17 @@ class AppThemeBusinessObject {
|
||||
}
|
||||
|
||||
static ThemeData lightTheme() {
|
||||
final ColorScheme scheme =
|
||||
ColorScheme.fromSeed(
|
||||
seedColor: lightColors.primarySeed,
|
||||
brightness: Brightness.light,
|
||||
).copyWith(
|
||||
primary: lightColors.primarySeed,
|
||||
secondary: lightColors.secondarySeed,
|
||||
tertiary: const Color(0xFF2C85E1),
|
||||
surface: const Color(0xFFFFFBF7),
|
||||
onSurface: lightColors.statusText,
|
||||
);
|
||||
final ColorScheme scheme = ColorScheme.light(
|
||||
brightness: Brightness.light,
|
||||
primary: lightColors.headingColor,
|
||||
onPrimary: lightColors.textOnDark,
|
||||
secondary: lightColors.accentColor,
|
||||
onSecondary: lightColors.textOnDark,
|
||||
surface: lightColors.shellSurface,
|
||||
onSurface: lightColors.bodyText,
|
||||
error: lightColors.dangerColor,
|
||||
onError: lightColors.textOnDark,
|
||||
);
|
||||
|
||||
return ThemeData(
|
||||
useMaterial3: true,
|
||||
@@ -77,17 +102,17 @@ class AppThemeBusinessObject {
|
||||
}
|
||||
|
||||
static ThemeData darkTheme() {
|
||||
final ColorScheme scheme =
|
||||
ColorScheme.fromSeed(
|
||||
seedColor: darkColors.primarySeed,
|
||||
brightness: Brightness.dark,
|
||||
).copyWith(
|
||||
primary: darkColors.primarySeed,
|
||||
secondary: darkColors.secondarySeed,
|
||||
tertiary: const Color(0xFF4E97E8),
|
||||
surface: const Color(0xFF111A27),
|
||||
onSurface: darkColors.statusText,
|
||||
);
|
||||
final ColorScheme scheme = ColorScheme.dark(
|
||||
brightness: Brightness.dark,
|
||||
primary: darkColors.headingColor,
|
||||
onPrimary: darkColors.textOnDark,
|
||||
secondary: darkColors.accentColor,
|
||||
onSecondary: darkColors.textOnDark,
|
||||
surface: darkColors.shellSurface,
|
||||
onSurface: darkColors.bodyText,
|
||||
error: darkColors.dangerColor,
|
||||
onError: darkColors.textOnDark,
|
||||
);
|
||||
|
||||
return ThemeData(
|
||||
useMaterial3: true,
|
||||
|
||||
Reference in New Issue
Block a user