import { useQuery } from "@tanstack/react-query"; import { dashboardApi } from "@/lib/api"; import type { DashboardChannelDetail, DashboardStats, DashboardUserDetail, } from "@/lib/types"; export function useStats() { return useQuery({ queryKey: ["dashboard-stats"], queryFn: () => dashboardApi.getStats(), }); } export function useUsers(search?: string) { return useQuery({ queryKey: ["dashboard-users", search ?? ""], queryFn: () => dashboardApi.listUsers(20, undefined, search), select: (data) => data.data, }); } export function useChannels(guildId?: string, search?: string) { return useQuery({ queryKey: ["dashboard-channels", guildId ?? "__all__", search ?? ""], queryFn: () => dashboardApi.listChannels(20, search, guildId || undefined), select: (data) => data.data, }); } export function useUserDetail(userId: string | null) { return useQuery({ queryKey: ["dashboard-user", userId], queryFn: () => dashboardApi.getUserDetail(userId!), enabled: !!userId, }); } export function useChannelDetail(channelId: string | null) { return useQuery({ queryKey: ["dashboard-channel", channelId], queryFn: () => dashboardApi.getChannelDetail(channelId!), enabled: !!channelId, }); }