@extends('admin.layouts.app')
@section('title', 'Dashboard')
@section('content')
@php
$money = fn ($v) => ($v < 0 ? '-' : '') . '$' . number_format(abs($v), 2);
$boxes = [
['title' => 'Income', 'value' => $income, 'prev' => $prevIncome, 'delta' => $deltas['income'], 'goodWhenUp' => true, 'sub' => $salesCount . ' sales'],
['title' => 'Expenses', 'value' => $expenses, 'prev' => $prevExpenses, 'delta' => $deltas['expenses'], 'goodWhenUp' => false, 'sub' => null],
['title' => 'Net profit', 'value' => $net, 'prev' => $prevNet, 'delta' => $deltas['net'], 'goodWhenUp' => true, 'sub' => null],
];
$barMax = max($income, $expenses, $prevIncome, $prevExpenses, 0.01);
@endphp
{{-- Income | Expenses | Net profit, side by side --}}
@foreach ($boxes as $box)
{{ $box['title'] }}
{{ $money($box['value']) }}
@if ($box['delta'] === null)
New — nothing to compare with {{ $prevLabel }}
@elseif ($box['delta'] == 0)
No change vs {{ $prevLabel }}
@else
@php $isGood = ($box['delta'] > 0) === $box['goodWhenUp']; @endphp
{{ $box['delta'] > 0 ? '▲' : '▼' }} {{ abs($box['delta']) }}% vs {{ $prevLabel }}
@endif
{{ ucfirst($prevLabel) }}: {{ $money($box['prev']) }}
@if ($box['sub']) · {{ $box['sub'] }} @endif
@endforeach
{{-- Comparison bars --}}
Income vs Expenses {{ $periodLabel }} compared with {{ $prevLabel }}
@foreach ([['Income', $income, $prevIncome], ['Expenses', $expenses, $prevExpenses]] as [$name, $cur, $prev])
@endforeach
{{ $periodLabel }}
{{ ucfirst($prevLabel) }}
@if ($income > 0)
Expenses are {{ round(($expenses / $income) * 100) }}% of income {{ strtolower($periodLabel) }}.
@else
No income recorded {{ strtolower($periodLabel) }} yet.
@endif
Recent sales
| Invoice |
Pump |
Fuel |
Liters |
Total |
Cashier |
Time |
@forelse ($recentSales as $sale)
| {{ $sale->invoice_number }} |
{{ $sale->pump->name }} |
{{ $sale->pump->fuelType->name }} |
{{ number_format($sale->liters, 2) }} |
${{ number_format($sale->total, 2) }} |
{{ $sale->cashier->name }} |
{{ $sale->created_at->format('d/m H:i') }} |
@empty
| No sales yet. |
@endforelse
@endsection