1 import { useQuery } from "@tanstack/react-query";
2 import { useAuth } from "./useAuth";
3
4 export interface AdminStats {
5 totalGuides?: number;
6 totalViews?: number;
7 totalDownloads?: number;
8 totalUsers?: number;
9 }
10
11 export function useAdmin() {
12 const { user, isAuthenticated } = useAuth();
13
14 const { data: adminData, isLoading } = useQuery<any>({
15 queryKey: ["/api/admin/users"],
16 enabled: isAuthenticated && user?.role === "admin",
17 retry: false,
18 });
19
20 return {
21 isAdmin: user?.role === "admin",
22 adminData,
23 isLoading,
24 };
25 }
26
27 export function useAdminStats() {
28 const { isAdmin } = useAdmin();
29
30 const { data: stats, isLoading } = useQuery<AdminStats>({
31 queryKey: ["/api/admin/stats"],
32 enabled: isAdmin,
33 retry: false,
34 });
35
36 return {
37 stats,
38 isLoading,
39 };
40 }