'use client';

import Image from 'next/image';
import type { FeaturesContent } from '@/types/cms';

const defaultContent: FeaturesContent = {
  title: 'Find Trusted Real Estate Professionals On Demand',
  subtitle: 'Quickly connect with the right agents exactly when you need them.',
  features: [
    {
      iconPath: '/assets/icons/hourglass-icon.svg',
      title: 'Hire Quickly',
      description: 'Connect with experienced local real estate agents who match your needs and preferences. Our simple process helps you get started quickly and move forward without delays or unnecessary complexity.',
    },
    {
      iconPath: '/assets/icons/verified-badge-icon.svg',
      title: 'Verified Agents',
      description: 'All agents are carefully identity-verified and background-checked to ensure trust and safety. You can confidently work with professionals who meet quality and reliability standards.',
    },
    {
      iconPath: '/assets/icons/star-orange-icon.svg',
      title: 'Top Rated',
      description: 'Work with highly rated agents known for strong expertise and positive client feedback. Their consistent performance helps you make informed and confident property decisions.',
    },
    {
      iconPath: '/assets/icons/trusted-people-icon.svg',
      title: 'Trusted by Thousands',
      description: 'Thousands of buyers, sellers, and renters trust our platform to find reliable agents. Our professionals help people navigate property journeys with confidence and ease.',
    },
  ],
};

const agents = [
  {
    name: 'Anderson',
    role: 'Rental & Investment Consultant',
    rating: '4.9',
    location: 'New York',
    experience: '7+ years in the real estate industry.',
    image: '/assets/images/agent-anderson.jpg',
    position: 'top-left',
  },
  {
    name: 'Deepak',
    role: 'Rental & Investment Consultant',
    rating: '4.9',
    location: 'New York',
    experience: '7+ years in the real estate industry.',
    image: '/assets/images/agent-deepak.jpg',
    position: 'top-right',
  },
  {
    name: 'Daniel',
    role: 'Rental & Investment Consultant',
    rating: '4.9',
    location: 'New York',
    experience: '7+ years in the real estate industry.',
    image: '/assets/images/agent-daniel.jpg',
    position: 'bottom-center',
  },
];

function AgentCard({ agent, className = '' }: { agent: typeof agents[0]; className?: string }) {
  return (
    <div className={`bg-white border border-[#00293d]/10 rounded-[15px] w-[254px] overflow-hidden ${className}`}>
      {/* Agent Image */}
      <div className="h-[161px] w-full overflow-hidden rounded-t-[15px]">
        <Image
          src={agent.image}
          alt={agent.name}
          width={254}
          height={161}
          className="w-full h-full object-cover"
        />
      </div>

      {/* Agent Info */}
      <div className="p-4">
        {/* Name */}
        <h4 className="font-fractul font-bold text-[16px] leading-[19px] text-[#00293d]">
          {agent.name}
        </h4>

        {/* Role */}
        <p className="font-fractul font-normal text-[14px] leading-[17px] text-[#00293d] mt-1">
          {agent.role}
        </p>

        {/* Verified & Rating */}
        <div className="flex items-center gap-4 mt-2">
          <div className="flex items-center gap-1">
            <Image
              src="/assets/icons/verified-icon.svg"
              alt="Verified"
              width={14}
              height={14}
            />
            <span className="font-serif font-medium text-[14px] leading-[19px] text-[#00293d]">
              Verified Agent
            </span>
          </div>
          <div className="flex items-center gap-1">
            <Image
              src="/assets/icons/star-filled-icon.svg"
              alt="Rating"
              width={14}
              height={14}
            />
            <span className="font-serif font-normal text-[14px] leading-[19px] text-[#00293d]">
              {agent.rating} Rating
            </span>
          </div>
        </div>

        {/* Location */}
        <div className="flex items-center gap-1 mt-2">
          <Image
            src="/assets/icons/location-filled-icon.svg"
            alt="Location"
            width={15}
            height={15}
          />
          <span className="font-serif font-medium text-[14px] leading-[19px] text-[#00293d]">
            {agent.location}
          </span>
        </div>

        {/* Experience */}
        <p className="mt-2 text-[14px] leading-[19px] text-[#00293d]">
          <span className="font-serif font-bold">Experience:</span>
          <span className="font-serif font-normal"> {agent.experience}</span>
        </p>
      </div>
    </div>
  );
}

export function FeaturesSection({ content }: { content?: FeaturesContent }) {
  const data = content ?? defaultContent;

  return (
    <section className="py-16 md:py-20 bg-white">
      <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
        <div className="flex flex-col lg:flex-row gap-12 lg:gap-8">
          {/* Left Side - Title & Features */}
          <div className="lg:w-1/2">
            {/* Section Header */}
            <div className="mb-8">
              <h2 className="font-fractul font-bold text-[32px] md:text-[40px] leading-[1.2] text-[#00293d] mb-4">
                {data.title}
              </h2>
              <p className="font-fractul font-medium text-[18px] md:text-[20px] leading-[1.4] text-[#00293d]">
                {data.subtitle}
              </p>
            </div>

            {/* Features Grid - 2x2 */}
            <div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
              {data.features.map((feature, index) => (
                <div
                  key={index}
                  className="border border-[#00293d]/10 rounded-[15px] p-5"
                >
                  <div className="mb-3">
                    <Image
                      src={feature.iconPath}
                      alt={feature.title}
                      width={35}
                      height={35}
                    />
                  </div>
                  <h3 className="font-fractul font-semibold text-[20px] leading-[24px] text-[#00293d] mb-2">
                    {feature.title}
                  </h3>
                  <p className="font-serif font-normal text-[14px] leading-[19px] text-[#00293d]">
                    {feature.description}
                  </p>
                </div>
              ))}
            </div>
          </div>

          {/* Right Side - Agent Cards */}
          <div className="lg:w-1/2 relative min-h-[650px] hidden lg:block">
            {/* Anderson - Top Left */}
            <AgentCard
              agent={agents[0]}
              className="absolute top-0 left-0 shadow-lg z-10"
            />

            {/* Deepak - Top Right, offset down */}
            <AgentCard
              agent={agents[1]}
              className="absolute top-[170px] right-0 shadow-lg z-20"
            />

            {/* Daniel - Bottom Left, overlapping */}
            <AgentCard
              agent={agents[2]}
              className="absolute top-[320px] left-[60px] shadow-lg z-30"
            />
          </div>

          {/* Mobile Agent Cards - Horizontal Scroll */}
          <div className="lg:hidden overflow-x-auto pb-4">
            <div className="flex gap-4 min-w-max">
              {agents.map((agent, index) => (
                <AgentCard key={index} agent={agent} className="shadow-lg flex-shrink-0" />
              ))}
            </div>
          </div>
        </div>
      </div>
    </section>
  );
}
