From 307dcce2ffcc2cb9fb1c58e95e0755e643b93232 Mon Sep 17 00:00:00 2001 From: Guido Jansen Date: Tue, 15 Sep 2026 14:14:17 +0200 Subject: [PATCH] Add ragged-circle checkmark badge to verify page and homepage teaser --- src/components/VerifyBadge.astro | 39 +++++++++++++++++++++++++++ src/components/pages/HomePage.astro | 7 +++++ src/components/pages/VerifyPage.astro | 23 +++++++++++++--- 3 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 src/components/VerifyBadge.astro diff --git a/src/components/VerifyBadge.astro b/src/components/VerifyBadge.astro new file mode 100644 index 0000000..46a62b9 --- /dev/null +++ b/src/components/VerifyBadge.astro @@ -0,0 +1,39 @@ +--- +// The mu/Eurosky trusted verifier checkmark: a check inside a ragged (scalloped) circle. +// Based on the mu Trusted Verifier Program badge design. +interface Props { + size?: number; + class?: string; +} +const { size = 24, class: className = '' } = Astro.props; +--- + + + + diff --git a/src/components/pages/HomePage.astro b/src/components/pages/HomePage.astro index aa1e7c5..c3ac3c4 100644 --- a/src/components/pages/HomePage.astro +++ b/src/components/pages/HomePage.astro @@ -5,6 +5,7 @@ import PostCard from '../PostCard.astro'; import LinkedEventCard from '../LinkedEventCard.astro'; import CalendarEventCard from '../CalendarEventCard.astro'; import LocalityMap from '../LocalityMap.astro'; +import VerifyBadge from '../VerifyBadge.astro'; import { matchNlCity } from '../../data/nl-cities'; import { useTranslations, type Lang } from '../../i18n/ui'; import { getCommunity } from '../../lib/atproto/home'; @@ -165,6 +166,7 @@ const avatarMembers = members.filter((m) => m.avatar).slice(0, 24);
+ {t('verify.cta.teaser')}
{t('verify.cta.teaser.btn')} @@ -242,6 +244,11 @@ const avatarMembers = members.filter((m) => m.avatar).slice(0, 24); border-radius: var(--radius-surface); padding: var(--space-6) var(--space-8); } + .verify-teaser-text { + display: flex; + align-items: center; + gap: var(--space-3); + } .verify-teaser-label { font-family: var(--mono); font-size: 1.0625rem; diff --git a/src/components/pages/VerifyPage.astro b/src/components/pages/VerifyPage.astro index 7b625f6..c4dc9ca 100644 --- a/src/components/pages/VerifyPage.astro +++ b/src/components/pages/VerifyPage.astro @@ -1,5 +1,6 @@ --- import Base from '../../layouts/Base.astro'; +import VerifyBadge from '../VerifyBadge.astro'; import { useTranslations, type Lang } from '../../i18n/ui'; import { getScope, resolveScopeId } from '../../config/scopes'; @@ -14,14 +15,20 @@ const verifyHref = `${p}/verify`;
-

{t('verify.title')}

+

+ + {t('verify.title')} +

{t('verify.intro')}

{!isAggregate && ( <>
-

{t('verify.checkmark.h')}

+

+ + {t('verify.checkmark.h')} +

{t('verify.checkmark.intro')}

@@ -136,7 +143,7 @@ const verifyHref = `${p}/verify`;

{t('verify.getverified.h')}

{t('verify.getverified.intro')}

- {t('events.viewAll')} + {t('events.viewAll')}

@@ -222,4 +229,14 @@ const verifyHref = `${p}/verify`; font-size: 0.9375rem; line-height: 1.6; } + .verify-hero-title { + display: flex; + align-items: center; + gap: var(--space-3); + } + .verify-badge-heading { + display: flex; + align-items: center; + gap: var(--space-2); + } -- 2.54.0