Browse Source

fix: dropdown state unchanging after file reset (#2109)

Mathias Mogensen 2 years ago
parent
commit
d62493ce01

+ 2 - 2
frontend/appflowy_flutter/lib/workspace/application/appearance.dart

@@ -55,9 +55,9 @@ class AppearanceSettingsCubit extends Cubit<AppearanceSettingsState> {
       newLocale = const Locale('en');
     }
 
-    context.setLocale(newLocale);
-
     if (state.locale != newLocale) {
+      context.setLocale(newLocale);
+
       _setting.locale.languageCode = newLocale.languageCode;
       _setting.locale.countryCode = newLocale.countryCode ?? "";
       _saveAppearanceSettings();

+ 6 - 8
frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_language_view.dart

@@ -54,8 +54,8 @@ class _LanguageSelectorDropdownState extends State<LanguageSelectorDropdown> {
   @override
   Widget build(BuildContext context) {
     return MouseRegion(
-      onEnter: (event) => {hoverEnterLanguage()},
-      onExit: (event) => {hoverExitLanguage()},
+      onEnter: (_) => hoverEnterLanguage(),
+      onExit: (_) => hoverExitLanguage(),
       child: Container(
         margin: const EdgeInsets.symmetric(horizontal: 8),
         decoration: BoxDecoration(
@@ -67,12 +67,10 @@ class _LanguageSelectorDropdownState extends State<LanguageSelectorDropdown> {
             padding: const EdgeInsets.symmetric(horizontal: 6),
             child: DropdownButton<Locale>(
               value: context.locale,
-              onChanged: (val) {
-                setState(() {
-                  context
-                      .read<AppearanceSettingsCubit>()
-                      .setLocale(context, val!);
-                });
+              onChanged: (locale) {
+                context
+                    .read<AppearanceSettingsCubit>()
+                    .setLocale(context, locale!);
               },
               autofocus: true,
               borderRadius: BorderRadius.circular(8),