From 60cdd07085c750cee358cbe59420668cbc538473 Mon Sep 17 00:00:00 2001 From: Paul Nothaft <53005142+the-luap@users.noreply.github.com> Date: Sun, 19 Jul 2026 22:35:44 +0200 Subject: [PATCH] feat(events): gallery QR code + printable table-card/poster PDFs (#847) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(events): gallery QR code + printable table-card/poster PDFs (#836) - GET /api/admin/events/:id/qr — share-link QR as PNG (128-2048px) or SVG, inline or attachment; adminAuth + events.view + ownership. - GET /api/admin/events/:id/qr-print — pdfkit-rendered A6 table card / A4 poster with event name, QR, localized caption (8 locales; Cyrillic falls back to English — built-in Helvetica has no Cyrillic glyphs) and the share URL as footer. - Event detail: QR section in ShareLinkCard with live preview (blob fetch — Bearer auth) and PNG/SVG/table-card/poster downloads; print language follows the admin UI language. i18n keys in all 8 locales. - qrcode + pdfkit were already dependencies (MFA / CRM PDFs). * fix(events): QR origin fallback, Unicode PDF font, bounded layout, stale-preview guard (codex review of #847) - QR URLs: prefer the configured public base, but fall back to the admin browser's origin (passed as ?origin=, validated) when the base is missing or localhost — mirrors buildShareLinkUrl so the QR encodes the same URL the card displays instead of an unusable localhost target. - PDFs render with the bundled IBM Plex Sans TTFs (Latin+Cyrillic+Greek) instead of WinAnsi-only Helvetica: Cyrillic event names no longer silently disappear, and the caption's English-fallback hack is gone. - Fixed vertical layout: title gets a bounded two-line ellipsis region and all positions derive from constants, so long event names can't push the QR/caption over the footer; URL footer bounded too. - ShareLinkCard preview: stale-response guard — a late blob response after unmount/event-switch is revoked instead of leaking and overwriting the newer event's QR. * fix(events): bundle complete IBM Plex Sans for QR PDFs + IPv6 loopback fallback (codex review of #847, round 2) Round 2 caught that the pre-existing assets/fonts/IBM-Plex-Sans/ files are 270-glyph Latin SUBSETS — my round-1 font swap didn't actually fix Cyrillic titles and regressed the ru caption. Now bundling the complete IBM Plex Sans 400/700 TTFs (1019 glyphs, Latin+Cyrillic+Greek — cmap verified via fontkit, rendering verified on a generated PDF) under assets/fonts/IBM-Plex-Sans-Full/ with the OFL license alongside. ~400 KB total; source: IBM/plex release zip @ibm/plex-sans@1.1.0. Also: LOCAL_BASE_RE now recognizes IPv6 loopback ([::1]) so a FRONTEND_URL of http://[::1]:3000 falls back to the browser origin like the frontend's own URL logic does. Note for a follow-up: the CRM invoice/quote PDFs use the same Latin-only subsets and share the Cyrillic gap. * fix(events): responsive QR card that survives preview failures (codex review of #847, round 3) - The QR section keys off share-link availability instead of a loaded preview: a transient failure of the preview request no longer hides every download button until reload; a placeholder tile renders in place of the image. - Preview + actions stack on phone widths and the button grid drops to one column below sm, so 'Tischkarte (A6)'-length labels don't overflow. * fix(events): QR encodes the stored share_link + spec quiet zone (codex review of #847, confirmation round) - The QR target is now the STORED share_link — exactly what the card displays and the admin copies. Rebuilding from current slug/token/ short-URL setting could diverge for legacy absolute links or events created under a different short-URL setting; a printed QR encoding a different URL than the card is a permanent mistake. Rebuild remains only as fallback when no share_link is stored. - QR margin back to the library's 4-module default for all generated assets — the spec's quiet zone; margin 2 risks scan failures when the printout sits against colored surroundings. * fix(events): bare share_link tokens resolve as /gallery/ in QR URLs (codex review of #847, final round) Quote-/contract-converted events persist share_link as the raw token — the frontend's buildShareLinkUrl prefixes those with /gallery/, but the QR path normalization only added a leading slash, encoding / into every image/PDF for such events. Now mirrors the frontend exactly. * test(events): 30s timeout for the print-PDF cases (CI fix) The poster PDF now embeds the full IBM Plex Sans TTFs (~200 KB each); font parsing + subsetting exceeds jest's 5s default on slower CI runners — the suite went red on exactly that test after the font commit. --- backend/__tests__/routes/adminEventQr.test.js | 122 ++++++++++++ .../assets/fonts/IBM-Plex-Sans-Full/400.ttf | Bin 0 -> 200500 bytes .../assets/fonts/IBM-Plex-Sans-Full/700.ttf | Bin 0 -> 200872 bytes .../fonts/IBM-Plex-Sans-Full/OFL-LICENSE.txt | 93 +++++++++ backend/src/routes/adminEvents/index.js | 1 + backend/src/routes/adminEvents/qr.js | 183 ++++++++++++++++++ frontend/src/i18n/locales/de.json | 4 + frontend/src/i18n/locales/en.json | 4 + frontend/src/i18n/locales/es.json | 4 + frontend/src/i18n/locales/fr.json | 4 + frontend/src/i18n/locales/nl.json | 4 + frontend/src/i18n/locales/pt.json | 4 + frontend/src/i18n/locales/ru.json | 4 + frontend/src/i18n/locales/sl.json | 4 + .../admin/event-details/ShareLinkCard.tsx | 98 +++++++++- frontend/src/services/events.service.ts | 21 ++ 16 files changed, 547 insertions(+), 3 deletions(-) create mode 100644 backend/__tests__/routes/adminEventQr.test.js create mode 100644 backend/assets/fonts/IBM-Plex-Sans-Full/400.ttf create mode 100644 backend/assets/fonts/IBM-Plex-Sans-Full/700.ttf create mode 100755 backend/assets/fonts/IBM-Plex-Sans-Full/OFL-LICENSE.txt create mode 100644 backend/src/routes/adminEvents/qr.js diff --git a/backend/__tests__/routes/adminEventQr.test.js b/backend/__tests__/routes/adminEventQr.test.js new file mode 100644 index 00000000..cfec5359 --- /dev/null +++ b/backend/__tests__/routes/adminEventQr.test.js @@ -0,0 +1,122 @@ +/** + * HTTP tests for the gallery QR endpoints (#836): + * GET /api/admin/events/:id/qr (PNG / SVG) + * GET /api/admin/events/:id/qr-print (table-card / poster PDF) + * Same real-SQLite harness as adminEvents.smoke.test.js. + */ +const path = require('path'); +const fs = require('fs'); +const os = require('os'); + +process.env.NODE_ENV = 'test'; +process.env.TEST_DATABASE_PATH = path.join( + fs.mkdtempSync(path.join(os.tmpdir(), 'picpeak-events-qr-')), 'db.sqlite' +); +process.env.JWT_SECRET = process.env.JWT_SECRET || 'admin-events-qr-test-secret'; + +const express = require('express'); +const cookieParser = require('cookie-parser'); +const request = require('supertest'); +const { bootCrmDb, seedMinimal, assignAdminRole, mintAdminToken } = require('../integration/helpers/crmDb'); + +async function insertEvent(db, adminId, over = {}) { + const base = { + slug: `ev-${Math.random().toString(16).slice(2)}`, + event_type: 'wedding', + event_name: 'QR Test Wedding', + event_date: '2026-05-29', + host_email: 'host@example.com', + admin_email: 'admin@example.com', + password_hash: 'x', + share_link: `/gallery/share-${Math.random().toString(16).slice(2)}`, + share_token: `st-${Math.random().toString(16).slice(2)}`, + expires_at: new Date(Date.now() + 7 * 24 * 3600 * 1000).toISOString(), + is_active: 1, is_archived: 0, is_draft: 0, + created_by: adminId, + created_at: new Date().toISOString(), + ...over, + }; + const r = await db('events').insert(base).returning('id'); + return r[0]?.id ?? r[0]; +} + +describe('admin event QR endpoints', () => { + let db; let cleanup; let app; let adminId; let token; + + beforeAll(async () => { + ({ db, cleanup } = await bootCrmDb()); + ({ adminId } = await seedMinimal(db)); + await assignAdminRole(db, adminId, 'super_admin'); + token = mintAdminToken(adminId); + + app = express(); + app.use(express.json()); + app.use(cookieParser()); + app.use('/api/admin/events', require('../../src/routes/adminEvents')); + // eslint-disable-next-line no-unused-vars + app.use((err, req, res, next) => { + res.status(err.statusCode || err.status || 500).json({ error: err.message, code: err.code }); + }); + }, 120000); + + afterAll(async () => { await cleanup(); }); + + beforeEach(async () => { await db('events').del(); }); + + const auth = (req) => req.set('Authorization', `Bearer ${token}`); + + it('401s without an admin token', async () => { + const eventId = await insertEvent(db, adminId); + const res = await request(app).get(`/api/admin/events/${eventId}/qr`); + expect(res.status).toBe(401); + }); + + it('returns a PNG QR by default', async () => { + const eventId = await insertEvent(db, adminId); + const res = await auth(request(app).get(`/api/admin/events/${eventId}/qr`)).buffer(); + expect(res.status).toBe(200); + expect(res.headers['content-type']).toBe('image/png'); + // PNG magic bytes + expect(res.body.slice(0, 4)).toEqual(Buffer.from([0x89, 0x50, 0x4e, 0x47])); + }); + + it('returns an SVG QR when requested', async () => { + const eventId = await insertEvent(db, adminId); + // supertest doesn't text-parse image/svg+xml — buffer and decode manually. + const res = await auth(request(app).get(`/api/admin/events/${eventId}/qr?format=svg`)).buffer(); + expect(res.status).toBe(200); + expect(res.headers['content-type']).toMatch(/image\/svg\+xml/); + expect(Buffer.from(res.body).toString('utf8')).toContain(' { + const eventId = await insertEvent(db, adminId); + const res = await auth(request(app).get(`/api/admin/events/${eventId}/qr?download=1`)).buffer(); + expect(res.headers['content-disposition']).toMatch(/^attachment/); + }); + + // 30s: the print PDFs embed the full IBM Plex Sans TTFs (~200 KB each) — + // font parsing + subsetting exceeds jest's 5s default on slower CI runners. + it.each(['table-card', 'poster'])('renders the %s print PDF', async (template) => { + const eventId = await insertEvent(db, adminId); + const res = await auth( + request(app).get(`/api/admin/events/${eventId}/qr-print?template=${template}&lang=de`) + ).buffer(); + expect(res.status).toBe(200); + expect(res.headers['content-type']).toBe('application/pdf'); + expect(res.body.slice(0, 4).toString()).toBe('%PDF'); + }, 30000); + + it('409s when the event has no share link', async () => { + // events.share_link is NOT NULL — an empty string is the closest real-world + // "no share link" shape (no token extractable from it either). + const eventId = await insertEvent(db, adminId, { share_link: '', share_token: null }); + const res = await auth(request(app).get(`/api/admin/events/${eventId}/qr`)); + expect(res.status).toBe(409); + }); + + it('404s for a non-existent event', async () => { + const res = await auth(request(app).get('/api/admin/events/999999/qr')); + expect(res.status).toBe(404); + }); +}); diff --git a/backend/assets/fonts/IBM-Plex-Sans-Full/400.ttf b/backend/assets/fonts/IBM-Plex-Sans-Full/400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bd6817d5202895da5ac4fad88de3da71e652881a GIT binary patch literal 200500 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±Lk;941wN9j(O#6{H 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 VkO`yz&)k7yBj|jf8c=D*002BjV;}$k literal 0 HcmV?d00001 diff --git a/backend/assets/fonts/IBM-Plex-Sans-Full/700.ttf b/backend/assets/fonts/IBM-Plex-Sans-Full/700.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1d66b1a2e96d5e33d6f5fa8e81e76b4e5621d240 GIT binary patch literal 200872 zcmcG12VhiH*8jctO?sX5GMP-vOv*`Ls zyzQ@ewgUHydr=VR7hu5kDqP!om#pebiMt-(7l1e7^x_NVc8$Jo|84l*NyY-cThi6H z%s);X$MZY!ylKh2Rb4r+tpxc*SuyWP@lT%U{|JxIc zStl%8F>l$PC0jN!W?YAF#DP+bDSXUV54Y}_9Z~T$3sOEs3HvbbmdDim;yc{0x⪻ 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 R9CI9FBR&6 — mirroring the frontend's + // buildShareLinkUrl exactly (codex review of #847, final round). + if (!sharePath.startsWith('/')) sharePath = `/gallery/${sharePath}`; + if (origin) return { event, shareUrl: `${origin}${sharePath}` }; + const frontendBase = await getFrontendBaseUrl(); + return { event, shareUrl: frontendBase ? `${frontendBase}${sharePath}` : sharePath }; +} + +module.exports = (router) => { + // QR image for the gallery share link. + router.get('/:id/qr', adminAuth, requirePermission('events.view'), requireEventOwnership, async (req, res) => { + try { + const { event, shareUrl } = await loadShareUrl(req.params.id, req.query.origin); + if (!event) return errorResponse(res, 'Event not found', 404); + if (!shareUrl) return errorResponse(res, 'Event has no share link', 409); + + const format = req.query.format === 'svg' ? 'svg' : 'png'; + const download = req.query.download === '1'; + const disposition = `${download ? 'attachment' : 'inline'}; filename="qr-${event.slug}.${format}"`; + + if (format === 'svg') { + const svg = await QRCode.toString(shareUrl, { type: 'svg', margin: 4 }); + res.set('Content-Type', 'image/svg+xml'); + res.set('Content-Disposition', disposition); + return res.send(svg); + } + + const width = Math.min(Math.max(parseInt(req.query.size, 10) || 600, 128), 2048); + const png = await QRCode.toBuffer(shareUrl, { type: 'png', width, margin: 4 }); + res.set('Content-Type', 'image/png'); + res.set('Content-Disposition', disposition); + return res.send(png); + } catch (error) { + logger.error('Failed to generate gallery QR code:', error); + return errorResponse(res, error, 500, 'Failed to generate QR code'); + } + }); + + // Print-ready PDF (table card / poster) with QR + event name + caption. + router.get('/:id/qr-print', adminAuth, requirePermission('events.view'), requireEventOwnership, async (req, res) => { + try { + const { event, shareUrl } = await loadShareUrl(req.params.id, req.query.origin); + if (!event) return errorResponse(res, 'Event not found', 404); + if (!shareUrl) return errorResponse(res, 'Event has no share link', 409); + + const templateKey = TEMPLATES[req.query.template] ? req.query.template : 'table-card'; + const tpl = TEMPLATES[templateKey]; + const caption = PRINT_CAPTIONS[req.query.lang] || PRINT_CAPTIONS.en; + + const qrPng = await QRCode.toBuffer(shareUrl, { type: 'png', width: tpl.qrSize * 3, margin: 4 }); + + const doc = new PDFDocument({ + size: tpl.size, + margins: { top: 0, bottom: 0, left: 0, right: 0 }, + info: { Title: `PicPeak QR — ${event.event_name}` }, + }); + res.set('Content-Type', 'application/pdf'); + res.set('Content-Disposition', `attachment; filename="qr-${templateKey}-${event.slug}.pdf"`); + doc.pipe(res); + + const pageWidth = doc.page.width; + const pageHeight = doc.page.height; + const contentTop = pageHeight * 0.12; + + // Fixed vertical layout: the title gets a bounded two-line region with + // ellipsis so an arbitrarily long event name can't push the QR/caption + // over the footer or off the page (codex review of #847). All positions + // below derive from constants, never from doc.y. + const titleBlockHeight = tpl.titleSize * 2.6; + doc.font(FONT_BOLD).fontSize(tpl.titleSize).fillColor('#1a1a1a') + .text(event.event_name, pageWidth * 0.1, contentTop, { + width: pageWidth * 0.8, + align: 'center', + height: titleBlockHeight, + ellipsis: true, + }); + + const qrX = (pageWidth - tpl.qrSize) / 2; + const qrY = contentTop + titleBlockHeight + tpl.titleSize * 0.5; + doc.image(qrPng, qrX, qrY, { width: tpl.qrSize, height: tpl.qrSize }); + + doc.font(FONT_REGULAR).fontSize(tpl.captionSize).fillColor('#333333') + .text(caption, pageWidth * 0.1, qrY + tpl.qrSize + tpl.captionSize, { width: pageWidth * 0.8, align: 'center' }); + + doc.font(FONT_REGULAR).fontSize(tpl.urlSize).fillColor('#888888') + .text(shareUrl, pageWidth * 0.05, pageHeight - pageHeight * 0.07, { + width: pageWidth * 0.9, + align: 'center', + height: pageHeight * 0.06, + ellipsis: true, + }); + + doc.end(); + } catch (error) { + logger.error('Failed to generate QR print PDF:', error); + if (!res.headersSent) return errorResponse(res, error, 500, 'Failed to generate QR print PDF'); + return res.end(); + } + }); +}; diff --git a/frontend/src/i18n/locales/de.json b/frontend/src/i18n/locales/de.json index bb1c41df..46de4f2d 100644 --- a/frontend/src/i18n/locales/de.json +++ b/frontend/src/i18n/locales/de.json @@ -996,6 +996,9 @@ "archived": "Archiviert", "totalSize": "Gesamtgröße", "shareLink": "Freigabelink", + "qrCode": "QR-Code", + "qrTableCard": "Tischkarte (A6)", + "qrPoster": "Poster (A4)", "copyLink": "Link kopieren", "linkCopied": "Link kopiert!", "viewGallery": "Galerie ansehen", @@ -2928,6 +2931,7 @@ } }, "errors": { + "downloadFailed": "Download fehlgeschlagen", "galleryNotFound": "Galerie nicht gefunden", "galleryNotFoundMessage": "Diese Galerie existiert nicht oder wurde entfernt.", "somethingWentWrong": "Etwas ist schiefgelaufen", diff --git a/frontend/src/i18n/locales/en.json b/frontend/src/i18n/locales/en.json index 0d7a87a4..5dbb4568 100644 --- a/frontend/src/i18n/locales/en.json +++ b/frontend/src/i18n/locales/en.json @@ -543,6 +543,9 @@ "archived": "Archived", "totalSize": "Total Size", "shareLink": "Share Link", + "qrCode": "QR code", + "qrTableCard": "Table card (A6)", + "qrPoster": "Poster (A4)", "copyLink": "Copy Link", "linkCopied": "Link copied!", "viewGallery": "View Gallery", @@ -2506,6 +2509,7 @@ } }, "errors": { + "downloadFailed": "Download failed", "galleryNotFound": "Gallery Not Found", "galleryNotFoundMessage": "This gallery does not exist or has been removed.", "somethingWentWrong": "Something went wrong", diff --git a/frontend/src/i18n/locales/es.json b/frontend/src/i18n/locales/es.json index 249b1e50..49e4e38b 100644 --- a/frontend/src/i18n/locales/es.json +++ b/frontend/src/i18n/locales/es.json @@ -393,6 +393,9 @@ "photoCount": "{{count}} fotos", "totalSize": "Tamaño total", "shareLink": "Enlace para compartir", + "qrCode": "Código QR", + "qrTableCard": "Tarjeta de mesa (A6)", + "qrPoster": "Póster (A4)", "copyLink": "Copiar enlace", "linkCopied": "Enlace copiado!", "viewGallery": "Ver galería", @@ -1608,6 +1611,7 @@ } }, "errors": { + "downloadFailed": "Error al descargar", "notFound": "No encontrado", "galleryNotFound": "Galería no encontrada", "galleryNotFoundMessage": "Esta galería no existe o ha sido eliminada.", diff --git a/frontend/src/i18n/locales/fr.json b/frontend/src/i18n/locales/fr.json index dd9c0539..504559de 100644 --- a/frontend/src/i18n/locales/fr.json +++ b/frontend/src/i18n/locales/fr.json @@ -387,6 +387,9 @@ "archived": "Archivé", "totalSize": "Taille totale", "shareLink": "Partager le lien", + "qrCode": "Code QR", + "qrTableCard": "Carte de table (A6)", + "qrPoster": "Affiche (A4)", "copyLink": "Copier le lien", "linkCopied": "Lien copié !", "viewGallery": "Voir la galerie", @@ -1860,6 +1863,7 @@ } }, "errors": { + "downloadFailed": "Échec du téléchargement", "galleryNotFound": "Galerie introuvable", "galleryNotFoundMessage": "Cette galerie n'existe pas ou a été supprimée.", "somethingWentWrong": "Quelque chose s'est mal passé", diff --git a/frontend/src/i18n/locales/nl.json b/frontend/src/i18n/locales/nl.json index 0a624fbe..fc375d58 100644 --- a/frontend/src/i18n/locales/nl.json +++ b/frontend/src/i18n/locales/nl.json @@ -387,6 +387,9 @@ "archived": "Gearchiveerd", "totalSize": "Totale grootte", "shareLink": "Deellink", + "qrCode": "QR-code", + "qrTableCard": "Tafelkaart (A6)", + "qrPoster": "Poster (A4)", "copyLink": "Link kopieren", "linkCopied": "Link gekopieerd!", "viewGallery": "Galerij bekijken", @@ -1849,6 +1852,7 @@ } }, "errors": { + "downloadFailed": "Downloaden mislukt", "galleryNotFound": "Galerij niet gevonden", "galleryNotFoundMessage": "Deze galerij bestaat niet of is verwijderd.", "somethingWentWrong": "Er is iets misgegaan", diff --git a/frontend/src/i18n/locales/pt.json b/frontend/src/i18n/locales/pt.json index 144d0cc4..e92bdb51 100644 --- a/frontend/src/i18n/locales/pt.json +++ b/frontend/src/i18n/locales/pt.json @@ -395,6 +395,9 @@ "archived": "Arquivado", "totalSize": "Tamanho Total", "shareLink": "Link de Compartilhamento", + "qrCode": "Código QR", + "qrTableCard": "Cartão de mesa (A6)", + "qrPoster": "Pôster (A4)", "copyLink": "Copiar Link", "linkCopied": "Link copiado!", "viewGallery": "Ver Galeria", @@ -1874,6 +1877,7 @@ } }, "errors": { + "downloadFailed": "Falha no download", "galleryNotFound": "Galeria Não Encontrada", "galleryNotFoundMessage": "Esta galeria não existe ou foi removida.", "somethingWentWrong": "Algo deu errado", diff --git a/frontend/src/i18n/locales/ru.json b/frontend/src/i18n/locales/ru.json index cc4ae618..88a215f3 100644 --- a/frontend/src/i18n/locales/ru.json +++ b/frontend/src/i18n/locales/ru.json @@ -403,6 +403,9 @@ "archived": "В архиве", "totalSize": "Общий размер", "shareLink": "Ссылка для доступа", + "qrCode": "QR-код", + "qrTableCard": "Карточка на стол (A6)", + "qrPoster": "Постер (A4)", "copyLink": "Копировать ссылку", "linkCopied": "Ссылка скопирована!", "viewGallery": "Просмотреть галерею", @@ -1899,6 +1902,7 @@ } }, "errors": { + "downloadFailed": "Ошибка загрузки", "galleryNotFound": "Галерея не найдена", "galleryNotFoundMessage": "Эта галерея не существует или была удалена.", "somethingWentWrong": "Что-то пошло не так", diff --git a/frontend/src/i18n/locales/sl.json b/frontend/src/i18n/locales/sl.json index aa528b63..af025f9f 100644 --- a/frontend/src/i18n/locales/sl.json +++ b/frontend/src/i18n/locales/sl.json @@ -387,6 +387,9 @@ "archived": "Arhiviran", "totalSize": "Skupna velikost", "shareLink": "Povezava za deljenje", + "qrCode": "QR-koda", + "qrTableCard": "Namizna kartica (A6)", + "qrPoster": "Plakat (A4)", "copyLink": "Kopiraj povezavo", "linkCopied": "Povezava kopirana!", "viewGallery": "Ogled galerije", @@ -1849,6 +1852,7 @@ } }, "errors": { + "downloadFailed": "Prenos ni uspel", "galleryNotFound": "Galerija ni najdena", "galleryNotFoundMessage": "Ta galerija ne obstaja ali je bila odstranjena.", "somethingWentWrong": "Nekaj je šlo narobe", diff --git a/frontend/src/pages/admin/event-details/ShareLinkCard.tsx b/frontend/src/pages/admin/event-details/ShareLinkCard.tsx index 91102955..8b7f4c7d 100644 --- a/frontend/src/pages/admin/event-details/ShareLinkCard.tsx +++ b/frontend/src/pages/admin/event-details/ShareLinkCard.tsx @@ -1,21 +1,74 @@ -import React, { useState } from 'react'; +import React, { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { toast } from 'react-toastify'; -import { Copy, CheckCircle, Key, Mail } from 'lucide-react'; +import { Copy, CheckCircle, Key, Mail, QrCode, Download } from 'lucide-react'; import type { Event } from '../../../types'; import { Button, Card } from '../../../components/common'; import { eventsService } from '../../../services/events.service'; import { buildShareLinkUrl } from '../../../utils/url'; import { isGalleryPublic } from '../../../utils/accessControl'; +const saveBlob = (blob: Blob, filename: string) => { + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = filename; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + URL.revokeObjectURL(url); +}; + interface ShareLinkCardProps { event: Event; setShowPasswordReset: (show: boolean) => void; } export const ShareLinkCard: React.FC = ({ event, setShowPasswordReset }) => { - const { t } = useTranslation(); + const { t, i18n } = useTranslation(); const [copiedLink, setCopiedLink] = useState(false); + const [qrPreviewUrl, setQrPreviewUrl] = useState(null); + + // QR preview (#836) — fetched as a blob because the admin API needs the + // Bearer token; a plain would come back 401. The `stale` flag + // guards the async gap: without it, a response landing after unmount or + // an event switch would leak its object URL and could overwrite a newer + // event's preview with the previous gallery's QR (codex review of #847). + useEffect(() => { + if (!event.share_link) return; + let stale = false; + let objectUrl: string | null = null; + eventsService.getQrBlob(event.id, 'png', 300) + .then((blob) => { + const url = URL.createObjectURL(blob); + if (stale) { + URL.revokeObjectURL(url); + return; + } + objectUrl = url; + setQrPreviewUrl(url); + }) + .catch(() => { + if (!stale) setQrPreviewUrl(null); + }); + return () => { + stale = true; + if (objectUrl) URL.revokeObjectURL(objectUrl); + }; + }, [event.id, event.share_link]); + + const handleQrDownload = async (kind: 'png' | 'svg' | 'table-card' | 'poster') => { + try { + if (kind === 'png' || kind === 'svg') { + saveBlob(await eventsService.getQrBlob(event.id, kind, 1024), `qr-${event.slug}.${kind}`); + } else { + const lang = (i18n.language || 'en').split('-')[0]; + saveBlob(await eventsService.getQrPrintBlob(event.id, kind, lang), `qr-${kind}-${event.slug}.pdf`); + } + } catch { + toast.error(t('errors.downloadFailed', 'Download failed')); + } + }; const handleCopyLink = async () => { try { @@ -83,6 +136,45 @@ export const ShareLinkCard: React.FC = ({ event, setShowPass : t('events.shareWithGuests')}

+ {event.share_link && ( +
+

+ + {t('events.qrCode', 'QR code')} +

+ {/* Stacks on phones; downloads stay available even when the preview + request failed — the section keys off share-link availability, + not off a successfully loaded preview (codex review of #847). */} +
+ {qrPreviewUrl ? ( + {t('events.qrCode', + ) : ( +
+ +
+ )} +
+ + + + +
+
+
+ )} + {!event.is_archived && (