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

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

const TopFeaturesSection = ({ content,className }: ITopFeaturesSection) => {
    const t = useTranslations()
    const isOdd = content.features.length % 4 === 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-2 gap-y-16 gap-6 justify-center items-center text-center">
                {
                    content.features.map((feature, index) => (
                        <TopFeatureCard 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 TopFeaturesSection
