import { H2, P,} from "@/components/ui/typography"
import { useTranslations } from "next-intl"
import FeatureCard from "@/components/ui/cards/FeatureCard"
import { Button } from "@/components/ui/buttons/Button"

interface IMainFeaturesSection {
    content: {
        title?: string,
        subTitle?: string,
        features: {
            icon: React.ReactNode,
            title: string,
            description?: string
            link?: string
        }[]
        buttonTxt?: string
        link?: string
    }
    className?:string
}

const MainFeaturesSection = ({ content,className }: IMainFeaturesSection) => {
    const t = useTranslations()
    const isOdd = content.features.length % 3 === 1

    return (
        <div className=" flex flex-col gap-16 justify-center items-center">
            <div className="flex flex-col gap-2 text-center">
                <H2>{t(content.title)}</H2>
                {content.subTitle &&<P>{t(content.subTitle)}</P>}
            </div>
            <ul className="grid grid-cols-1 lg:grid-cols-3 gap-y-16 w-full justify-center items-center text-center gap-6">
                {
                    content.features.map((feature, index) => (
                        <FeatureCard key={index} feature={feature} isOdd={isOdd} isLast={index === content.features.length - 1} className={`${className ? className : "bg-transparent border-none shadow-none p-0"}`} />
                    ))
                }
            </ul>
            {content.buttonTxt &&
                <Button link={content.link}>{t(content.buttonTxt)}</Button>
            }
        </div>
    )
}

export default MainFeaturesSection
