@props(['atual', 'anterior' => null, 'rotulo', 'altaEBoa' => true, 'compacto' => false, 'curto' => null])
{{-- Comparativo sem base fica oculto (decisão de 15/09/2026): loja que ainda
não existia, mês sem valor. Um "+∞%" ou "-100%" contra zero não informa.
Três formas: etiqueta (padrão, nos cartões: "▲ 7,5% mês"), compacta (nas
tabelas, só a seta e o número) e, no título, sempre o valor de comparação. --}}
@php
$base = $anterior === null ? 0.0 : (float) $anterior;
@endphp
@if ($anterior !== null && abs($base) >= 0.005)
@php
$percentual = ((float) $atual - $base) / abs($base) * 100;
$subiu = $percentual >= 0;
$bom = $subiu === (bool) $altaEBoa;
$texto = number_format(abs($percentual), 1, ',', '.').'%';
@endphp
@if ($compacto)
class(['flex items-center gap-0.5 tabular-nums', 'text-emerald-700' => $bom, 'text-rose-700' => ! $bom]) }}
title="vs {{ $rotulo }}: {{ number_format($base, 2, ',', '.') }}">
{{ $subiu ? '▲' : '▼' }}
{{ $subiu ? 'subiu' : 'caiu' }}{{ $texto }}
@else
class([
'inline-flex items-center gap-1 rounded-sm px-2 py-0.5 text-xs font-medium tabular-nums',
'bg-emerald-50 text-emerald-800' => $bom,
'bg-rose-50 text-rose-800' => ! $bom,
]) }} title="vs {{ $rotulo }}: {{ number_format($base, 2, ',', '.') }}">
{{ $subiu ? '▲' : '▼' }}
{{ $subiu ? 'subiu' : 'caiu' }}
{{ $texto }}
{{ $curto ?? 'vs '.$rotulo }}
@endif
@endif