import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faClosedCaptioning, faMicrophone, } from "@fortawesome/free-solid-svg-icons"; import { FaChevronRight } from "react-icons/fa"; import { useLanguage } from "@/src/context/LanguageContext"; import "./Cart.css"; import { Link, useNavigate } from "react-router-dom"; import { useState } from "react"; import useToolTipPosition from "@/src/hooks/useToolTipPosition"; import Qtip from "../qtip/Qtip"; function Cart({ label, data, path }) { const { language } = useLanguage(); const navigate = useNavigate(); const [hoveredItem, setHoveredItem] = useState(null); const [hoverTimeout, setHoverTimeout] = useState(null); const { tooltipPosition, tooltipHorizontalPosition, cardRefs } = useToolTipPosition(hoveredItem, data); const handleImageEnter = (item, index) => { if (hoverTimeout) clearTimeout(hoverTimeout); setHoveredItem(item.id + index); }; const handleImageLeave = () => { setHoverTimeout( setTimeout(() => { setHoveredItem(null); }, 300) ); }; return (

{label}

{data && data.slice(0, 5).map((item, index) => (
(cardRefs.current[index] = el)} > {item.title} navigate(`/watch/${item.id}`)} onMouseEnter={() => handleImageEnter(item, index)} onMouseLeave={handleImageLeave} /> {hoveredItem === item.id + index && window.innerWidth > 1024 && (
{ if (hoverTimeout) clearTimeout(hoverTimeout); }} onMouseLeave={handleImageLeave} >
)}
{language === "EN" ? item.title : item.japanese_title}
{item.tvInfo?.sub && (

{item.tvInfo.sub}

)} {item.tvInfo?.dub && (

{item.tvInfo.dub}

)}

{item.tvInfo.showType}

))}

View more

); } export default Cart;