web: add unstyled sponsors page

This commit is contained in:
2025-07-28 03:54:41 +02:00
parent 8e8ca4f147
commit 1a3f031d5f
5 changed files with 504 additions and 32 deletions

View File

@@ -0,0 +1,49 @@
import { SponsorBlock } from "@/gql/graphql";
import { Blocks } from "../blocks/Blocks";
import { Image } from "../general/Image";
import styles from "./sponsorList.module.scss";
const SponsorItem = ({ sponsor }: { sponsor: SponsorBlock }) => {
const { name, logo, website, text } = sponsor;
return (
<li className={styles.sponsorItem}>
<h2>{name}</h2>
{logo && (
<div className={styles.image}>
<Image
src={logo.url}
alt={`Logoen til ${name}`}
width={0}
height={0}
sizes="20vw"
/>
</div>
)}
{text && (
<p
className={styles.sponsorText}
dangerouslySetInnerHTML={{ __html: text }}
/>
)}
{website && (
<p>
<a href={website} target="_blank" rel="noopener">
Besøk nettside
</a>
</p>
)}
</li>
);
};
export const SponsorList = ({ sponsors }: { sponsors: SponsorBlock[] }) => {
return (
<section className={styles.sponsorList}>
<ul>
{sponsors.map((sponsor) => (
<SponsorItem key={sponsor.name} sponsor={sponsor} />
))}
</ul>
</section>
);
};