"use client"; import Link from "next/link"; import React from "react"; interface SidebarProps { datasetInfo: any; paginatedEpisodes: any[]; episodeId: any; totalPages: number; currentPage: number; prevPage: () => void; nextPage: () => void; } const Sidebar: React.FC = ({ datasetInfo, paginatedEpisodes, episodeId, totalPages, currentPage, prevPage, nextPage, }) => { const [sidebarVisible, setSidebarVisible] = React.useState(true); const toggleSidebar = () => setSidebarVisible((prev) => !prev); const sidebarRef = React.useRef(null); React.useEffect(() => { if (!sidebarVisible) return; function handleClickOutside(event: MouseEvent) { // If click is outside the sidebar nav if ( sidebarRef.current && !sidebarRef.current.contains(event.target as Node) ) { setTimeout(() => setSidebarVisible(false), 500); } } document.addEventListener("mousedown", handleClickOutside); return () => { document.removeEventListener("mousedown", handleClickOutside); }; }, [sidebarVisible]); return (
{/* Toggle sidebar button */}
); }; export default Sidebar;