"use client"; import { useState } from "react"; import Image from "next/image"; import { FaArrowLeftLong, FaArrowRightLong, FaCheck } from "react-icons/fa6"; import { RxCross2 } from "react-icons/rx"; import { FaChevronRight } from "react-icons/fa"; const ServiceSelection = ({ step, prevStep, nextStep, Selectedservices = [], ServiceData = [], ServiceCard, }) => { const [SelectedService, setSelectedService] = useState(false); const [ShowSelected, setShowSelected] = useState(false); const [selectedMainServices, setSelectedMainServices] = useState([]); const [showSubcategories, setShowSubcategories] = useState(false); const [activeMainService, setActiveMainService] = useState(null); const [selectedSubcategories, setSelectedSubcategories] = useState({}); const [subPrices, setSubPrices] = useState({}); const handleServicePopUp = (item) => { setActiveMainService(item.name); setShowSubcategories(true); }; const handleNextToSix = () => { nextStep(); }; const toggleSubService = (mainService, subServiceName) => { setSelectedSubcategories((prev) => { const prevSelected = prev[mainService] || []; const isAlreadySelected = prevSelected.includes(subServiceName); const updatedSubServices = isAlreadySelected ? prevSelected.filter((name) => name !== subServiceName) : [...prevSelected, subServiceName]; return { ...prev, [mainService]: updatedSubServices, }; }); }; const handlePriceChange = (serviceName, value) => { setSubPrices((prev) => ({ ...prev, [serviceName]: value, })); }; if (step !== 5) return null; return ( <> {/* Service Overview */} {!SelectedService && ( <>

My Services

Select the services you can provide

{ShowSelected ? (
{Selectedservices.map((service, idx) => ( ))}
) : (
service

Let’s get started

Add the services you can provide

)}
)} {/* Main Service Selection */} {SelectedService && !showSubcategories && ( <>

Select Services

Choose your service category

{ServiceData.map((item, index) => { const isSelected = selectedMainServices.includes(item.name); return (

{item.name}

); })}
)} {/* Subcategory Selection */} {SelectedService && showSubcategories && activeMainService && ( <>
{ServiceData.map((item, index) => { const isSelected = selectedSubcategories[activeMainService]?.includes( item.name ) || false; return (

{item.name}

handlePriceChange(item.name, e.target.value) } className="w-full px-4 py-2 rounded-full border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500 bg-register-img mt-2" />
); })}
)} ); }; export default ServiceSelection;