first commit

This commit is contained in:
nBiqoz
2025-10-05 16:10:35 +02:00
parent 201fca4e68
commit 13cd637391
70 changed files with 7287 additions and 130 deletions

45
hooks/useUserActivity.ts Normal file
View File

@@ -0,0 +1,45 @@
"use client";
import { useState, useEffect } from "react";
interface UserActivityData {
activeUsers: number;
inactiveUsers: number;
totalUsers: number;
}
export function useUserActivity() {
const [activity, setActivity] = useState<UserActivityData | null>(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState<string | null>(null);
const fetchActivity = async () => {
try {
setLoading(true);
setError(null);
const response = await fetch("/api/user-activity");
if (!response.ok) {
throw new Error("Erreur lors du chargement de l'activité des utilisateurs");
}
const data = await response.json();
setActivity(data);
} catch (err) {
setError(err instanceof Error ? err.message : "Erreur inconnue");
} finally {
setLoading(false);
}
};
useEffect(() => {
fetchActivity();
}, []);
return {
activity,
loading,
error,
refetch: fetchActivity
};
}