+
+ Valeur en EUR:
+
+ {creditsConversion.formatted.eur}
+
+
+
+ USD: {creditsConversion.formatted.usd}
+ Taux: 1 USD = 0.92 EUR
+
+
+23%
par rapport au mois dernier
diff --git a/components/dashboard/overview-metrics.tsx b/components/dashboard/overview-metrics.tsx
index 6519701..a7a963b 100644
--- a/components/dashboard/overview-metrics.tsx
+++ b/components/dashboard/overview-metrics.tsx
@@ -2,7 +2,8 @@
import { useMetrics } from "@/hooks/useMetrics";
import { MetricCard } from "@/components/ui/metric-card";
-import { Users, UserCheck, Shield, Coins, MessageSquare, FileText } from "lucide-react";
+import { Users, UserCheck, Shield, Coins, MessageSquare, FileText, Euro } from "lucide-react";
+import { convertCreditsToEuros } from "@/lib/utils/currency";
export function OverviewMetrics() {
const { metrics, loading, error } = useMetrics();
@@ -25,6 +26,9 @@ export function OverviewMetrics() {
);
}
+ // Conversion des crédits en euros
+ const creditsInEuros = convertCreditsToEuros(metrics.totalCredits);
+
return (
-
+
+
+
Crédits totaux
+
+
+
+
+
+
+ {metrics.totalCredits.toLocaleString()}
+
+
crédits disponibles
+
+
+ {creditsInEuros.formatted.eur}
+
+
+ {creditsInEuros.formatted.usd} USD
+
+
+
Crédits totaux
-
+
+
+
+
{stats.totalCreditsUsed.toLocaleString()}
crédits disponibles
+
+ {/* Conversion en euros */}
+
+
+ Valeur: {convertCreditsToEuros(stats.totalCreditsUsed).formatted.eur}
+
+
+ ({convertCreditsToEuros(stats.totalCreditsUsed).formatted.usd} USD)
+
+
diff --git a/lib/utils/currency.ts b/lib/utils/currency.ts
new file mode 100644
index 0000000..7ce2249
--- /dev/null
+++ b/lib/utils/currency.ts
@@ -0,0 +1,46 @@
+// Fonction de conversion des crédits en euros
+export function convertCreditsToEuros(credits: number): {
+ usd: number;
+ eur: number;
+ formatted: {
+ usd: string;
+ eur: string;
+ };
+} {
+ // Votre règle : 5 millions de crédits = 5 USD
+ // Donc : 1 million de crédits = 1 USD
+ const usdAmount = credits / 1_000_000;
+
+ // Taux de change USD → EUR (vous pouvez ajuster ce taux)
+ // Taux approximatif actuel : 1 USD ≈ 0.92 EUR
+ const USD_TO_EUR_RATE = 0.92;
+ const eurAmount = usdAmount * USD_TO_EUR_RATE;
+
+ return {
+ usd: usdAmount,
+ eur: eurAmount,
+ formatted: {
+ usd: `$${usdAmount.toFixed(2)}`,
+ eur: `€${eurAmount.toFixed(2)}`
+ }
+ };
+}
+
+// Fonction pour formater les crédits avec conversion
+export function formatCreditsWithCurrency(credits: number): string {
+ const conversion = convertCreditsToEuros(credits);
+ return `${credits.toLocaleString()} crédits (${conversion.formatted.eur})`;
+}
+
+// Fonction pour obtenir le taux de change en temps réel (optionnel)
+export async function getCurrentExchangeRate(): Promise
{
+ try {
+ // Vous pouvez utiliser une API gratuite comme exchangerate-api.com
+ const response = await fetch('https://api.exchangerate-api.com/v4/latest/USD');
+ const data = await response.json();
+ return data.rates.EUR || 0.92; // Fallback au taux fixe
+ } catch (error) {
+ console.warn('Impossible de récupérer le taux de change, utilisation du taux fixe');
+ return 0.92; // Taux fixe de fallback
+ }
+}
\ No newline at end of file