Commit design approval workflow and related features
- Add design approval workflow components and API routes - Update checkout process for design approval integration - Add admin navigation for design management - Update mail utilities for design notifications - Update types for design approval system - Update Prisma schema for design approval database Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Haiku 4.5
parent
14fa3acc7a
commit
313943aeaa
@@ -19,6 +19,8 @@ type CheckoutCartItem = {
|
||||
designPreviewUrlBack: string | null;
|
||||
placementPreviewUrl: string | null;
|
||||
placementPreviewUrlBack: string | null;
|
||||
designWidthCm: number | null;
|
||||
designHeightCm: number | null;
|
||||
};
|
||||
|
||||
type GuestInfo = {
|
||||
@@ -111,6 +113,8 @@ export async function POST(req: Request) {
|
||||
designPreviewUrlBack: i.designPreviewUrlBack,
|
||||
placementPreviewUrl: i.placementPreviewUrl,
|
||||
placementPreviewUrlBack: i.placementPreviewUrlBack,
|
||||
designWidthCm: i.designWidthCm,
|
||||
designHeightCm: i.designHeightCm,
|
||||
})),
|
||||
},
|
||||
},
|
||||
|
||||
@@ -249,6 +249,15 @@ export async function GET(req: Request, { params }: { params: { id: string } })
|
||||
<p><strong>Order ID:</strong> ${order.id}</p>
|
||||
<p><strong>Product:</strong> ${item.productName}</p>
|
||||
<p><strong>Color:</strong> ${item.color} ${item.size ? `| Size: ${item.size}` : ''}</p>
|
||||
${item.designWidthCm && item.designHeightCm ? `<p><strong>Design Dimensions (Overall):</strong> ${item.designWidthCm} cm × ${item.designHeightCm} cm</p>` : ''}
|
||||
${item.designImageDimensions ? (() => {
|
||||
try {
|
||||
const imageDims = JSON.parse(item.designImageDimensions);
|
||||
return imageDims && imageDims.length > 0 ? `<p><strong>Image Dimensions:</strong><ul style="margin: 5px 0 0 20px;">${imageDims.map((img, idx) => `<li>Image ${idx + 1}: ${img.widthCm} cm × ${img.heightCm} cm</li>`).join('')}</ul></p>` : '';
|
||||
} catch (e) {
|
||||
return '';
|
||||
}
|
||||
})() : ''}
|
||||
<p><strong>Order Date:</strong> ${new Date(order.createdAt).toLocaleDateString()}</p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -133,6 +133,7 @@ export default function CheckoutPageClient({ isLoggedIn, customer }: CheckoutPag
|
||||
}
|
||||
|
||||
console.log('📡 Fetching /api/checkout with', items.length, 'items');
|
||||
console.log('📦 Cart items:', JSON.stringify(items, null, 2));
|
||||
const res = await fetch('/api/checkout', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
|
||||
Reference in New Issue
Block a user