import Image from "next/image" import { useQuery } from "@tanstack/react-query"; import axios from "axios"; import { useSession } from "next-auth/react"; import { icons } from "#/assets/icons"; import { Stats, StatsType, } from "#/types"; export default function Statistics() { const { data: session, status } = useSession(); const { data: stats, isLoading} = useQuery({ enabled: status === 'authenticated', queryKey: ["stats", session?.user.access_token], queryFn: async () => { try { const response = await axios.get( 'https://private-docs-api.intside.co/statistics', { headers: { 'Authorization': `Bearer ${session?.user.access_token}` } } ) if(response.data) { return response.data as Stats } } catch (error) { console.error(error) } } }) const statsData: StatsType[] = [ { id: 1, title: 'Organisations', value: stats?.companies, icon: icons.companiesIcon, color: 'blue' }, { id: 2, title: 'Utilisateurs', value: stats?.users, icon: icons.userIcon, color: 'blue' }, { id: 3, title: 'Documents', value: stats?.documents, icon: icons.docummentTextIcon, color: 'blue' }, { id: 4, title: 'Stockage', value: stats?.documents_size, icon: icons.archivesIcon, color: 'blue' } ]; return(
{title}
{ status === "loading" && isLoading ? "Chargement..." : value}