import React from "react";
import { motion } from "framer-motion";

interface RoadmapItem {
  phase: string;
  features: string[];
}

interface PortfolioRoadmapSectionProps {
  title: string;
  description: string;
  roadmapItems: RoadmapItem[];
  icon?: React.ReactNode; // optional (default ArrowRight)
}

const PortfolioRoadmapSection: React.FC<PortfolioRoadmapSectionProps> = ({
  title,
  description,
  roadmapItems,
  icon,
}) => {
  return (
    <section className="py-24 bg-background">
      <div className="container mx-auto px-4 lg:px-6">
        <motion.div
          initial={{ opacity: 0, y: 30 }}
          whileInView={{ opacity: 1, y: 0 }}
          transition={{ duration: 0.8 }}
          viewport={{ once: true }}
          className="max-w-6xl mx-auto"
        >
          {/* Header */}
          <div className="text-center mb-16">
            <h2 className="text-3xl lg:text-5xl font-semibold text-foreground mb-6">
              {title}
            </h2>
            <p className="text-xl text-muted-foreground max-w-3xl mx-auto">
              {description}
            </p>
          </div>

          {/* Roadmap Grid */}
          <div className="grid lg:grid-cols-2 gap-12">
            {roadmapItems.map((roadmap, index) => (
              <motion.div
                key={roadmap.phase}
                initial={{ opacity: 0, y: 20 }}
                whileInView={{ opacity: 1, y: 0 }}
                transition={{ duration: 0.6, delay: index * 0.2 }}
                viewport={{ once: true }}
                className="bg-background/50 rounded-2xl p-8 border border-border/50 hover:border-accent/30 transition-all duration-300"
              >
                <h3 className="text-2xl font-semibold text-foreground mb-6">
                  {roadmap.phase}
                </h3>
                <div className="space-y-4">
                  {roadmap.features.map((feature, featureIndex) => (
                    <div key={featureIndex} className="flex items-start gap-3">
                      <span className="w-5 h-5 text-accent mt-0.5 flex-shrink-0">
                        {icon}
                      </span>
                      <span className="text-muted-foreground">{feature}</span>
                    </div>
                  ))}
                </div>
              </motion.div>
            ))}
          </div>
        </motion.div>
      </div>
    </section>
  );
};

export default PortfolioRoadmapSection;
