applyCustomizations function

ThemeData applyCustomizations(
  1. ColorScheme base,
  2. ThemeModel m
)

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);
}