@extends('layouts.user') @section('title', __('expenses.page_title')) @section('page_title', __('expenses.page_title')) @section('breadcrumb', __('expenses.breadcrumb')) @section('content') @php use Carbon\Carbon; $money = fn ($value) => number_format((float) $value, 2); $locale = app()->getLocale(); $formatDate = function ($date, $format = 'd M Y') use ($locale) { return $date ? Carbon::parse($date)->locale($locale)->translatedFormat($format) : '—'; }; $formatTime = function ($date, $format = 'h:i A') use ($locale) { return $date ? Carbon::parse($date)->locale($locale)->translatedFormat($format) : '—'; }; $monthName = function ($month) use ($locale) { return Carbon::createFromDate(now()->year, (int) $month, 1) ->locale($locale) ->translatedFormat('M'); }; $activeChips = []; if (request('date')) { $activeChips[] = [ 'label' => __('expenses.chips.date'), 'value' => $formatDate(request('date'), 'd M Y'), ]; } if (request('month')) { $activeChips[] = [ 'label' => __('expenses.chips.month'), 'value' => $monthName(request('month')), ]; } if (request('year')) { $activeChips[] = [ 'label' => __('expenses.chips.year'), 'value' => request('year'), ]; } if (request('expense_category_id')) { $activeChips[] = [ 'label' => __('expenses.chips.category'), 'value' => optional($categories->firstWhere('id', (int) request('expense_category_id')))->name, ]; } if (request('user_account_id')) { $activeChips[] = [ 'label' => __('expenses.chips.account'), 'value' => optional($accounts->firstWhere('id', (int) request('user_account_id')))->name, ]; } if (request('search')) { $activeChips[] = [ 'label' => __('expenses.chips.search'), 'value' => request('search'), ]; } @endphp
{{-- Header --}}
{{-- Summary Cards --}}
{{ __('expenses.cards.total_filtered') }}
{{ $money($totalAmount) }}
{{ __('expenses.cards.items_count', ['count' => $countItems]) }}
{{ __('expenses.cards.today') }}
{{ $money($todayAmount) }}
{{ now()->locale($locale)->translatedFormat('d M Y') }}
{{ __('expenses.cards.this_month') }}
{{ $money($monthAmount) }}
{{ now()->locale($locale)->translatedFormat('F Y') }}
{{-- Filters --}}
{{ __('expenses.filters.title') }}
{{ __('expenses.filters.helper') }}
{{ __('expenses.reset') }} @if(count($activeChips))
@foreach($activeChips as $chip) @if(!empty($chip['value'])) {{ $chip['label'] }}: {{ $chip['value'] }} @endif @endforeach
@endif
{{-- Table --}}
{{ __('expenses.table.title') }}
{{ __('expenses.table.showing', ['count' => $expenses->count(), 'total' => $expenses->total()]) }}
@forelse($expenses as $e) @if($e->note) @endif @empty @endforelse
{{ __('expenses.table.date_time') }} {{ __('expenses.table.trx') }} {{ __('expenses.table.category') }} {{ __('expenses.table.account') }} {{ __('expenses.table.proof') }} {{ __('expenses.table.amount') }} {{ __('expenses.table.action') }}
{{ $formatDate($e->posted_at, 'd M Y') }}
{{ $formatTime($e->posted_at, 'h:i A') }}
{{ $e->trx_no }} {{ $e->category?->name ?? '—' }} {{ $e->account?->name ?? '—' }} @if($e->proof_photo) {{ __('expenses.table.view_proof') }} @else @endif {{ $money($e->amount) }} {{ __('expenses.actions.edit') }}
@csrf @method('DELETE')
{{ __('expenses.note_label') }} {{ $e->note }}
{{ __('expenses.empty.title') }}
{{ __('expenses.empty.subtitle') }}
{{ __('expenses.add_expense') }}
{{ $expenses->links() }}
@endsection