diff --git a/src/app/admin/accounts/expenses/[id]/page.tsx b/src/app/admin/accounts/expenses/[id]/page.tsx new file mode 100644 index 0000000..c48ae6e --- /dev/null +++ b/src/app/admin/accounts/expenses/[id]/page.tsx @@ -0,0 +1,60 @@ +import Link from 'next/link'; +import { notFound } from 'next/navigation'; +import { prisma } from '@/lib/prisma'; +import AdminNav from '@/components/AdminNav'; +import Price from '@/components/Price'; + +export default async function ExpenseDetailPage({ params }: { params: { id: string } }) { + const expense = await prisma.expense.findUnique({ where: { id: params.id } }); + if (!expense) notFound(); + + const isPdf = expense.receiptDataUrl?.startsWith('data:application/pdf'); + + return ( +
+ +
+

{expense.description}

+ + {expense.date.toLocaleDateString('en-GB', { day: '2-digit', month: 'long', year: 'numeric' })} + +
+ +
+

+ Category: {expense.category} +

+

+ +

+ {expense.notes &&

{expense.notes}

} +
+ + {expense.receiptDataUrl && ( +
+

Receipt{expense.receiptFileName ? ` — ${expense.receiptFileName}` : ''}

+ {isPdf ? ( +