Files
discord-decomp/modules/themes/native/useNativeThemeUpdater.tsx
T
2026-11-01 12:12:55 +02:00

28 lines
1002 B
TypeScript

// Metro module 15783 (f15784).
import { useRef, useLayoutEffect } from "react";
import ThemeStore from "../../user_settings/ThemeStore";
import MobileVisualRefreshExperiment from "../experiments/MobileVisualRefreshExperiment";
import { updateVisualRefresh } from "./updateVisualRefresh";
import { updateTheme } from "./updateTheme";
export default function useNativeThemeUpdater() {
const r9 = MobileVisualRefreshExperiment("useNativeThemeUpdater");
let c22440_0 = r9;
const ref = useRef(ThemeStore.theme);
useLayoutEffect(() => {
updateVisualRefresh(c22440_0);
}, [r9]);
useLayoutEffect(() => {
const handleThemeUpdate2 = function handleThemeUpdate() {
if (ThemeStore.theme !== ref.current) {
ref.current = ThemeStore.theme;
updateTheme(ThemeStore.theme);
}
};
updateTheme(ThemeStore.theme);
ThemeStore.addChangeListener(handleThemeUpdate2);
return () => {
ThemeStore.removeChangeListener(handleThemeUpdate2);
};
}, []);
};