65 lines
2.1 KiB
TypeScript
65 lines
2.1 KiB
TypeScript
"use client";
|
|
|
|
import React from "react";
|
|
import { motion } from "framer-motion";
|
|
import {
|
|
CheckCircle,
|
|
} from "lucide-react";
|
|
import { atsPageData } from "@/services/Constants";
|
|
|
|
|
|
|
|
|
|
// Benefits Section Component
|
|
const BenefitsSection: React.FC = () => {
|
|
return (
|
|
<section className="py-20 bg-gradient-to-b from-gray-50 to-white">
|
|
<div className="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<motion.h2
|
|
initial={{ opacity: 0, y: 20 }}
|
|
whileInView={{ opacity: 1, y: 0 }}
|
|
viewport={{ once: true }}
|
|
className="text-3xl md:text-4xl font-bold text-gray-900 text-center mb-12"
|
|
>
|
|
{atsPageData.benefits.title}
|
|
</motion.h2>
|
|
|
|
<div className="grid md:grid-cols-2 gap-10">
|
|
<div className="space-y-6">
|
|
{atsPageData.benefits.leftColumn.map((benefit, index) => (
|
|
<motion.div
|
|
key={index}
|
|
initial={{ opacity: 0, x: -20 }}
|
|
whileInView={{ opacity: 1, x: 0 }}
|
|
viewport={{ once: true }}
|
|
transition={{ delay: index * 0.1, duration: 0.6 }}
|
|
className="flex gap-4 items-start"
|
|
>
|
|
<CheckCircle className="w-6 h-6 text-blue-600 flex-shrink-0 mt-1" />
|
|
<p className="text-gray-700 text-lg">{benefit.text}</p>
|
|
</motion.div>
|
|
))}
|
|
</div>
|
|
|
|
<div className="space-y-6">
|
|
{atsPageData.benefits.rightColumn.map((benefit, index) => (
|
|
<motion.div
|
|
key={index}
|
|
initial={{ opacity: 0, x: 20 }}
|
|
whileInView={{ opacity: 1, x: 0 }}
|
|
viewport={{ once: true }}
|
|
transition={{ delay: index * 0.1, duration: 0.6 }}
|
|
className="flex gap-4 items-start"
|
|
>
|
|
<CheckCircle className="w-6 h-6 text-blue-600 flex-shrink-0 mt-1" />
|
|
<p className="text-gray-700 text-lg">{benefit.text}</p>
|
|
</motion.div>
|
|
))}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
);
|
|
};
|
|
|
|
export default BenefitsSection |