web: print the shared frame's own labels on the QR recipe card

The card carried studio copy — SUNSET GLOW, a made-up warmth/grain/bloom line
and a creator handle borrowed from a testimonial — no matter which still the
arrows landed on. Stepping the frame changed the picture and the code but left
the text behind, so the card described a photo it was not showing.

The card now reads the frame's own labels: the tagline over the still and the
title and ISO/grain line under it are the ones the uploader saved with the
photo, the same three the film strip prints. The fabricated creator/imports
line goes with them, since nothing behind it was real.
This commit is contained in:
2026-09-22 17:22:54 +07:00
parent 2ee49cfd41
commit 80512d11b5
+9 -4
View File
@@ -353,6 +353,12 @@ export function Landing() {
const qrs = photos.filter((p) => p.slots.includes('qr')).map((p) => ({
url: api.photoUrl(p.id),
link: p.hasPreset ? new URL(api.presetUrl(p.id), window.location.origin).href : `${window.location.origin}/app`,
// The card prints the frame's own labels, exactly as the uploader saved
// them — the tagline over the still, the title and the technical line
// under it.
tag: p.tag,
title: p.title,
meta: p.meta,
}));
const testers = urls('tester');
const creators = urls('creator');
@@ -876,7 +882,7 @@ export function Landing() {
/>
)}
<span className="lp-grain" aria-hidden="true" />
<span className="lp-tagline">#SUNSET_GLOW</span>
<span className="lp-tagline">{curQr?.tag ?? '#SUNSET_GLOW'}</span>
<FrameArrows
count={slotPhoto.qrs.length}
id="lp-qr"
@@ -889,9 +895,8 @@ export function Landing() {
<QrCode url={curQr ? curQr.link : `${window.location.origin}/app`} />
</div>
<div className="lp-rc-meta">
<b>SUNSET GLOW</b>
<span>WARMTH 88 · GRAIN 28 · BLOOM 61</span>
<span>BY @maianh.travel · 12.4K IMPORTS</span>
<b>{curQr?.title ?? 'SUNSET GLOW'}</b>
<span>{curQr?.meta ?? 'WARMTH 88 · GRAIN 28 · BLOOM 61'}</span>
</div>
</div>
</div>