This repository has been archived on 2025-09-22. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
2025SELab2-project-Dwengo/frontend/src/queries/themes.ts
2025-04-19 10:44:41 +02:00

27 lines
1,006 B
TypeScript

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