@props(['module']) @php $labels = collect(data_get($module, 'data.labels', []))->values(); $dataset = collect(data_get($module, 'data.datasets', []))->first() ?? []; $values = collect(data_get($dataset, 'data', []))->map(fn ($value) => $value === null ? 0 : (float) $value)->values(); $maxValue = max(1, (float) ($values->max() ?? 0)); $unit = (string) data_get($dataset, 'unit', ''); $formatValue = function (float $value) use ($unit): string { if ($unit === 'min') { $minutes = max(0, (int) round($value)); $hours = intdiv($minutes, 60); $remaining = $minutes % 60; return $hours > 0 ? $hours . 'h' . str_pad((string) $remaining, 2, '0', STR_PAD_LEFT) : $remaining . ' min'; } return trim(rtrim(rtrim(number_format($value, 1, ',', ' '), '0'), ',') . ' ' . $unit); }; $rows = $labels ->map(fn ($label, $index) => [ 'label' => $label, 'value' => (float) ($values[$index] ?? 0), ]) ->sortByDesc('value') ->values(); @endphp
{{ data_get($dataset, 'label') }} @if (data_get($dataset, 'unit')) {{ data_get($dataset, 'unit') }} @endif