diff --git a/resources/js/components/AppSidebar.vue b/resources/js/components/AppSidebar.vue index a44ff69..bf28efe 100644 --- a/resources/js/components/AppSidebar.vue +++ b/resources/js/components/AppSidebar.vue @@ -2,7 +2,7 @@ import NavFooter from '@/components/NavFooter.vue'; import NavMain from '@/components/NavMain.vue'; import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarTrigger } from '@/components/ui/sidebar'; -import { dashboard, crm, offers, invoices, timesheets, customers, leads, achievements } from '@/routes'; +import { dashboard, crm, offers, invoices, newInvoice, timesheets, customers, leads, achievements } from '@/routes'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip' import { Kbd } from '@/components/ui/kbd' import { edit } from '@/routes/profile'; @@ -59,7 +59,7 @@ const mainNavGroups: NavGroup[] = [ title: "Neue Rechnung", icon: Plus, color: 'text-foreground', - href: invoices() + href: newInvoice() } }, { @@ -92,7 +92,7 @@ const footerNavItems: NavItem[] = [ - + diff --git a/resources/js/pages/Invoices.vue b/resources/js/pages/Invoices.vue index 57e51a4..7edf6d0 100644 --- a/resources/js/pages/Invoices.vue +++ b/resources/js/pages/Invoices.vue @@ -39,6 +39,10 @@ onMounted(async () => { customersData.value = customerResponse.data as Customer[] searchField.value = document.getElementById('search') + + let queryString = window.location.search + let params = new URLSearchParams(queryString) + if (params.get('action') == 'new') showDetail(newInvoice()) }) watch(invoicesData, () => { diff --git a/routes/web.php b/routes/web.php index 774ec67..fc7bb47 100644 --- a/routes/web.php +++ b/routes/web.php @@ -40,6 +40,10 @@ return Inertia::render('Invoices'); })->middleware(['auth', 'verified'])->name('invoices'); +Route::get('invoices?action=new', function () { + return Inertia::render('Invoices'); +})->middleware(['auth', 'verified'])->name('newInvoice'); + Route::get('invoice/{id}', [InvoiceController::class, 'preview']) ->middleware(['auth', 'verified']) ->name('invoice.preview');