mirror of
https://github.com/supabase/supabase.git
synced 2026-10-10 20:05:06 +03:00
* chore: init ai builders paage * add content * ai builders wip * feat: ai builders features section * feat: videos section * feat: fix types * chore: add video urls * updated Quotes * ai builders form * submit * fix type error * add solutions to nav dropdown * fix pagename * add ai builders logos * docs link * update ai builders page * update quotes * reduce padding * update author role * update quote * React * add env in turbo.json * fix og image * connect your app --------- Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com> Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>
47 lines
1.6 KiB
TypeScript
47 lines
1.6 KiB
TypeScript
import React, { FC } from 'react'
|
|
|
|
import { cn } from 'ui'
|
|
import SectionContainer from '~/components/Layouts/SectionContainer'
|
|
import type { Feature, WhySection } from '~/data/solutions/solutions.types'
|
|
|
|
const Support: FC<WhySection> = (props) => {
|
|
return (
|
|
<SectionContainer id={props.id} className="flex flex-col gap-4 md:gap-8">
|
|
<div className="flex flex-col gap-2">
|
|
<span className="label">{props.label}</span>
|
|
<h2 className="h2 text-foreground-lighter">{props.heading}</h2>
|
|
</div>
|
|
<ul className="grid grid-cols-1 gap-4 gap-y-10 md:grid-cols-3 md:gap-12 xl:gap-20">
|
|
{props.features?.map((feature, index) => <FeatureItem feature={feature} key={index} />)}
|
|
</ul>
|
|
</SectionContainer>
|
|
)
|
|
}
|
|
|
|
interface FeatureItemProps {
|
|
feature: Feature
|
|
}
|
|
|
|
const FeatureItem: FC<FeatureItemProps> = ({ feature }) => {
|
|
const Icon = feature.icon
|
|
const iconSize = 7
|
|
const iconWidth = `w-${iconSize}`
|
|
const iconHeight = `h-${iconSize}`
|
|
|
|
return (
|
|
<li className="flex flex-col gap-2 text-sm">
|
|
{Icon && (
|
|
<Icon className={cn('stroke-1 mb-2 text-foreground-lighter', iconWidth, iconHeight)} />
|
|
)}
|
|
<div className="w-full h-px overflow-hidden flex items-start bg-border-muted">
|
|
<span className={cn('h-full bg-foreground-lighter', iconWidth)} />
|
|
</div>
|
|
<h4 className="text-foreground text-lg lg:text-xl mt-1">{feature.heading}</h4>
|
|
<p className="text-foreground-lighter text-sm">{feature.subheading}</p>
|
|
{/* <TextLink hasChevron label="Read story" url={feature.url} className="mt-4" /> */}
|
|
</li>
|
|
)
|
|
}
|
|
|
|
export default Support
|