import { useQuery, type UseQueryReturnType } from "@tanstack/vue-query"; import { type MaybeRefOrGetter, toValue } from "vue"; import type { Theme } from "@dwengo-1/interfaces/theme"; import { getThemeController } from "@/controllers/controllers.ts"; const themeController = getThemeController(); export function useThemeQuery(language: MaybeRefOrGetter): UseQueryReturnType { return useQuery({ queryKey: ["themes", language], queryFn: async () => { const lang = toValue(language); return themeController.getAll(lang); }, enabled: () => Boolean(toValue(language)), }); } export function useThemeHruidsQuery( themeKey: MaybeRefOrGetter, ): UseQueryReturnType { return useQuery({ queryKey: ["theme-hruids", themeKey], queryFn: async () => themeController.getHruidsByKey(toValue(themeKey)!), enabled: Boolean(themeKey), }); }