diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_appearance_view.dart b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_appearance_view.dart index bc26b4c00f..abd722f057 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_appearance_view.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_appearance_view.dart @@ -17,6 +17,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:google_fonts/google_fonts.dart'; import 'levenshtein.dart'; +import 'dart:io'; class SettingsAppearanceView extends StatelessWidget { const SettingsAppearanceView({Key? key}) : super(key: key); @@ -216,20 +217,36 @@ class BrightnessSetting extends StatelessWidget { const BrightnessSetting({required this.currentThemeMode, super.key}); @override - Widget build(BuildContext context) { - return ThemeSettingDropDown( - label: LocaleKeys.settings_appearance_themeMode_label.tr(), - currentValue: _themeModeLabelText(currentThemeMode), - popupBuilder: (_) => Column( - mainAxisSize: MainAxisSize.min, + Widget build(BuildContext context) => Tooltip( + richMessage: themeModeTooltipTextSpan( + context, + LocaleKeys.settings_appearance_themeMode_label.tr(), + ), + child: ThemeSettingDropDown( + label: LocaleKeys.settings_appearance_themeMode_label.tr(), + currentValue: _themeModeLabelText(currentThemeMode), + popupBuilder: (_) => Column( + mainAxisSize: MainAxisSize.min, + children: [ + _themeModeItemButton(context, ThemeMode.light), + _themeModeItemButton(context, ThemeMode.dark), + _themeModeItemButton(context, ThemeMode.system), + ], + ), + ), + ); + + TextSpan themeModeTooltipTextSpan(BuildContext context, String hintText) => + TextSpan( children: [ - _themeModeItemButton(context, ThemeMode.light), - _themeModeItemButton(context, ThemeMode.dark), - _themeModeItemButton(context, ThemeMode.system), + TextSpan( + text: "$hintText\n", + ), + TextSpan( + text: Platform.isMacOS ? "⌘+Shift+L" : "Ctrl+Shift+L", + ), ], - ), - ); - } + ); Widget _themeModeItemButton(BuildContext context, ThemeMode themeMode) { return SizedBox(