applyCustomizations function
Implementation
ThemeData applyCustomizations(ColorScheme base, ThemeModel m) {
ThemeData? customizedTheme;
try {
customizedTheme = ThemeData.from(
colorScheme: ColorScheme(
brightness: m.brightness == 'dark' ? Brightness.dark : Brightness.light,
background: S.toColor(m.background) ?? base.background,
onBackground: S.toColor(m.onbackground) ?? base.onBackground,
shadow: S.toColor(m.shadow) ?? base.shadow,
outline: S.toColor(m.outline) ?? base.outline,
surface: S.toColor(m.surface) ?? base.surface,
onSurface: S.toColor(m.onsurface) ?? base.onSurface,
surfaceVariant: S.toColor(m.surfacevariant) ?? base.surfaceVariant,
onSurfaceVariant:
S.toColor(m.onsurfacevariant) ?? base.onSurfaceVariant,
inverseSurface: S.toColor(m.inversesurface) ?? base.inverseSurface,
onInverseSurface:
S.toColor(m.oninversesurface) ?? base.onInverseSurface,
primary: S.toColor(m.primary) ?? base.primary,
onPrimary: S.toColor(m.onprimary) ?? base.onPrimary,
primaryContainer:
S.toColor(m.primarycontainer) ?? base.primaryContainer,
onPrimaryContainer:
S.toColor(m.onprimarycontainer) ?? base.onPrimaryContainer,
inversePrimary: S.toColor(m.inverseprimary) ?? base.inversePrimary,
secondary: S.toColor(m.secondary) ?? base.secondary,
onSecondary: S.toColor(m.onsecondary) ?? base.onSecondary,
secondaryContainer:
S.toColor(m.secondarycontainer) ?? base.secondaryContainer,
onSecondaryContainer:
S.toColor(m.onsecondarycontainer) ?? base.onSecondaryContainer,
tertiaryContainer:
S.toColor(m.tertiarycontainer) ?? base.tertiaryContainer,
onTertiaryContainer:
S.toColor(m.ontertiarycontainer) ?? base.onTertiaryContainer,
error: S.toColor(m.error) ?? base.error,
onError: S.toColor(m.onerror) ?? base.onError,
errorContainer: S.toColor(m.errorcontainer) ?? base.errorContainer,
onErrorContainer:
S.toColor(m.onerrorcontainer) ?? base.onErrorContainer,
),
useMaterial3: true,
);
} catch (e) {
Log().exception(e);
}
return customizedTheme ??
ThemeData.from(colorScheme: base, useMaterial3: true);
}