@extends('app.shell') @section('body') @php /** @var \App\Models\Person $mePerson */ /** @var string $monthLabel */ /** @var float $totalSpent */ /** @var int $expenseCount */ /** @var float $avgExpense */ /** @var float $myPaid */ /** @var float $myShare */ /** @var \App\Models\Person|null $topPayer */ /** @var float|null $topPayerAmount */ /** @var array{category:string,emoji:string,amount:float}|null $topCategory */ /** @var array $fairness */ $locale = app()->getLocale(); $displayCurrency = request()->user()?->profile?->currency ?: 'USD'; $m = fn (float $n): array => \App\Support\Money::formatConvertedWithOriginal($n, $displayCurrency, $displayCurrency, $locale); @endphp

{{ $monthLabel }}

{{ __('Total spent') }}

@php $fmtTotal = $m((float) $totalSpent); @endphp {{ $fmtTotal['primary'] }}

{{ $expenseCount }} {{ __('transactions') }}

{{ __('Avg expense') }}

@php $fmtAvg = $m((float) $avgExpense); @endphp {{ $fmtAvg['primary'] }}

{{ __('Per transaction') }}

{{ __('You paid') }}

@php $fmtPaid = $m((float) $myPaid); @endphp {{ $fmtPaid['primary'] }}

{{ __('Your share') }}

@php $fmtShare = $m((float) $myShare); @endphp {{ $fmtShare['primary'] }}

@if ($topPayer)
{{ $topPayer->avatar }}

{{ __(':name paid the most', ['name' => $topPayer->name]) }}

@php $fmtTop = $m((float) ($topPayerAmount ?? 0)); @endphp {{ __(':amount this month', ['amount' => $fmtTop['primary']]) }}

@endif @if ($topCategory)
{{ $topCategory['emoji'] }}

{{ __('Top category: :category', ['category' => $topCategory['category']]) }}

@php $fmtCat = $m((float) $topCategory['amount']); @endphp {{ __(':amount spent', ['amount' => $fmtCat['primary']]) }}

@endif

{{ __('Fairness') }}

@if (count($fairness) === 0)

{{ __('Not enough data yet.') }}

@else @foreach ($fairness as $i => $f)
{{ $f['user']->avatar }}

{{ $f['user']->name }}

@php $fmtFPaid = $m((float) $f['totalPaid']); @endphp @php $fmtFShare = $m((float) $f['totalShare']); @endphp {{ __('Paid :paid ยท Share :share', ['paid' => $fmtFPaid['primary'], 'share' => $fmtFShare['primary']]) }}

@php $status = $f['status']; $badgeClass = $status === 'overpaying' ? 'bg-owe-muted text-owe' : ($status === 'underpaying' ? 'bg-primary-muted text-primary' : 'bg-secondary text-muted-foreground'); $label = $status === 'overpaying' ? __('Overpaying') : ($status === 'underpaying' ? __('Underpaying') : __('Fair')); @endphp {{ $label }}
@php $barClass = $status === 'overpaying' ? 'bg-owe' : ($status === 'underpaying' ? 'bg-primary' : 'bg-success'); $w = min(100, (float) $f['contributionPct']); @endphp
{{ (int) round((float) $f['contributionPct']) }}%
@if ($i < count($fairness) - 1)
@endif
@endforeach @endif
@endsection