import React, { useEffect, useState } from "react"; import { useAuth } from "../context/AuthContext"; import { useSidebar } from "../context/SidebarContext"; import { ToggleButton } from "../components/Input/Button"; import { Sidebar as SidebarIcon } from "lucide-react"; import { useNavigate } from "react-router-dom"; // Import useNavigate // Define TypeScript interfaces interface Streamer { user_id: number; username: string; } interface FollowingProps { extraClasses?: string; } const Following: React.FC = ({ extraClasses = "" }) => { const { showSideBar, setShowSideBar } = useSidebar(); const navigate = useNavigate(); const { username, isLoggedIn } = useAuth(); const [followedStreamers, setFollowedStreamers] = useState([]); const [followedCategories, setFollowedCategories] = useState([]); // Fetch followed streamers useEffect(() => { const fetchFollowedStreamers = async () => { try { const response = await fetch("/api/user/following"); if (!response.ok) throw new Error("Failed to fetch followed streamers"); const data = await response.json(); setFollowedStreamers(data.streamers || []); setFollowedCategories(data.categories || []); } catch (error) { console.error("Error fetching followed streamers:", error); } }; if (isLoggedIn) { fetchFollowedStreamers(); } }, [isLoggedIn]); // Handle sidebar toggle const handleSideBar = () => { setShowSideBar(!showSideBar); }; return ( <> {/* Sidebar Toggle Button */} {showSideBar && ( Press S )} {/* Sidebar Container */} ); }; export default Following;