"use client"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Plus, DollarSign, Users, TrendingUp } from "lucide-react"; interface AddCreditsStats { totalUsers: number; totalBalances: number; totalCredits: number; averageCredits: number; usersWithoutBalance: number; } interface AddCreditsResult { totalUsers: number; updatedBalances: number; createdBalances: number; creditsPerUser: number; totalCreditsAdded: number; } export default function AddCredits() { const [stats, setStats] = useState(null); const [result, setResult] = useState(null); const [loading, setLoading] = useState(false); const [analyzing, setAnalyzing] = useState(false); const analyzeCurrentCredits = async () => { setAnalyzing(true); try { const response = await fetch("/api/add-credits"); const data = await response.json(); if (data.statistics) { setStats(data.statistics); } } catch (error) { console.error("Erreur lors de l'analyse:", error); } finally { setAnalyzing(false); } }; const addCreditsToAllUsers = async () => { if ( !confirm( "Êtes-vous sûr de vouloir ajouter 3 millions de crédits à TOUS les utilisateurs ? Cette action est irréversible." ) ) { return; } setLoading(true); try { const response = await fetch("/api/add-credits", { method: "POST", }); const data = await response.json(); if (data.success) { setResult(data.statistics); // Rafraîchir les stats await analyzeCurrentCredits(); } else { alert("Erreur: " + (data.error || data.message)); } } catch (error) { console.error("Erreur lors de l'ajout des crédits:", error); alert("Erreur lors de l'ajout des crédits"); } finally { setLoading(false); } }; return ( Ajouter des Crédits Ajouter 3 millions de tokens à tous les utilisateurs existants {/* Bouton d'analyse */}
{/* Statistiques actuelles */} {stats && (
Utilisateurs

{stats.totalUsers}

Total Crédits

{stats.totalCredits.toLocaleString()}

Moyenne

{stats.averageCredits.toLocaleString()}

Sans Balance

{stats.usersWithoutBalance}

)} {/* Bouton d'ajout de crédits */} {stats && (

⚠️ Action Importante

Cette action va ajouter 5,000,000 crédits à chacun des {stats.totalUsers} utilisateurs.
Total de crédits qui seront ajoutés:{" "} {(stats.totalUsers * 3000000).toLocaleString()}

)} {/* Résultats */} {result && (

✅ Crédits ajoutés avec succès !

Balances mises à jour: {result.updatedBalances}
Nouvelles balances: {result.createdBalances}
Crédits par utilisateur: {result.creditsPerUser.toLocaleString()}
Total ajouté: {result.totalCreditsAdded.toLocaleString()}
)}
); }