--- import { getImage } from 'astro:assets'; import { t, type Lang } from '../../i18n/ui'; import PartnerLogo from './PartnerLogo.astro'; import incubator from '../../assets/partners/xg-incubator.webp'; import aloe from '../../assets/partners/xg-aloe.webp'; import passau from '../../assets/partners/university-of-passau.webp'; interface Props { lang: Lang } const { lang } = Astro.props; const ui = t(lang); /* The partner logos as on ciphercell.de (see PartnerLogo.astro for the two states). `h` balances optical size: the incubator wordmark is long and thin, the other two carry a mark. */ const roles = ui.proof.partnerRoles; const logos = await Promise.all([ { name: 'xG-Incubator', role: roles.incubator, src: incubator, h: 'var(--space-5)' }, { name: 'xG-ALOE', role: roles.aloe, src: aloe, h: 'var(--space-7)' }, { name: lang === 'de' ? 'Universität Passau' : 'University of Passau', role: roles.passau, src: passau, h: 'var(--space-7)' }, ].map(async (l) => ({ ...l, url: (await getImage({ src: l.src, format: 'webp' })).src }))); ---

{ui.proof.title}

{ui.proof.partners}

    {logos.map((l) => (
  • ))}
{/* Variant B, for comparison: one column per partner across the full width, with its role. Keep one of the two and delete the other. */}

{ui.proof.partners}

    {logos.map((l) => (
  • {l.name} {l.role}

  • ))}