import { useQuery } from "@tanstack/react-query"; import { api, unwrap } from "../api/client"; import { qk } from "../api/queryKeys"; export function useExpansions() { return useQuery({ queryKey: qk.expansions, queryFn: async () => unwrap(await api.GET("/api/expansions")), }); } // Весь справочник фракций (для выбора любимой в профиле — он не зависит от группы). export function useFactions() { return useQuery({ queryKey: qk.factions, queryFn: async () => unwrap(await api.GET("/api/factions")), }); } export function useGroupFactions(groupId: number | null) { return useQuery({ queryKey: groupId ? qk.groupFactions(groupId) : ["group", "none", "factions"], enabled: groupId != null, queryFn: async () => unwrap( await api.GET("/api/groups/{group_id}/factions", { params: { path: { group_id: groupId as number } }, }), ), }); }