@props([ 'objectiveKey', 'objectiveData', 'usesDailyMetrics' => false, 'usdToTndRate' => 4, ]) @php $isConversion = $objectiveKey === 'conversion'; $label = $isConversion ? 'Couverture' : 'Interaction'; $resultLabel = $isConversion ? 'Couverture' : 'Interactions'; $adsWithMetrics = $objectiveData['ads_with_metrics'] ?? []; $groupedReportAds = collect($adsWithMetrics)->groupBy(fn ($row) => (string) $row['ad']->post_name); $postTotalsByName = collect($objectiveData['by_post'] ?? [])->keyBy('post_name'); $headerBg = $isConversion ? '#ecfdf5' : '#f5f3ff'; $headerColor = $isConversion ? '#065f46' : '#5b21b6'; $pubBg = $isConversion ? '#d1fae5' : '#ede9fe'; $subtotalBg = $isConversion ? '#a7f3d0' : '#ddd6fe'; $totalBg = $isConversion ? '#059669' : '#7c3aed'; $rowAltBg = $isConversion ? '#f0fdf4' : '#f5f3ff'; $barSpendColor = '#E83646'; $barResultColor = $isConversion ? '#16a34a' : '#7c3aed'; if ($usesDailyMetrics && ($objectiveData['daily'] ?? []) !== []) { $chartRows = collect($objectiveData['daily'])->map(fn (array $row) => [ 'label' => (string) $row['date'], 'spend' => (float) $row['spend'], 'results' => (int) $row['results'], ]); } else { $chartRows = collect($objectiveData['by_post'] ?? [])->map(fn (array $row) => [ 'label' => (string) $row['post_name'], 'spend' => (float) $row['spend'], 'results' => $isConversion ? (int) $row['conversions'] : (int) $row['interactions'], ]); } $maxSpend = max($chartRows->pluck('spend')->all() ?: [1]); $maxResults = max($chartRows->pluck('results')->all() ?: [1]); if ($maxSpend <= 0) { $maxSpend = 1; } if ($maxResults <= 0) { $maxResults = 1; } @endphp @if ($adsWithMetrics !== [])
@endif