Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mastodon
GitHub Repository: mastodon/joinmastodon
Path: blob/main/components/TwoUpFeature.tsx
1006 views
1
import LinkButton from "./LinkButton"
2
3
export type TwoUpFeatureProps = {
4
features: {
5
Icon: (props: React.SVGProps<SVGElement>) => React.ReactElement
6
title: React.ReactNode
7
copy: React.ReactNode
8
cta: React.ReactNode
9
cta_link: string
10
}[]
11
padding?: string
12
}
13
/** Two-column (on desktop) feature section */
14
const TwoUpFeature = ({ features, padding }: TwoUpFeatureProps) => {
15
return (
16
<div className="mb-32 gap-gutter lg:mb-0 lg:flex">
17
{features.map(({ Icon, title, copy, cta, cta_link }, i) => (
18
<div
19
className={`grid justify-items-center py-8 text-center lg:grid-cols-6 lg:py-32 ${padding}`}
20
key={i}
21
>
22
<Icon className="-ml-2 h-auto w-20 text-blurple-500 md:-ml-4 md:w-32 lg:col-span-6" />
23
<h2 className="h4 mb-5 mt-4 lg:col-span-6">{title}</h2>
24
<h2 className="sh1 mb-8 lg:col-span-6 lg:col-start-1 xl:col-span-4 xl:col-start-2">
25
{copy}
26
</h2>
27
<div className="lg:col-span-6">
28
<LinkButton size="large" href={cta_link}>
29
{cta}
30
</LinkButton>
31
</div>
32
</div>
33
))}
34
</div>
35
)
36
}
37
38
export default TwoUpFeature
39
40