| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 | import 'package:flowy_infra/color.dart';import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';enum ThemeType {  light,  dark,}class AppTheme {  static ThemeType defaultTheme = ThemeType.light;  bool isDark;  late Color surface; //  late Color hover;  late Color selector;  late Color red;  late Color yellow;  late Color green;  late Color shader1;  late Color shader2;  late Color shader3;  late Color shader4;  late Color shader5;  late Color shader6;  late Color shader7;  late Color bg1;  late Color bg2;  late Color bg3;  late Color bg4;  late Color tint1;  late Color tint2;  late Color tint3;  late Color tint4;  late Color tint5;  late Color tint6;  late Color tint7;  late Color tint8;  late Color tint9;  late Color main1;  late Color main2;  /// Default constructor  AppTheme({this.isDark = true});  /// fromType factory constructor  factory AppTheme.fromType(ThemeType t) {    switch (t) {      case ThemeType.light:        return AppTheme(isDark: false)          ..surface = Colors.white          ..hover = const Color(0xFFe0f8ff) //          ..selector = const Color(0xfff2fcff)          ..red = const Color(0xfffb006d)          ..yellow = const Color(0xffffd667)          ..green = const Color(0xff66cf80)          ..shader1 = const Color(0xff333333)          ..shader2 = const Color(0xff4f4f4f)          ..shader3 = const Color(0xff828282)          ..shader4 = const Color(0xffbdbdbd)          ..shader5 = const Color(0xffe0e0e0)          ..shader6 = const Color(0xfff2f2f2)          ..shader7 = const Color(0xffffffff)          ..bg1 = const Color(0xfff7f8fc)          ..bg2 = const Color(0xffedeef2)          ..bg3 = const Color(0xffe2e4eb)          ..bg4 = const Color(0xff2c144b)          ..tint1 = const Color(0xffe8e0ff)          ..tint2 = const Color(0xffffe7fd)          ..tint3 = const Color(0xffffe7ee)          ..tint4 = const Color(0xffffefe3)          ..tint5 = const Color(0xfffff2cd)          ..tint6 = const Color(0xfff5ffdc)          ..tint7 = const Color(0xffddffd6)          ..tint8 = const Color(0xffdefff1)          ..tint9 = const Color(0xffdefff1)          ..main1 = const Color(0xff00bcf0)          ..main2 = const Color(0xff00b7ea);      case ThemeType.dark:        return AppTheme(isDark: true)          ..surface = const Color(0xff252525)          ..hover = const Color(0xFFe0f8ff) //          ..selector = const Color(0xfff2fcff)          ..red = const Color(0xfffb006d)          ..yellow = const Color(0xffffd667)          ..green = const Color(0xff66cf80)          ..shader1 = const Color(0xff333333)          ..shader2 = const Color(0xff4f4f4f)          ..shader3 = const Color(0xff828282)          ..shader4 = const Color(0xffbdbdbd)          ..shader5 = const Color(0xffe0e0e0)          ..shader6 = const Color(0xfff2f2f2)          ..shader7 = const Color(0xffffffff)          ..bg1 = const Color(0xfff7f8fc)          ..bg2 = const Color(0xffedeef2)          ..bg3 = const Color(0xffe2e4eb)          ..bg4 = const Color(0xff2c144b)          ..tint1 = const Color(0xffe8e0ff)          ..tint2 = const Color(0xffffe7fd)          ..tint3 = const Color(0xffffe7ee)          ..tint4 = const Color(0xffffefe3)          ..tint5 = const Color(0xfffff2cd)          ..tint6 = const Color(0xfff5ffdc)          ..tint7 = const Color(0xffddffd6)          ..tint8 = const Color(0xffdefff1)          ..tint9 = const Color(0xffdefff1)          ..main1 = const Color(0xff00bcf0)          ..main2 = const Color(0xff00b7ea);    }  }  ThemeData get themeData {    var t = ThemeData(      textTheme: (isDark ? ThemeData.dark() : ThemeData.light()).textTheme,      textSelectionTheme: TextSelectionThemeData(cursorColor: main2),      primaryIconTheme: IconThemeData(color: hover),      iconTheme: IconThemeData(color: shader1),      canvasColor: shader6,      // hoverColor: hover,      colorScheme: ColorScheme(          brightness: isDark ? Brightness.dark : Brightness.light,          primary: main1,          primaryVariant: main2,          secondary: main2,          secondaryVariant: main2,          background: bg1,          surface: surface,          onBackground: bg1,          onSurface: surface,          onError: red,          onPrimary: bg1,          onSecondary: bg1,          error: red),    );    return t.copyWith(        materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,        highlightColor: main1,        indicatorColor: main1,        toggleableActiveColor: main1);  }  Color shift(Color c, double d) => ColorUtils.shiftHsl(c, d * (isDark ? -1 : 1));}
 |