v0.6: template-manager owns the product catalog
The host no longer carries a runtime product catalog. products.js shrinks to a legacy single-product stub; the canonical catalog lives in template-manager's productsStore, seeded ONCE on first boot from the new seedProducts.js (after that the store under templates/ is authoritative and the seed is ignored — intentional, so restarts never rewrite an admin-managed catalog). phoneModels.js and templateCategories.js are the supporting constant sets, and docs/template-schema.md documents the v4 schema. templates/ is the admin-managed store itself (_products_index.json + products/<id>/product.json, JSON only) — committed so the configured catalog (sizes, pricing, options built up in the admin UI) survives a fresh checkout rather than regressing to the seed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"id": "c722b19b-d6c6-4639-b0eb-dec34731e50d",
|
||||
"slug": "pillow",
|
||||
"label": "Throw Pillow",
|
||||
"description": "Plush throw pillow with hidden zipper and insert.",
|
||||
"category": "Home",
|
||||
"options": [],
|
||||
"sizes": [
|
||||
{
|
||||
"id": "22d04708-d964-4cdc-a682-fa9c02372a88",
|
||||
"slug": "18x18",
|
||||
"label": "18\" × 18\"",
|
||||
"physical": {
|
||||
"width": 18,
|
||||
"height": 18,
|
||||
"unit": "in"
|
||||
},
|
||||
"canvas": {
|
||||
"width": 1800,
|
||||
"height": 1800
|
||||
},
|
||||
"printZone": {
|
||||
"x": 180,
|
||||
"y": 180,
|
||||
"width": 1440,
|
||||
"height": 1440
|
||||
},
|
||||
"silhouettePath": "M162,0 L1638,0 A162,162 0 0 1 1800,162 L1800,1638 A162,162 0 0 1 1638,1800 L162,1800 A162,162 0 0 1 0,1638 L0,162 A162,162 0 0 1 162,0 Z",
|
||||
"mockupFallbackColor": "#dcfce7",
|
||||
"basePriceCents": 2400
|
||||
}
|
||||
],
|
||||
"createdAt": "2026-05-25T12:31:21.558Z",
|
||||
"updatedAt": "2026-05-25T12:31:21.558Z"
|
||||
}
|
||||
Reference in New Issue
Block a user