[feat] add theme for snackbar (#2194)

* feat: add default snackbar theme

* fix: since FlowyText overrides textTheme, supply color to widget
This commit is contained in:
Alex Wallen 2023-04-06 16:15:02 -10:00 committed by GitHub
parent 17feea1219
commit ae2146f427
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 25 deletions

View File

@ -210,6 +210,32 @@ class AppearanceSettingsState with _$AppearanceSettingsState {
? appTheme.lightTheme
: appTheme.darkTheme;
final colorScheme = ColorScheme(
brightness: brightness,
primary: theme.primary,
onPrimary: theme.onPrimary,
primaryContainer: theme.main2,
onPrimaryContainer: _white,
// page title hover color
secondary: theme.hoverBG1,
onSecondary: theme.shader1,
// setting value hover color
secondaryContainer: theme.selector,
onSecondaryContainer: theme.topbarBg,
tertiary: theme.shader7,
tertiaryContainer: theme.questionBubbleBG,
background: theme.surface,
onBackground: theme.text,
surface: theme.surface,
// text&icon color when it is hovered
onSurface: theme.hoverFG,
onError: theme.shader7,
error: theme.red,
outline: theme.shader4,
surfaceVariant: theme.sidebarBg,
shadow: theme.shadow,
);
return ThemeData(
brightness: brightness,
textTheme: _getTextTheme(fontFamily: fontFamily, fontColor: theme.text),
@ -227,6 +253,10 @@ class AppearanceSettingsState with _$AppearanceSettingsState {
),
),
scaffoldBackgroundColor: theme.surface,
snackBarTheme: SnackBarThemeData(
backgroundColor: colorScheme.primary,
contentTextStyle: TextStyle(color: colorScheme.onSurface),
),
scrollbarTheme: ScrollbarThemeData(
thumbColor: MaterialStateProperty.all(theme.shader3),
thickness: MaterialStateProperty.resolveWith((states) {
@ -254,31 +284,7 @@ class AppearanceSettingsState with _$AppearanceSettingsState {
highlightColor: theme.main1,
indicatorColor: theme.main1,
cardColor: theme.input,
colorScheme: ColorScheme(
brightness: brightness,
primary: theme.primary,
onPrimary: theme.onPrimary,
primaryContainer: theme.main2,
onPrimaryContainer: _white,
// page title hover color
secondary: theme.hoverBG1,
onSecondary: theme.shader1,
// setting value hover color
secondaryContainer: theme.selector,
onSecondaryContainer: theme.topbarBg,
tertiary: theme.shader7,
tertiaryContainer: theme.questionBubbleBG,
background: theme.surface,
onBackground: theme.text,
surface: theme.surface,
// text&icon color when it is hovered
onSurface: theme.hoverFG,
onError: theme.shader7,
error: theme.red,
outline: theme.shader4,
surfaceVariant: theme.sidebarBg,
shadow: theme.shadow,
),
colorScheme: colorScheme,
extensions: [
AFThemeExtension(
warning: theme.yellow,

View File

@ -52,6 +52,7 @@ class SettingsFileLocationCustomzierState
SnackBar(
content: FlowyText(
LocaleKeys.settings_files_pathCopiedSnackbar.tr(),
color: Theme.of(context).colorScheme.onSurface,
),
),
);