Add design approval workflow and per-image dimension tracking

- Add DesignApproval and DesignApprovalMessage models for design review workflow
- Add design approval admin interface (list, detail, chat, approve/reject)
- Add per-image dimension tracking to OrderItem
- Add design submission API endpoint
- Add AdminDesignEditor for admin-side design modifications
- Add DesignApprovalChat component for customer-admin communication
- Update design specification generation with image dimension details
- Add design persistence across login with next parameter redirect
- Add font properties UI with font size and color display

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
Andymick
2026-07-18 16:21:19 +01:00
co-authored by Claude Haiku 4.5
parent 10764f3a5b
commit 5c4774be84
16 changed files with 935 additions and 1 deletions
+30 -1
View File
@@ -17,7 +17,36 @@
"Bash(git push *)",
"Bash(rm -rf .next)",
"Bash(npm run *)",
"Bash(git commit -m 'Wire Stage 3 reports to real data *)"
"Bash(git commit -m 'Wire Stage 3 reports to real data *)",
"Bash(git config *)",
"Bash(Get-ChildItem \"D:\\\\Craft2Prints\" -Directory)",
"Bash(Select-Object Name)",
"Bash(Get-ChildItem \"D:\\\\\" -Directory -Filter \"*craft*\" -Force | Select-Object Name)",
"Bash(npm install *)",
"PowerShell(Stop-Process -Id 22068 -Force -ErrorAction SilentlyContinue)",
"Bash(netstat -ano)",
"Bash(findstr :3000)",
"Bash(Start-Sleep -Seconds 3)",
"PowerShell(\\(Get-Content \"D:\\\\Craft2Prints\\\\src\\\\app\\\\api\\\\checkout\\\\route.ts\" | Measure-Object -Line\\).Lines)",
"Bash(git commit *)",
"PowerShell(Get-Item \"D:\\\\Craft2Prints\\\\dev.db\" -ErrorAction SilentlyContinue | Select-Object FullName, @{Name=\"SizeKB\";Expression={$_.Length/1KB}}, LastWriteTime)",
"Bash(sqlite3 -json \"SELECT designJson FROM order_items LIMIT 1;\")",
"Bash(node -e ' *)",
"Bash(git diff *)",
"Bash(xargs grep -l \"ProductDTO\")",
"Bash(npx tsx -e ' *)",
"Bash(psql -U postgres -d craft2prints -c \"SELECT id, name, \\\\\"referenceWidthCm\\\\\", \\\\\"referenceHeightCm\\\\\" FROM \\\\\"Product\\\\\" LIMIT 1;\")",
"Bash(npx ts-node *)",
"Bash(node \"C:\\\\Users\\\\Lyons\\\\AppData\\\\Local\\\\Temp\\\\claude\\\\D--Craft2Prints\\\\7f0f7e09-1d03-4e4a-b5dc-529896c9a855\\\\scratchpad\\\\query_product.js\")",
"Bash(sqlite3 \"D:\\\\Craft2Prints\\\\prisma\\\\dev.db\" \"SELECT id, name, referenceWidthCm, referenceHeightCm FROM Product WHERE slug = 'classic-t-shirt';\")",
"Bash(xargs grep -l \"prisma.order.create\")",
"Bash(node -e \"const fs = require\\('fs'\\); const content = fs.readFileSync\\('src/components/DesignCanvas.tsx', 'utf8'\\); console.log\\('File read successfully, length:', content.length\\)\")",
"Bash(python3)",
"Bash(pkill -f \"node.*next\")",
"Bash(rm -rf .next node_modules/.cache)",
"Bash(git commit -m 'Fix JSX syntax errors in DesignCanvas - close bracket issues *)",
"Bash(rm -rf craft2prints)",
"Bash(git commit -m 'Add design approval workflow and per-image dimension tracking *)"
]
}
}