The banquet menu (18 dishes) and extras/supplies/delivery items (16) in the training catalog were seeded with photo:'', which the catalog tiles render as a plain red placeholder square. Sourced a real photo for each item (mostly Pexels, free license, picked and visually reviewed one by one to avoid mismatches -- several first search hits were wrong: a live chicken for "chicken caesar salad", a person in frame, branded bottles/cups) and two AI-generated (banquet-caprese, banquet-roastbeef). Converted to square 1024x1024 WebP with sharp. Wires the paths through the actual source of truth: ops/demo/trial- banquet-data.mjs and trial-extras-data.mjs now set photo to the real path, then ops/demo/build-trial-*.mjs regenerated public/demo/*.json and the matching Supabase seed-function migrations, so the client's static JSON fetch and the server-side company-provisioning function stay in sync. Bumped the demo-catalog fetch's own cache-busting query string in training-catalog.js (and its script-tag/precache version), since it's fetched by the client with a separate version from the outer script tags -- the same stale-cache class of bug fixed earlier this session. Verified: all 34 referenced files resolve (200) and decode as real 1024x1024 images; confirmed via the actual rendered catalog tiles (#tiles img[src]) that the extras category -- where the user's red-square screenshot was taken -- now serves the real photo paths. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
133 KiB
1024x1024px
133 KiB
1024x1024px