Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mastodon
GitHub Repository: mastodon/joinmastodon
Path: blob/main/components/SponsorLogoGroup.tsx
1006 views
1
import Image from "next/legacy/image"
2
import classnames from "classnames"
3
4
const SponsorLogoGroup = ({ sponsors }) => {
5
return (
6
<div className="grid grid-cols-[repeat(auto-fill,minmax(16rem,1fr))] gap-1">
7
{sponsors.map((sponsor, i) => {
8
let isLastItem = sponsors[i + 1] == undefined
9
let isUnevenItems = sponsors.length % 2 != 0
10
11
return (
12
<a
13
href={sponsor.url}
14
key={i}
15
className={classnames(
16
"group relative inline-flex items-center justify-center rounded px-4 py-3",
17
sponsor.light ? "bg-nightshade-900" : "bg-gray-5"
18
)}
19
target="_blank"
20
rel="noopener noreferrer"
21
>
22
<div className="max-h-[40px] max-w-[150px]">
23
<Image
24
className="object-contain opacity-80 grayscale transition-all group-hover:opacity-100 group-hover:grayscale-0 group-focus-visible:opacity-100 group-focus-visible:grayscale-0"
25
alt={sponsor.name}
26
src={sponsor.logo}
27
width={150}
28
height={40}
29
layout="fixed"
30
/>
31
</div>
32
</a>
33
)
34
})}
35
</div>
36
)
37
}
38
39
export default SponsorLogoGroup
40
41