From fe666111f8a2aa4fd473280e09522cb041035108 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Wed, 14 Oct 2026 21:16:33 +0200 Subject: [PATCH] Add party slideshow photo upload link --- README.md | 2 +- public/app.js | 2 ++ public/index.html | 19 ++++++++++++++----- public/styles.css | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 939a1a1..a682e16 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Einladung & RSVP -Eine responsive Einladung für Vicky und Daniels 30. Geburtstag. Jeder Gast erhält einen persönlichen Link, kann die Originaleinladung als PDF öffnen und eine von drei Antworten abgeben: +Eine responsive Einladung von Vicky und Daniel zu Daniels 30. Geburtstag. Jeder Gast erhält einen persönlichen Link, kann die Originaleinladung als PDF öffnen und eine von drei Antworten abgeben: - Ich komme nicht - Ich komme alleine diff --git a/public/app.js b/public/app.js index 387c830..35d4949 100644 --- a/public/app.js +++ b/public/app.js @@ -15,6 +15,7 @@ const inviteCard = document.querySelector("#invite-card"); const inviteImage = document.querySelector("#invite-image"); const pdfLink = document.querySelector("#pdf-link"); const inviteColumn = document.querySelector(".invite-column"); +const photoUpload = document.querySelector("#photo-upload"); const tokenMatch = window.location.pathname.match(/^\/i\/([A-Za-z0-9_-]+)\/?$/); const token = tokenMatch?.[1]; @@ -34,6 +35,7 @@ function populate(invite) { inviteCard.href = `${assetBase}/pdf`; pdfLink.href = `${assetBase}/pdf`; greeting.textContent = invite.guestName ? `Hallo ${invite.guestName}!` : "Hallo!"; + show(photoUpload); if (invite.answer) { const radio = form.querySelector(`[name="answer"][value="${invite.answer}"]`); if (radio) radio.checked = true; diff --git a/public/index.html b/public/index.html index 9963c2b..639c507 100644 --- a/public/index.html +++ b/public/index.html @@ -4,8 +4,8 @@ - - Vicky & Daniel werden 30 + + Daniels 30. Geburtstag @@ -13,9 +13,9 @@
-

Einladung zum 30. Geburtstag von Vicky und Daniel

+

Einladung von Vicky und Daniel zu Daniels 30. Geburtstag

- Persönliche Einladung zum 30. Geburtstag von Vicky und Daniel. + Persönliche Einladung von Vicky und Daniel zu Daniels 30. Geburtstag. @@ -86,11 +86,20 @@ + +
- + diff --git a/public/styles.css b/public/styles.css index 37d881f..fc57af4 100644 --- a/public/styles.css +++ b/public/styles.css @@ -216,6 +216,38 @@ button.secondary:hover { color: white; background: var(--ink); } .success .state-icon { background: var(--mint); } +.photo-upload { + display: flex; + gap: .9rem; + margin-top: 1.8rem; + padding: 1rem; + background: #fff6ed; + border: 1.5px solid #f5c9a9; + border-radius: 15px; +} + +.photo-upload-icon { + display: grid; + flex: 0 0 42px; + width: 42px; + height: 42px; + place-items: center; + background: white; + border-radius: 50%; + font: 1.25rem/1 system-ui, sans-serif; +} + +.photo-upload h3 { margin: 0; color: var(--ink); font-size: 1.05rem; } +.photo-upload p { margin: .35rem 0 .75rem; font-size: .9rem; } +.photo-upload-link { + color: var(--ink); + font: 750 .8rem/1.2 system-ui, sans-serif; + letter-spacing: .04em; + text-transform: uppercase; +} + +.photo-upload-link:hover { color: var(--turquoise); } + .loading { position: absolute; inset: 0;