git init
This commit is contained in:
18
app/dashboard/invoices/[id]/edit/not-found.tsx
Normal file
18
app/dashboard/invoices/[id]/edit/not-found.tsx
Normal file
@@ -0,0 +1,18 @@
|
||||
import Link from 'next/link';
|
||||
import { FaceFrownIcon } from '@heroicons/react/24/outline';
|
||||
|
||||
export default function NotFound() {
|
||||
return (
|
||||
<main className="flex h-full flex-col items-center justify-center gap-2">
|
||||
<FaceFrownIcon className="w-10 text-gray-400" />
|
||||
<h2 className="text-xl font-semibold">404 Not Found</h2>
|
||||
<p>Could not find the requested invoice.</p>
|
||||
<Link
|
||||
href="/dashboard/invoices"
|
||||
className="mt-4 rounded-md bg-blue-500 px-4 py-2 text-sm text-white transition-colors hover:bg-blue-400"
|
||||
>
|
||||
Go Back
|
||||
</Link>
|
||||
</main>
|
||||
);
|
||||
}
|
||||
39
app/dashboard/invoices/[id]/edit/page.tsx
Normal file
39
app/dashboard/invoices/[id]/edit/page.tsx
Normal file
@@ -0,0 +1,39 @@
|
||||
import Form from '@/app/ui/invoices/edit-form';
|
||||
import Breadcrumbs from '@/app/ui/invoices/breadcrumbs';
|
||||
import {fetchCustomers, fetchInvoiceById} from '@/app/lib/data';
|
||||
import {notFound} from 'next/navigation';
|
||||
import {Metadata} from 'next';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Edit Invoice',
|
||||
}
|
||||
|
||||
export default async function Page(props: {
|
||||
params: Promise<{ id: string }>
|
||||
}) {
|
||||
const params = await props.params;
|
||||
const { id } = params;
|
||||
|
||||
const [invoice, customers] = await Promise.all([
|
||||
fetchInvoiceById(id),
|
||||
fetchCustomers()
|
||||
]);
|
||||
|
||||
if (!invoice) return notFound();
|
||||
|
||||
return (
|
||||
<main>
|
||||
<Breadcrumbs
|
||||
breadcrumbs={[
|
||||
{ label: 'Invoices', href: '/dashboard/invoices' },
|
||||
{
|
||||
label: 'Edit Invoice',
|
||||
href: `/dashboard/invoices/${id}/edit`,
|
||||
active: true,
|
||||
},
|
||||
]}
|
||||
/>
|
||||
<Form invoice={invoice} customers={customers} />
|
||||
</main>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user