import React, { useState } from "react"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faClosedCaptioning, faMicrophone, } from "@fortawesome/free-solid-svg-icons"; import { useLanguage } from "@/src/context/LanguageContext"; import { Link, useNavigate } from "react-router-dom"; import useToolTipPosition from "@/src/hooks/useToolTipPosition"; import Qtip from "../qtip/Qtip"; function Topten({ data, className }) { const { language } = useLanguage(); const [activePeriod, setActivePeriod] = useState("today"); const [hoveredItem, setHoveredItem] = useState(null); const [hoverTimeout, setHoverTimeout] = useState(null); const navigate = useNavigate(); const handlePeriodChange = (period) => { setActivePeriod(period); }; const handleNavigate = (id) => { navigate(`/${id}`); window.scrollTo({ top: 0, behavior: "smooth" }); }; const currentData = activePeriod === "today" ? data.today : activePeriod === "week" ? data.week : data.month; const { tooltipPosition, tooltipHorizontalPosition, cardRefs } = useToolTipPosition(hoveredItem, currentData); const handleMouseEnter = (item, index) => { if (hoverTimeout) clearTimeout(hoverTimeout); setHoveredItem(item.id + index); }; const handleMouseLeave = () => { setHoverTimeout( setTimeout(() => { setHoveredItem(null); }, 300) // Small delay to prevent flickering ); }; return (
{item.tvInfo.sub}
{item.tvInfo.dub}