import { useQuery } from "@tanstack/react-query"; import { settingsAtom } from "@yaakapp-internal/models"; import { useAtomValue } from "jotai"; import { getResolvedTheme, getThemes } from "../lib/theme/themes"; import { usePluginsKey } from "./usePlugins"; import { usePreferredAppearance } from "./usePreferredAppearance"; export function useResolvedTheme() { const preferredAppearance = usePreferredAppearance(); const settings = useAtomValue(settingsAtom); const pluginKey = usePluginsKey(); return useQuery({ placeholderData: (prev) => prev, queryKey: ["resolved_theme", preferredAppearance, settings.updatedAt, pluginKey], queryFn: async () => { const data = await getResolvedTheme( preferredAppearance, settings.appearance, settings.themeLight, settings.themeDark, ); return { ...data, ...(await getThemes()) }; }, }); }