import React, { useState, useEffect } from "react"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { Instagram, Loader2 } from "lucide-react"; import { metaAdsService } from "@/services/metaAdsService"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@/components/ui/tooltip"; const formatCurrency = (value, decimalPlaces = 2) => new Intl.NumberFormat("en-US", { style: "currency", currency: "USD", minimumFractionDigits: decimalPlaces, maximumFractionDigits: decimalPlaces, }).format(value || 0); const formatNumber = (value, decimalPlaces = 0) => { return new Intl.NumberFormat("en-US", { minimumFractionDigits: decimalPlaces, maximumFractionDigits: decimalPlaces, }).format(value || 0); }; const formatPercent = (value, decimalPlaces = 2) => `${(value || 0).toFixed(decimalPlaces)}%`; const summaryCard = (label, value, options = {}) => { const { isMonetary = false, isPercentage = false, decimalPlaces = 0, } = options; let displayValue; if (isMonetary) { displayValue = formatCurrency(value, decimalPlaces); } else if (isPercentage) { displayValue = formatPercent(value, decimalPlaces); } else { displayValue = formatNumber(value, decimalPlaces); } return (
| Campaign | Spend | Reach | Impressions | CPM | CTR | Results | Value | Engagements |
|---|---|---|---|---|---|---|---|---|
|
{campaign.objective}
|