diff --git a/FlockPal-Text.png b/FlockPal-Text.png new file mode 100644 index 0000000..3a42159 Binary files /dev/null and b/FlockPal-Text.png differ diff --git a/frontend/index.html b/frontend/index.html index 4d7fc99..f9e9008 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -3,6 +3,12 @@
+ + + value.startsWith('data:') || value.startsWith('http://') || value.startsWith('https://') ? value : new URL(value, window.location.origin).toString(); const reportLogoUrl = toReportAssetUrl(flockPalLandingArt); + const reportWordmarkUrl = toReportAssetUrl(flockPalTextArt); const reportPhotoUrl = toReportAssetUrl(selectedBird.photoDataUrl || defaultBirdPhoto); const profileRows = [ ['Name', selectedBird.name], @@ -4082,7 +4084,6 @@ function App() { ['Band/tag ID', selectedBird.tagId || 'Not recorded'], ['Sex', getBirdGenderLabel(selectedBird)], ['Hatch day', formatDate(selectedBird.dateOfBirth)], - ['Gotcha day', formatDate(selectedBird.gotchaDay)], ['Favorite snack', selectedBird.favoriteSnack || 'Not recorded'], ['Latest weight', selectedBird.latestWeightGrams ? `${formatWeight(selectedBird.latestWeightGrams)}${selectedBird.latestRecordedOn ? ` on ${formatShortDate(selectedBird.latestRecordedOn)}` : ''}` : 'Pending'], ]; @@ -4199,7 +4200,7 @@ function App() { box-shadow: 0 16px 34px rgba(86, 63, 34, 0.14); display: grid; gap: 22px; - grid-template-columns: 210px 1fr 172px; + grid-template-columns: 210px 1fr 320px; min-height: 228px; padding: 18px; } @@ -4238,9 +4239,36 @@ function App() { object-fit: cover; width: 132px; } - .qr { align-self: center; justify-self: end; text-align: center; width: 170px; } + .qr { align-self: center; justify-self: end; text-align: center; width: 320px; } .qr svg { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 8px; width: 136px; } .code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 14px; overflow-wrap: anywhere; } + .qr-join-label { + color: var(--green); + font-size: 12px; + font-weight: 800; + letter-spacing: 0.08em; + line-height: 1; + margin-bottom: -28px; + position: relative; + text-transform: uppercase; + z-index: 1; + } + .qr-wordmark { + display: block; + height: 150px; + margin: -28px auto -12px; + object-fit: contain; + width: 340px; + } + .qr-note { + color: var(--blue); + font-family: "Avenir Next", "Arial Rounded MT Bold", Arial, sans-serif; + font-size: 12px; + font-weight: 800; + letter-spacing: 0; + line-height: 1.28; + margin-top: 8px; + } .grid { stroke: rgba(53, 129, 98, 0.16); } .current { fill: none; stroke: ${escapeReportHtml(selectedBird.chartColor)}; stroke-linecap: round; stroke-width: 4; } .historical { fill: none; opacity: .45; stroke: ${escapeReportHtml(selectedBird.chartColor)}; stroke-linecap: round; stroke-width: 3; } @@ -4271,11 +4299,14 @@ function App() {Generated ${escapeReportHtml(formatDateTime(new Date().toISOString()))}
Join
+${escapeReportHtml(transferCode)}
+Enter this code to keep ${escapeReportHtml(selectedBird.name)}'s care history flying forward.