Added: - Weight field (weightGrams) to Product model for storing item weights - Shipping fields to Order model (shippingCost, shippingCountry, shippingService) - Royal Mail shipping service (royalmail-shipping.ts) with: * Domestic and international postage calculations * Integration ready for Royal Mail API (currently uses estimated rates) * Support for multiple shipping services * Clear international delivery time warnings - Shipping quotes API endpoint (/api/checkout/shipping-quotes) - Checkout integration to calculate and include shipping cost Weight is stored in grams, displayed to users in kilograms. Shipping cost is calculated based on total cart weight and destination country.
93 lines
6.2 KiB
JSON
93 lines
6.2 KiB
JSON
{
|
|
"permissions": {
|
|
"allow": [
|
|
"Skill(update-config)",
|
|
"Skill(update-config:*)",
|
|
"Bash(npx prisma *)",
|
|
"Bash(xargs grep -l \"effectivePrice\")",
|
|
"Bash(npx tsc *)",
|
|
"Bash(powershell -Command \"Get-ChildItem D:\\\\Craft2Prints -Filter '.env*' -Force | Select-Object Name\")",
|
|
"Bash(dir /a D:\\\\Craft2Prints\\\\.env*)",
|
|
"Bash(git add *)",
|
|
"Bash(git restore *)",
|
|
"Bash(git reset *)",
|
|
"Bash(git checkout *)",
|
|
"Bash(git commit -m ' *)",
|
|
"Bash(git commit -m 'Remove AdminMenu from public site header *)",
|
|
"Bash(git push *)",
|
|
"Bash(rm -rf .next)",
|
|
"Bash(npm run *)",
|
|
"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 *)",
|
|
"Bash(git commit -m 'Remove feedback messages to simplify design canvas layout *)",
|
|
"Bash(git commit -m 'Remove reviews section from product pages *)",
|
|
"Bash(git commit -m 'Reorganize design canvas layout to be more compact *)",
|
|
"Bash(git commit -m 'Make image dimensions and font properties collapsible sections *)",
|
|
"Bash(rm -rf \"D:\\\\Craft2Prints\\\\src\\\\app\\\\api\\\\designs\\\\[id]\\\\delete\" && echo \"Deleted unnecessary delete folder\")",
|
|
"Bash(git commit -m 'Add customer approval status messages and admin delete option *)",
|
|
"Bash(grep -n '`' \"D:\\\\Craft2Prints\\\\src\\\\components\\\\DesignCanvas.tsx\")",
|
|
"Bash(npx prettier *)",
|
|
"Bash(git commit -m 'Add design approval workflow infrastructure: PATCH endpoint, email notifications, and message types *)",
|
|
"Bash(mv \"src/app/admin/designs/[id]/edit/page.tsx\" \"src/app/admin/designs/[id]/edit/page.tsx.bak\")",
|
|
"Bash(mv \"src/app/admin/designs/[id]/edit/page.tsx.bak\" \"src/app/admin/designs/[id]/edit/page.tsx\")",
|
|
"Bash(rm \"D:\\\\Craft2Prints\\\\src\\\\app\\\\admin\\\\designs\\\\[id]\\\\edit\\\\page.tsx\")",
|
|
"Bash(rm \"D:\\\\Craft2Prints\\\\src\\\\app\\\\admin\\\\designs\\\\[id]\\\\send-button.tsx\")",
|
|
"Bash(git show *)",
|
|
"Bash(git status *)",
|
|
"Bash(git revert *)",
|
|
"Bash(git commit -m 'Fix price display issues and layout in design review page *)",
|
|
"Bash(git commit -m 'Fix: Calculate effectivePrice in design API endpoints *)",
|
|
"Bash(git commit -m 'Fix: Handle designJson as string in checkout API *)",
|
|
"Bash(git commit -m 'Fix: Use personalised price in design approval cart add *)",
|
|
"Bash(git commit -m 'Fix: Safely access designJson properties in admin orders page *)",
|
|
"Bash(git commit -m 'Fix: Show personalised price on design review page *)",
|
|
"Bash(git commit -m 'Fix: Safely parse designJson in admin order detail page *)",
|
|
"Bash(xargs grep -l \"design-spec\")",
|
|
"Bash(git commit -m 'Improve: Design specification sheet now shows previews and info *)",
|
|
"Bash(git commit -m 'Fix: Handle undefined designElements in design spec SVG rendering *)",
|
|
"Bash(git commit -m 'Fix: Ensure cart is completely cleared after payment success *)",
|
|
"Bash(git commit -m 'Fix: Update order status to PAID on checkout success page *)",
|
|
"Bash(git commit -m 'Improve: Cart clearing on success page with better state management *)",
|
|
"Bash(git commit -m 'Feature: Add order tracking and shipping status updates *)",
|
|
"Bash(git commit -m 'Feature: Royal Mail tracking integration \\(hybrid approach\\) *)",
|
|
"Bash(git commit -m 'Fix: Refresh page after updating order tracking details *)",
|
|
"Bash(git commit -m 'Fix: Remove function prop from client component *)",
|
|
"Bash(git commit -m 'Fix: Import revalidatePath from correct module *)",
|
|
"Bash(git commit -m 'Fix: Route photo requests to design canvas instead of approval upload *)",
|
|
"Bash(git commit -m 'Fix: Pass photo request ID instead of data URL *)",
|
|
"Bash(git commit -m 'Feature: Add product selection when starting design from photo request *)",
|
|
"Bash(git commit -m 'Refactor: Move start design server action to separate file *)",
|
|
"Bash(git commit -m 'Add: Prominent '\\\\''Shop plain items'\\\\'' section to homepage *)",
|
|
"Bash(git commit -m 'Feature: Royal Mail shipping integration with weight-based postage *)"
|
|
]
|
|
}
|
|
}
|