sync language

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages
2022-09-08 08:52:56 +08:00
parent b4e0101e3e
commit d5d2a98572
8 changed files with 47 additions and 23 deletions

View File

@@ -218,17 +218,6 @@ class MyTheme {
return dark ? ThemeMode.dark : ThemeMode.light;
}
static registerEventHandler() {
if (desktopType != DesktopType.main) {
platformFFI.registerEventHandler('theme', 'theme-$desktopType', (evt) {
String? dark = evt['dark'];
if (dark != null) {
changeTo(dark == 'true');
}
});
}
}
static ColorThemeExtension color(BuildContext context) {
return Theme.of(context).extension<ColorThemeExtension>()!;
}
@@ -238,14 +227,6 @@ class MyTheme {
}
}
class ThemeModeNotifier {
final ValueNotifier<Brightness> brightness;
ThemeModeNotifier(this.brightness);
changeThemeBrightness({required Brightness brightness}) {
this.brightness.value = brightness;
}
}
bool isDarkTheme() {
return Get.isDarkMode;
}

View File

@@ -218,6 +218,7 @@ class _UserInterfaceState extends State<_UserInterface>
onChanged: (key) async {
await bind.mainSetLocalOption(key: "lang", value: key);
Get.forceAppUpdate();
bind.mainChangeLanguage(lang: key);
},
).marginOnly(left: _kContentHMargin);
});

View File

@@ -79,7 +79,7 @@ Future<void> initEnv(String appType) async {
await initGlobalFFI();
// await Firebase.initializeApp();
refreshCurrentUser();
MyTheme.registerEventHandler();
_registerEventHandler();
}
void runMainApp(bool startService) async {
@@ -270,3 +270,17 @@ _keepScaleBuilder() {
);
};
}
_registerEventHandler() {
if (desktopType != DesktopType.main) {
platformFFI.registerEventHandler('theme', 'theme', (evt) {
String? dark = evt['dark'];
if (dark != null) {
MyTheme.changeTo(dark == 'true');
}
});
platformFFI.registerEventHandler('language', 'language', (_) {
Get.forceAppUpdate();
});
}
}