kDarkFastTheme top-level property
Implementation
final kDarkFastTheme = kBaseFastTheme.copyWith(
scaffoldBackgroundColor: kFastDarkPrimaryBackgroundColor,
dialogBackgroundColor: kFastDarkTertiaryBackgroundColor,
hintColor: kFastDarkHintLabelColor,
textTheme: _baseTextTheme.copyWith(
headlineMedium: _baseTextTheme.headlineMedium!.copyWith(
color: kFastDarkLabelColor,
),
headlineSmall: _baseTextTheme.headlineSmall!.copyWith(
color: kFastDarkLabelColor,
),
displaySmall: _baseTextTheme.titleMedium!.copyWith(
color: kFastDarkSecondaryLabelColor,
),
titleLarge: _baseTextTheme.titleLarge!.copyWith(
color: kFastDarkLabelColor,
),
titleMedium: _baseTextTheme.titleMedium!.copyWith(
color: kFastDarkSecondaryLabelColor,
),
titleSmall: _baseTextTheme.titleMedium!.copyWith(
color: kFastDarkTertiaryLabelColor,
),
bodyLarge: _baseTextTheme.bodyLarge!.copyWith(
color: kFastDarkLabelColor,
),
bodyMedium: _baseTextTheme.bodyMedium!.copyWith(
color: kFastDarkSecondaryLabelColor,
),
labelLarge: _baseTextTheme.labelLarge!.copyWith(
color: kFastDarkLabelColor,
),
bodySmall: _baseTextTheme.bodySmall!.copyWith(
color: kFastDarkSecondaryLabelColor,
),
labelSmall: _baseTextTheme.labelSmall!.copyWith(
color: kFastDarkSecondaryLabelColor,
),
),
iconTheme: const IconThemeData(color: kFastDarkLabelColor),
tabBarTheme: _baseTabBarTheme.copyWith(
labelColor: kFastDarkLabelColor,
unselectedLabelColor: kFastDarkSecondaryLabelColor,
),
cardTheme: const CardTheme(
color: kFastDarkSecondaryBackgroundColor,
),
dividerColor: kFastDarkSeparatorColor,
dividerTheme: DividerThemeData(
color: kFastDarkSeparatorColor,
thickness: kFastDividerSize,
indent: kFastDividerIndent,
),
inputDecorationTheme: kInputDecorationTheme.copyWith(
hintStyle: TextStyle(color: kFastDarkHintLabelColor),
enabledBorder: _defaultUnderlineInputBorder,
disabledBorder: _defaultUnderlineInputBorder,
),
popupMenuTheme: const 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 const 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: const 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,
),
),
);