kDarkFastTheme top-level property
Implementation
final kDarkFastTheme = kBaseFastTheme.copyWith(
scaffoldBackgroundColor: kFastDarkPrimaryBackgroundColor,
backgroundColor: kFastDarkSecondaryBackgroundColor,
dialogBackgroundColor: kFastDarkTertiaryBackgroundColor,
hintColor: kFastDarkHintLabelColor,
textTheme: _baseTextTheme.copyWith(
headline4: _baseTextTheme.headline4!.copyWith(
color: kFastDarkLabelColor,
),
headline5: _baseTextTheme.headline5!.copyWith(
color: kFastDarkLabelColor,
),
headline3: _baseTextTheme.subtitle1!.copyWith(
color: kFastDarkSecondaryLabelColor,
),
headline6: _baseTextTheme.headline6!.copyWith(
color: kFastDarkLabelColor,
),
subtitle1: _baseTextTheme.subtitle1!.copyWith(
color: kFastDarkSecondaryLabelColor,
),
subtitle2: _baseTextTheme.subtitle1!.copyWith(
color: kFastDarkTertiaryLabelColor,
),
bodyText1: _baseTextTheme.bodyText1!.copyWith(
color: kFastDarkLabelColor,
),
bodyText2: _baseTextTheme.bodyText2!.copyWith(
color: kFastDarkSecondaryLabelColor,
),
button: _baseTextTheme.button!.copyWith(
color: kFastDarkLabelColor,
),
caption: _baseTextTheme.caption!.copyWith(
color: kFastDarkSecondaryLabelColor,
),
overline: _baseTextTheme.overline!.copyWith(
color: kFastDarkSecondaryLabelColor,
),
),
iconTheme: IconThemeData(color: kFastDarkLabelColor),
tabBarTheme: _baseTabBarTheme.copyWith(
labelColor: kFastDarkLabelColor,
unselectedLabelColor: kFastDarkSecondaryLabelColor,
),
cardTheme: CardTheme(
color: kFastDarkSecondaryBackgroundColor,
),
dividerColor: kFastDarkSeparatorColor,
dividerTheme: DividerThemeData(
color: kFastDarkSeparatorColor,
thickness: kFastDividerSize,
indent: kFastDividerIndent,
),
inputDecorationTheme: kInputDecorationTheme.copyWith(
hintStyle: TextStyle(color: kFastDarkHintLabelColor),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: kFastDarkSeparatorColor,
width: kFastBorderSize,
),
),
),
popupMenuTheme: PopupMenuThemeData(
color: kFastDarkTertiaryBackgroundColor,
),
scrollbarTheme: ScrollbarThemeData(
thumbColor: MaterialStateProperty.resolveWith((states) {
const interactiveStates = <MaterialState>{
MaterialState.hovered,
MaterialState.dragged,
};
if (states.any(interactiveStates.contains)) {
return kFastDarkGrayPaletteColors.lighter;
}
return kFastDarkGrayPaletteColors.light;
}),
),
shadowColor: kFastDarkShadowColor,
navigationBarTheme: kFastNavigationBarTheme.copyWith(
surfaceTintColor: kFastDarkSecondaryBackgroundColor,
iconTheme: MaterialStateProperty.resolveWith<IconThemeData>((states) {
if (states.contains(MaterialState.disabled)) {
return IconThemeData(color: kFastDarkTertiaryLabelColor);
} else if (states.contains(MaterialState.selected)) {
return IconThemeData(color: kFastDarkWhiteColor);
}
return IconThemeData(color: kFastDarkSecondaryLabelColor);
}),
labelTextStyle: MaterialStateProperty.resolveWith<TextStyle>(
(
Set<MaterialState> states,
) {
var base = GoogleFonts.barlowSemiCondensed(
fontWeight: kFastFontWeightRegular,
fontSize: kFastFontSize16,
color: kFastLightLabelColor,
);
if (states.contains(MaterialState.disabled)) {
return base.copyWith(color: kFastDarkTertiaryLabelColor);
} else if (states.contains(MaterialState.selected)) {
return base.copyWith(color: kFastDarkLabelColor);
}
return base.copyWith(color: kFastDarkSecondaryLabelColor);
},
),
),
navigationRailTheme: kFastNavigationRailTheme.copyWith(
backgroundColor: kFastDarkSecondaryBackgroundColor,
selectedIconTheme: IconThemeData(color: kFastDarkLabelColor),
unselectedIconTheme: IconThemeData(color: kFastDarkSecondaryLabelColor),
selectedLabelTextStyle: GoogleFonts.barlowSemiCondensed(
fontWeight: kFastFontWeightRegular,
fontSize: kFastFontSize16,
color: kFastDarkLabelColor,
),
unselectedLabelTextStyle: GoogleFonts.barlowSemiCondensed(
fontWeight: kFastFontWeightRegular,
fontSize: kFastFontSize16,
color: kFastDarkSecondaryLabelColor,
),
),
);