@php
use App\Enums\Payments\OrderType;
use App\Enums\InvoiceStatus;
@endphp
@forelse($invoices as $invoice)
@php
$statusColorMap = [
'created' => 'bg-zinc-500/10 text-zinc-600 dark:text-zinc-400 border border-zinc-500/20',
'open' => 'bg-indigo-500/10 text-indigo-600 dark:text-indigo-400 border border-indigo-500/20',
'confirmed' => 'bg-teal-500/10 text-teal-600 dark:text-teal-400 border border-teal-500/20',
'in-design' => 'bg-orange-500/10 text-orange-600 dark:text-orange-400 border border-orange-500/20',
'in_design' => 'bg-orange-500/10 text-orange-600 dark:text-orange-400 border border-orange-500/20',
'out-for-delivery' => 'bg-sky-500/10 text-sky-600 dark:text-sky-400 border border-sky-500/20',
'out_for_delivery' => 'bg-sky-500/10 text-sky-600 dark:text-sky-400 border border-sky-500/20',
'email_sent' => 'bg-sky-500/10 text-sky-600 dark:text-sky-400 border border-sky-500/20',
'completed' => 'bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 border border-emerald-500/20',
'paid' => 'bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 border border-emerald-500/20',
'cancelled' => 'bg-rose-500/10 text-rose-600 dark:text-rose-400 border border-rose-500/20',
];
$currentStatusClass = $statusColorMap[$invoice->status->value] ?? 'bg-zinc-500/10 text-zinc-600 border border-zinc-500/20';
@endphp
{{ $loop->iteration }}
@isset($invoice->order)
{{ $invoice->compact_invoice_number }}
{{ $invoice->year_month_display }}
@else
{{ $invoice->compact_invoice_number }}
{{ $invoice->year_month_display }}
@endisset
{{ Str::headline($invoice->order?->order_type?->value ?? 'N/A') }}
@if($invoice->order?->customer)
{{ mb_substr($invoice->order->customer?->name ?? 'N', 0, 1) }}
{{ $invoice->order->customer?->name ?? 'No customer' }}
@else
N/A
@endif
@if($invoice->order?->delivery)
@if($invoice->order->delivery->is_in_store_pickup)
In-Store Pickup
@elseif($invoice->order->delivery->name)
{{ mb_substr($invoice->order->delivery->name, 0, 1) }}
{{ $invoice->order->delivery->name }}
@else
N/A
@endif
@else
N/A
@endif
{{ Str::headline($invoice->status->value) }}
@foreach(App\Enums\InvoiceStatus::cases() as $status)
@if($status->value !== $invoice->status->value)
@php
$dotColorMap = [
'created' => 'bg-zinc-500',
'open' => 'bg-indigo-500',
'confirmed' => 'bg-teal-500',
'in-design' => 'bg-orange-500',
'in_design' => 'bg-orange-500',
'out-for-delivery' => 'bg-sky-500',
'out_for_delivery' => 'bg-sky-500',
'email_sent' => 'bg-sky-500',
'completed' => 'bg-emerald-500',
'paid' => 'bg-emerald-500',
'cancelled' => 'bg-rose-500',
];
@endphp
{{ Str::headline($status->value) }}
@endif
@endforeach
{{ $invoice->order?->formatted_order_date }}
{{ $invoice->order?->formatted_delivery_date }}
@if($invoice->order && $invoice->order->order_type && !in_array($invoice->order->order_type, [OrderType::Wired->value, OrderType::Web->value]))
@isset($invoice->status->value)
@php
// Check if payment is needed: invoice is open AND order is not fully paid
$needsPayment = in_array($invoice->status->value, ['open', 'confirmed', 'in-design', 'in_design'])
&& !$invoice->order->isPaid()
&& $invoice->order->total > 0;
@endphp
@if($needsPayment)
compact_invoice_number }}', amount: '{{ $invoice->order->total }}' } }))">
Pay Now
@endif
@endisset
@endif
@isset($invoice->order)
order->id }} } }))">
Preview
View Invoice
Edit Order
Duplicate Invoice
@if($invoice->sale)
View Sale Record
@else
Add to Sales
@endif
@else
Add Order
@endisset
@if($invoice->order && $invoice->order->order_type === OrderType::Phone)
View Stripe Payments
@endif
@if ($invoice->status === InvoiceStatus::Completed)
@if ($invoice->flowerRecipe)
View Recipe
Edit Recipe
@else
Log Recipe
@endif
@endif
@if($invoice->order && in_array($invoice->order->order_type, [OrderType::Phone->value, OrderType::Email->value]))
id }}, customerName: '{{ addslashes($invoice->order->customer->name ?? '') }}', customerEmail: '{{ $invoice->order->customer->email ?? '' }}' } }))">
Send Confirmation
@if(in_array($invoice->status->value, ['open', 'confirmed', 'in-design', 'in_design']) && !$invoice->order->isPaid())
Send Payment Link
@endif
@endif
@empty