diff --git a/.claude/settings.local.json b/.claude/settings.local.json index e4ca634..2747beb 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -162,7 +162,8 @@ "Bash(git commit -m 'Fix: NavDropdown link navigation with stopPropagation *)", "Bash(git commit -m 'Feat: Remove all filters from products pages *)", "Bash(git commit -m 'Feat: Add loading spinner for made-to-order page *)", - "Bash(git commit -m 'Revert: Remove loading spinner - was slowing down page *)" + "Bash(git commit -m 'Revert: Remove loading spinner - was slowing down page *)", + "Bash(git commit -m 'Fix: Show approved designs in customer account so they can order *)" ] } } diff --git a/src/app/account/page.tsx b/src/app/account/page.tsx index c20c115..ac9bcb2 100644 --- a/src/app/account/page.tsx +++ b/src/app/account/page.tsx @@ -47,6 +47,12 @@ export default async function AccountPage({ searchParams }: { searchParams: { su orderBy: { createdAt: 'desc' }, }); + const approvedDesigns = await prisma.designApproval.findMany({ + where: { customerEmail: customer.email, status: 'APPROVED' }, + include: { product: true }, + orderBy: { createdAt: 'desc' }, + }); + // Separate recent (< 7 days) and older (>= 7 days) orders const now = new Date(); const sevenDaysAgo = new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000); @@ -121,6 +127,39 @@ export default async function AccountPage({ searchParams }: { searchParams: { su )} +
No approved designs ready to order.
+ ) : ( +{design.product.name}
++ Approved {new Date(design.createdAt).toLocaleDateString(undefined, { dateStyle: 'medium' })} +
+ {design.expectedDeliveryDate && ( ++ Est. delivery: {new Date(design.expectedDeliveryDate).toLocaleDateString(undefined, { dateStyle: 'medium' })} +
+ )} +No orders yet.
diff --git a/src/app/admin/designs/[id]/page.tsx b/src/app/admin/designs/[id]/page.tsx index 410fc45..311a893 100644 --- a/src/app/admin/designs/[id]/page.tsx +++ b/src/app/admin/designs/[id]/page.tsx @@ -57,6 +57,7 @@ export default function DesignDetailPage({ params }: { params: { id: string } }) if (res.ok) { const updated = await res.json(); setDesign(updated); + alert(`✓ Design approved! Customer will receive an email with a link to order.${expectedDeliveryDate ? ` Estimated delivery: ${new Date(expectedDeliveryDate).toLocaleDateString()}` : ''}`); } } finally { setApproving(false);