From b3e44efd137dc5675eec98a26929ff1c5975d4b3 Mon Sep 17 00:00:00 2001 From: Matt Young Date: Wed, 28 Jan 2026 06:57:06 -0600 Subject: [PATCH] Invoice Listing --- .../views/components/⚡invoice-list.blade.php | 87 +++++++++++++++++++ resources/views/invoices/index.blade.php | 8 ++ resources/views/layouts/app/sidebar.blade.php | 4 + routes/web.php | 1 + 4 files changed, 100 insertions(+) create mode 100644 resources/views/components/⚡invoice-list.blade.php create mode 100644 resources/views/invoices/index.blade.php diff --git a/resources/views/components/⚡invoice-list.blade.php b/resources/views/components/⚡invoice-list.blade.php new file mode 100644 index 0000000..ba1a24e --- /dev/null +++ b/resources/views/components/⚡invoice-list.blade.php @@ -0,0 +1,87 @@ +sortBy === $column) { + $this->sortDirection = $this->sortDirection === 'asc' ? 'desc' : 'asc'; + } else { + $this->sortBy = $column; + $this->sortDirection = 'asc'; + } + } + + #[Computed] + public function invoices() + { + return Invoice::orderBy($this->sortBy, $this->sortDirection)->paginate(10); + } + +}; +?> + + +
+ + + + Invoice Number + + + + Client + + + + Status + + + + Invoice Date + + + + Sent + + + Due Date + + + Total + + + + + @foreach($this->invoices as $invoice) + + {{ $invoice->number }} + {{ $invoice->client->abbreviation }} + {{ $invoice->status->value }} + {{ $invoice->invoice_date }} + {{ $invoice->sent_at }} + {{ $invoice->due_date }} + {{ formatMoney($invoice->total) }} + + + @endforeach + + +
diff --git a/resources/views/invoices/index.blade.php b/resources/views/invoices/index.blade.php new file mode 100644 index 0000000..e35926c --- /dev/null +++ b/resources/views/invoices/index.blade.php @@ -0,0 +1,8 @@ + +
+{{--
--}} +{{-- --}} +{{--
--}} + +
+
diff --git a/resources/views/layouts/app/sidebar.blade.php b/resources/views/layouts/app/sidebar.blade.php index ddc9445..94fe7ee 100644 --- a/resources/views/layouts/app/sidebar.blade.php +++ b/resources/views/layouts/app/sidebar.blade.php @@ -28,6 +28,10 @@ {{ __('Products') }} + + {{ __('Invoices') }} + + diff --git a/routes/web.php b/routes/web.php index 5bcde0e..3b47f26 100644 --- a/routes/web.php +++ b/routes/web.php @@ -12,6 +12,7 @@ Route::middleware(['auth', 'verified'])->group(function () { Route::view('clients', 'clients.index')->name('clients'); Route::view('contacts', 'contacts.index')->name('contacts'); Route::view('products', 'products.index')->name('products'); + Route::view('invoices', 'invoices.index')->name('invoices'); }); // Route::view('dashboard', 'dashboard')