generateTheme function
ThemeData
generateTheme(
- BuildContext context,
- Map<
ID, ColorStyleEntity> colorStyles, - Map<
ID, TextStyleEntity> textStyles, - ThemeMode themeMode,
Implementation
ThemeData generateTheme(
BuildContext context,
Map<ID, ColorStyleEntity> colorStyles,
Map<ID, TextStyleEntity> textStyles,
ThemeMode themeMode) {
final colorsTheme = ColorsAppTheme(
colors: Map.fromEntries(
colorStyles
.map(
(key, value) => MapEntry(
key,
themeMode == ThemeMode.dark
? value.dark.getColor(context, 0)
: value.light.getColor(context, 0),
),
)
.entries,
),
);
return Theme.of(context).copyWith(
primaryColor: _getPrimaryColor(context, colorStyles, themeMode),
colorScheme: ColorScheme.fromSeed(
seedColor: _getPrimaryColor(context, colorStyles, themeMode),
brightness:
themeMode == ThemeMode.light ? Brightness.light : Brightness.dark,
surface: Colors.white,
),
textTheme: _generateTextTheme(context, textStyles),
extensions: <ThemeExtension<dynamic>>[
colorsTheme,
],
);
}