From 3d2d88578d09a4c25298bc25563597308662043b Mon Sep 17 00:00:00 2001 From: Michael Kinder Date: Fri, 8 Mar 2024 04:10:17 -0500 Subject: [PATCH] Add PartnersPage component --- app/[locale]/about/partners/page.tsx | 101 +++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 app/[locale]/about/partners/page.tsx diff --git a/app/[locale]/about/partners/page.tsx b/app/[locale]/about/partners/page.tsx new file mode 100644 index 00000000..7298a095 --- /dev/null +++ b/app/[locale]/about/partners/page.tsx @@ -0,0 +1,101 @@ +import React from "react"; +import partnerSponsorData from "@/data/partnersSponsors"; +import { useTranslations } from "next-intl"; +import type { Metadata } from "next"; +import Link from "next/link"; +import Image from "next/image"; +import { Badge } from "@/components/ui/badge"; +import { Button } from "@/components/ui/button"; + +export const metadata: Metadata = { + title: "Partners - Rocky Linux", + description: + "Our partners provide us with the resources we need. We wouldn't be here without their help!", +}; + +const PartnersPage = () => { + const { partners } = partnerSponsorData[0]; + + const sortedTierOnePartners = partners.flatMap((partner) => partner.tierOne); + const sortedTierFourPartners = partners.flatMap( + (partner) => partner.tierFour + ); + + const t = useTranslations("partners"); + + return ( + <> +
+
+
+

+ {t("title")} +

+

{t("description")}

+
+
+ {sortedTierOnePartners.map((partner) => ( + +
+
+ {partner.logo ? ( + React.cloneElement(partner.logo, { + className: "h-32 p-10 object-fit pointer-events-none", + }) + ) : ( + {partner.name} + )} +
+
+ +

{partner.name}

+
+ {partner.founding && ( + {t("foundingPartner")} + )} +
+
+

+ {partner.description} +

+
+
+ + ))} + {sortedTierFourPartners.map((partner) => ( + +
+
+ +

+ {partner.name} +

+
+
+
+ + ))} +
+
+
+ + ); +}; + +export default PartnersPage;