generateTheme method

void generateTheme(
  1. String theme,
  2. dynamic value
)

Implementation

void generateTheme(String theme, dynamic value) {
  final pathItemTheme = join(
      pathThemes, 'src', 'morpheme_theme_${theme.toString().snakeCase}.dart');
  if (!exists(pathItemTheme)) {
    final brightness = value['brightness'] == 'dark' ? 'dark' : 'light';
    pathItemTheme.write(
        '''import 'package:core/src/themes/morpheme_colors/morpheme_colors.dart';
import 'package:flutter/material.dart';

import 'morpheme_theme.dart';

final class MorphemeTheme${theme.toString().pascalCase} extends MorphemeTheme {
MorphemeTheme${theme.toString().pascalCase}() : super('${theme.toString().snakeCase}');

@override
MorphemeColor get color => MorphemeColor${theme.toString().pascalCase}();

@override
ThemeData get rawThemeData => ThemeData.$brightness();

@override
ColorScheme get colorScheme => ColorScheme.$brightness(
      primary: color.primary,
      error: color.error,
    );
}
''');
  }
}