You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

40 lines
1.3 KiB

import 'package:flutter/material.dart';
import 'package:shia_game_flutter/common_ui/resources/my_colors.dart';
import 'package:get/get.dart';
enum ColorsName {
primaryColor,
noColor,
introBackgroundColor,
}
class MyTheme {
static const MyTheme _i = MyTheme._internal();
const MyTheme._internal();
factory MyTheme() => _i;
static final ThemeData light = ThemeData(brightness: Brightness.dark);
static final ThemeData dark = ThemeData(brightness: Brightness.light);
static Map<ColorsName, Color> get lightColors => {
ColorsName.primaryColor: MyColors.white,
ColorsName.noColor: MyColors.transparent,
ColorsName.introBackgroundColor: MyColors.introBackgroundColor,
};
static Map<ColorsName, Color> get darkColors => {
ColorsName.primaryColor: MyColors.white,
ColorsName.noColor: MyColors.transparent,
ColorsName.introBackgroundColor: MyColors.introBackgroundColor,
};
}
extension ThemeExtension on BuildContext {
Map<ColorsName, Color> get customColors =>
Get.isDarkMode ? MyTheme.darkColors : MyTheme.lightColors;
Color get primaryColor => customColors[ColorsName.primaryColor]!;
Color get noColor => customColors[ColorsName.noColor]!;
Color get introBackgroundColor => customColors[ColorsName.introBackgroundColor]!;
}