buildGsShadTheme function
ShadThemeData
buildGsShadTheme(
- Map<String, dynamic> tp
)
Implementation
ShadThemeData buildGsShadTheme(Map<String, dynamic> tp) {
final Map<String, dynamic> newTp = getNewThemeParams(tp);
final String schemeName =
(newTp['shadColorSchemeName'] ?? shadColorSchemeName).toString();
ShadColorScheme baseScheme;
try {
baseScheme = ShadColorScheme.fromName(
schemeName,
brightness: Brightness.light,
);
} catch (_) {
if (createGsAppDebug) {
logDebug(
'buildGsShadTheme | invalid shadColorSchemeName "$schemeName", '
'falling back to "$shadColorSchemeName"',
);
}
baseScheme = ShadColorScheme.fromName(
shadColorSchemeName,
brightness: Brightness.light,
);
}
final ShadColorScheme colorScheme = baseScheme.copyWith(
background: newTp['scaffoldBackgroundColor'],
foreground: newTp['textColor'],
card: newTp['scaffoldBackgroundColor'],
cardForeground: newTp['textColor'],
popover: newTp['scaffoldBackgroundColor'],
popoverForeground: newTp['textColor'],
primary: newTp['accentColor'],
primaryForeground: newTp['accentForegroundColor'],
secondary: newTp['neutralSurfaceColor'],
secondaryForeground: newTp['textColor'],
muted: newTp['neutralSurfaceColor'],
mutedForeground: newTp['secondaryTextColor'],
accent: newTp['neutralSurfaceColor'],
accentForeground: newTp['textColor'],
destructive: newTp['errorBackgroundColor'],
destructiveForeground: newTp['errorForegroundColor'],
border: newTp['separatorColor'],
input: newTp['separatorColor'],
ring: newTp['accentColor'],
);
return ShadThemeData(
brightness: Brightness.light,
colorScheme: colorScheme,
radius: newTp['corners'],
);
}