"use client"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Users, MessageSquare, CreditCard, TrendingUp, TrendingDown, Activity, Euro, } from "lucide-react"; import { cn } from "@/lib/utils"; import { convertCreditsToEuros } from "@/lib/utils/currency"; interface MetricCardProps { title: string; value: string; change?: { value: number; type: "increase" | "decrease"; }; icon: React.ComponentType<{ className?: string }>; description?: string; } function MetricCard({ title, value, change, icon: Icon, description, }: MetricCardProps) { return ( {title}
{value}
{description && (

{description}

)} {change && (
{change.type === "increase" ? ( ) : ( )} {change.type === "increase" ? "+" : "-"} {change.value}% par rapport au mois dernier
)}
); } interface MetricCardsProps { metrics: { totalUsers: number; activeUsers: number; totalConversations: number; totalMessages: number; totalTokensConsumed: number; totalCreditsUsed: number; }; } export function MetricCards({ metrics }: MetricCardsProps) { // Conversion des crédits en euros const creditsConversion = convertCreditsToEuros(metrics.totalCreditsUsed); return (
Crédits totaux
{metrics.totalCreditsUsed.toLocaleString()}

crédits disponibles

{/* Conversion en euros */}
Valeur en EUR: {creditsConversion.formatted.eur}
USD: {creditsConversion.formatted.usd} Taux: 1 USD = 0.92 EUR
+23% par rapport au mois dernier
); }