Files
lcbp3/frontend/hooks/use-dashboard.ts
admin dcd126d704
Some checks failed
Spec Validation / validate-markdown (push) Has been cancelled
Spec Validation / validate-diagrams (push) Has been cancelled
Spec Validation / check-todos (push) Has been cancelled
251208:0010 Backend & Frontend Debug
2025-12-08 00:10:37 +07:00

34 lines
920 B
TypeScript

import { useQuery } from '@tanstack/react-query';
import { dashboardService } from '@/lib/services/dashboard.service';
export const dashboardKeys = {
all: ['dashboard'] as const,
stats: () => [...dashboardKeys.all, 'stats'] as const,
activity: () => [...dashboardKeys.all, 'activity'] as const,
pending: () => [...dashboardKeys.all, 'pending'] as const,
};
export function useDashboardStats() {
return useQuery({
queryKey: dashboardKeys.stats(),
queryFn: dashboardService.getStats,
staleTime: 5 * 60 * 1000, // 5 minutes
});
}
export function useRecentActivity() {
return useQuery({
queryKey: dashboardKeys.activity(),
queryFn: dashboardService.getRecentActivity,
staleTime: 1 * 60 * 1000,
});
}
export function usePendingTasks() {
return useQuery({
queryKey: dashboardKeys.pending(),
queryFn: dashboardService.getPendingTasks,
staleTime: 2 * 60 * 1000,
});
}