@extends('layouts.app') @section('title', 'Recent Sales') @section('content') @php $canDelete = auth()->user()->hasPermission('delete_pos_sell'); $filtered = $search !== '' || $day !== 'all' || $method; // ?register= is kept on every link (a register's sales); a super admin's working register needs no parameter $keep = request()->filled('register') && $register ? ['register' => $register->id] : []; $methodStyle = [ 'cash' => ['#047857', '#ecfdf5'], 'airtel_money' => ['#b91c1c', '#fef2f2'], 'mpamba' => ['#0f766e', '#f0fdfa'], 'card' => ['#1d4ed8', '#eff6ff'], 'bank_transfer' => ['#4338ca', '#eef2ff'], 'split' => ['#7c3aed', '#f5f3ff'], ]; $label = fn ($m) => $methods[strtolower((string) $m)] ?? ucwords(str_replace('_', ' ', (string) $m)); // Invoice numbers from the till are long (INV-1792675837162738): show the last 6 digits, full on hover $shortInvoice = fn ($no) => strlen($no) > 12 ? '…' . substr($no, -6) : $no; $when = function ($date) { if (!$date) return ''; if ($date->isToday()) return 'Today'; if ($date->isYesterday()) return 'Yesterday'; return $date->format('d M'); }; @endphp

Recent Sales

{{ number_format($sales->total()) }} sale{{ $sales->total() === 1 ? '' : 's' }}{{ $filtered ? ' found' : '' }}
Back to POS
@if($register)
Only the sales of {{ $register->user->name ?? 'Unknown' }}'s register #{{ $register->id }} · opened {{ optional($register->opened_at)->format('d M Y H:i') }} · {{ $register->closed_at ? 'closed ' . $register->closed_at->format('d M Y H:i') : 'still open' }}
@if($keep && $seesAll) All sales @endif
@endif
@if($keep)@endif
@foreach(['today' => 'Today', 'yesterday' => 'Yesterday', 'all' => 'All'] as $key => $text) {{ $text }} @endforeach
@if($filtered) Clear @endif
@if($seesAll)@endif @forelse($sales as $sale) @php $items = $sale->items ?? collect(); $names = $items->map(fn ($i) => $i->product->name ?? $i->name ?? 'Item'); $pm = strtolower((string) $sale->payment_method); [$fg, $bg] = $methodStyle[$pm] ?? ['#475569', '#f1f5f9']; @endphp @if($seesAll) @endif @empty @endforelse
Time Invoice Items PaymentSold byTotal Actions
{{ $sale->created_at?->format('H:i') }}
{{ $when($sale->created_at) }}
#{{ $shortInvoice($sale->invoice_no) }} @if($sale->is_edited)EDITED@endif
{{ $sale->customer_name ?: 'Walk-in' }}
{{ $names->first() ?? 'No items' }}@if($names->count() > 1) +{{ $names->count() - 1 }} more@endif
{{ rtrim(rtrim(number_format($items->sum('quantity'), 2), '0'), '.') }} item(s)
{{ $label($pm) }} @if($pm === 'split' && $sale->payments->count())
{{ $sale->payments->map(fn ($p) => $label($p->method) . ' ' . number_format($p->amount))->implode(' · ') }}
@endif
{{ $sale->user->name ?? '—' }}MWK {{ number_format($sale->total_amount ?? 0) }}
@if(in_array($sale->id, $editableIds, true)) @endif @if($canDelete)
@csrf @method('DELETE')
@endif
{{ $filtered ? 'No sales match these filters.' : 'No sales yet.' }}
@if($sales->hasPages())
{{ $sales->links() }}
@endif
@endsection @section('scripts') @endsection