ThemeConfig.fromJson constructor

ThemeConfig.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory ThemeConfig.fromJson(Map<String, dynamic> json) {
  final cs =
      json['colorScheme'] as Map<String, dynamic>? ?? <String, dynamic>{};
  return ThemeConfig(
    colorScheme: ColorScheme.fromSeed(
      seedColor: parseColor(json: cs, key: 'primary', fallback: Colors.blue),
      error: parseColor(json: cs, key: 'error', fallback: Colors.red),
      errorContainer: parseColor(
        json: cs,
        key: 'errorContainer',
        fallback: Colors.redAccent,
      ),
      onError: parseColor(json: cs, key: 'onError', fallback: Colors.white),
      onErrorContainer: parseColor(
        json: cs,
        key: 'onErrorContainer',
        fallback: Colors.red,
      ),
      onPrimary: parseColor(
        json: cs,
        key: 'onPrimary',
        fallback: Colors.white,
      ),
      onPrimaryContainer: parseColor(
        json: cs,
        key: 'onPrimaryContainer',
        fallback: Colors.white,
      ),
      onSecondary: parseColor(
        json: cs,
        key: 'onSecondary',
        fallback: Colors.white,
      ),
      onSecondaryContainer: parseColor(
        json: cs,
        key: 'onSecondaryContainer',
        fallback: Colors.white,
      ),
      onSecondaryFixed: parseColor(
        json: cs,
        key: 'onSecondaryFixed',
        fallback: Colors.black,
      ),
      onSurface: parseColor(
        json: cs,
        key: 'onSurface',
        fallback: Colors.black,
      ),
      onSurfaceVariant: parseColor(
        json: cs,
        key: 'onSurfaceVariant',
        fallback: Colors.grey,
      ),
      onTertiary: parseColor(
        json: cs,
        key: 'onTertiary',
        fallback: Colors.white,
      ),
      onTertiaryContainer: parseColor(
        json: cs,
        key: 'onTertiaryContainer',
        fallback: Colors.white,
      ),
      onTertiaryFixed: parseColor(
        json: cs,
        key: 'onTertiaryFixed',
        fallback: Colors.white,
      ),
      onTertiaryFixedVariant: parseColor(
        json: cs,
        key: 'onTertiaryFixedVariant',
        fallback: Colors.white,
      ),
      outline: parseColor(json: cs, key: 'outline', fallback: Colors.grey),
      outlineVariant: parseColor(
        json: cs,
        key: 'outlineVariant',
        fallback: Colors.blueAccent,
      ),
      primary: parseColor(json: cs, key: 'primary', fallback: Colors.blue),
      primaryContainer: parseColor(
        json: cs,
        key: 'primaryContainer',
        fallback: Colors.blueAccent,
      ),
      primaryFixed: parseColor(
        json: cs,
        key: 'primaryFixed',
        fallback: Colors.blueGrey,
      ),
      secondary: parseColor(
        json: cs,
        key: 'secondary',
        fallback: Colors.blue,
      ),
      secondaryContainer: parseColor(
        json: cs,
        key: 'secondaryContainer',
        fallback: Colors.blueAccent,
      ),
      secondaryFixed: parseColor(
        json: cs,
        key: 'secondaryFixed',
        fallback: Colors.lightBlue,
      ),
      surface: parseColor(json: cs, key: 'surface', fallback: Colors.white),
      surfaceBright: parseColor(
        json: cs,
        key: 'surfaceBright',
        fallback: Colors.white,
      ),
      surfaceContainer: parseColor(
        json: cs,
        key: 'surfaceContainer',
        fallback: Colors.grey,
      ),
      surfaceDim: parseColor(
        json: cs,
        key: 'surfaceDim',
        fallback: Colors.grey.shade300,
      ),
      tertiary: parseColor(
        json: cs,
        key: 'tertiary',
        fallback: Colors.orange,
      ),
      tertiaryContainer: parseColor(
        json: cs,
        key: 'tertiaryContainer',
        fallback: Colors.orangeAccent,
      ),
      tertiaryFixed: parseColor(
        json: cs,
        key: 'tertiaryFixed',
        fallback: Colors.yellow,
      ),
      tertiaryFixedDim: parseColor(
        json: cs,
        key: 'tertiaryFixedDim',
        fallback: Colors.redAccent,
      ),
    ),
    appAssets: AppAssets(
      tenantLogoSquare:
          (json['appAssets'] as Map)['tenantLogoSquare'] as String? ?? '',
      tenantLogoFull:
          (json['appAssets'] as Map)['tenantLogoFull'] as String? ?? '',
      tenantLogoMobile:
          (json['appAssets'] as Map)['tenantLogoMobile'] as String?,
    ),
    s360fColors: S360fColorsExtension.fromJson(cs),
  );
}