@extends('layouts.app')
@section('title', 'Recent Sales')
@section('content')
@php
$method = fn ($key) => $methodNames[$key] ?? ucwords(str_replace('_', ' ', (string) ($key ?: 'cash')));
$qty = fn ($v) => rtrim(rtrim(number_format((float) $v, 2), '0'), '.');
$dayLabel = function ($date) {
if ($date->isToday()) return 'Today';
if ($date->isYesterday()) return 'Yesterday';
return $date->format('l, d M Y');
};
$periods = ['all' => 'All', 'today' => 'Today', 'yesterday' => 'Yesterday', 'week' => 'Last 7 days'];
$canEdit = auth()->user()->hasPermission('edit_pos_sell');
$canDelete = auth()->user()->hasPermission('delete_pos_sell');
@endphp
Recent Sales
{{ $seesAll ? 'Sales from every till' : 'Your sales' }}, newest first.
@if($summary['last_sale'])
Last sale {{ \Carbon\Carbon::parse($summary['last_sale'])->diffForHumans() }}.
@endif
Back to POS
Today
{{ formatCurrency($summary['today_total']) }}
{{ number_format($summary['today_count']) }} {{ $summary['today_count'] == 1 ? 'sale' : 'sales' }}
This shift
@if($summary['shift_total'] !== null)
{{ formatCurrency($summary['shift_total']) }}
{{ number_format($summary['shift_count']) }} {{ $summary['shift_count'] == 1 ? 'sale' : 'sales' }} on your open register
@else
-
No register open
@endif
@if($sales->isEmpty())
@if($search !== '' || $period !== 'all')
No sales match{{ $search !== '' ? ' "' . $search . '"' : '' }}.
Show all recent sales
@else
No sales yet. Sales appear here as soon as they are made.
@endif
@else
@foreach($sales->getCollection()->groupBy(fn ($s) => $s->created_at->toDateString()) as $day => $daySales)
{{ $dayLabel(\Carbon\Carbon::parse($day)) }}
{{ $daySales->count() }} {{ $daySales->count() == 1 ? 'sale' : 'sales' }} ยท {{ formatCurrency($daySales->sum('total_amount')) }}
@foreach($daySales as $sale)
@php
$names = $sale->items->map(fn ($i) => $i->product?->name ?? 'Deleted product');
$cashier = $sale->user?->name ?? $sale->register?->user?->name;
@endphp
{{ $names->take(3)->implode(', ') }}
@if($names->count() > 3)+{{ $names->count() - 3 }} more@endif
{{ $sale->customer_name ?: 'Walk-in' }}
@if($sale->contact_number) {{ $sale->contact_number }}@endif
{{ $qty($sale->items->sum('quantity')) }} {{ $sale->items->sum('quantity') == 1 ? 'item' : 'items' }}
@if($seesAll && $cashier) {{ $cashier }}@endif
@if($sale->is_edited) Edited@endif
@if($sale->hasDiscount()) {{ formatCurrency($sale->discount_amount) }} off@endif
@if(strtolower((string) $sale->payment_status) !== 'paid'){{ ucfirst($sale->payment_status ?: 'Unpaid') }}@endif
@if($sale->payment_method === 'split' && $sale->payments->isNotEmpty())
@foreach($sale->payments as $payment)
{{ $method($payment->method) }} {{ number_format($payment->amount) }}
@endforeach
@else
{{ $method($sale->payment_method) }}
@endif
{{ formatCurrency($sale->total_amount) }}
@if($canEdit)
@endif
@if($canDelete)
@endif
@endforeach
@endforeach
@if($sales->hasPages())
{{ $sales->links() }}
@endif
@endif
@endsection
@section('scripts')
@endsection