// 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); }; }, []); };