mobile: fix auto theme switching

This commit is contained in:
Ammar Ahmed
2025-04-09 11:45:55 +05:00
committed by Abdullah Atta
parent 3afde8da9a
commit 3dc99dcc7a
2 changed files with 11 additions and 2 deletions

View File

@@ -24,7 +24,7 @@ import {
useThemeEngineStore
} from "@notesnook/theme";
import React, { useEffect } from "react";
import { I18nManager, StatusBar } from "react-native";
import { Appearance, I18nManager, StatusBar } from "react-native";
import "react-native-gesture-handler";
import { GestureHandlerRootView } from "react-native-gesture-handler";
import { SafeAreaProvider } from "react-native-safe-area-context";
@@ -129,6 +129,15 @@ export const withTheme = (Element: (props: any) => JSX.Element) => {
/* empty */
});
}, 1000);
const listener = Appearance.addChangeListener(({ colorScheme }) => {
if (colorScheme && SettingsService.getProperty("useSystemTheme")) {
useThemeStore.getState().setColorScheme(colorScheme);
}
});
return () => {
listener.remove();
};
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);

View File

@@ -35,7 +35,7 @@ export interface ThemeStore extends State {
export function changeSystemBarColors() {
const change = () => {
let currTheme =
const currTheme =
useThemeStore.getState().colorScheme === "dark"
? SettingsService.getProperty("darkTheme")
: SettingsService.getProperty("lighTheme");