--- import { localeHref } from '../../i18n/paths'; import Base from '../../layouts/Base.astro'; import MemberCard from '../MemberCard.astro'; import { useTranslations, type Lang } from '../../i18n/ui'; import { getCommunity } from '../../lib/atproto/home'; import { getScope } from '../../config/scopes'; const { lang } = Astro.props as { lang: Lang }; const t = useTranslations(lang); const { members } = await getCommunity(); const loginHref = localeHref(lang, '/login'); const buildersHref = localeHref(lang, '/builders'); // The .eu aggregate has no country of its own, so it can't auto-join: it lets the member pick which // of the communities we run they belong to (one or more). .eu is English-only, so these are inline. const scope = getScope(import.meta.env.PUBLIC_SITE_SCOPE); const pickCountries = [ { cc: 'nl', name: 'Netherlands' }, { cc: 'be', name: 'Belgium' }, { cc: 'no', name: 'Norway' }, ]; ---

{t('members.heading')}

{t('members.subtitle')}

{t('members.join.h')}

{t('members.join')}

{t('members.join.cta')} {scope.aggregate && ( )}

{t('members.hire.h')}

{t('members.hire')}

{t('members.hire.cta')}
{members.map((m) => )}