diff --git a/frontend/src/components/Navigation/Sidebar.tsx b/frontend/src/components/Navigation/Sidebar.tsx index 6cb5e8f..00be08f 100644 --- a/frontend/src/components/Navigation/Sidebar.tsx +++ b/frontend/src/components/Navigation/Sidebar.tsx @@ -28,22 +28,23 @@ const Sidebar: React.FC = ({ extraClasses = "" }) => { const [justToggled, setJustToggled] = useState(false); const sidebarId = useRef(Math.floor(Math.random() * 1000000)); - // Fetch followed streamers + // Fetch followed streamers & categories useEffect(() => { if (!isLoggedIn) return; - const fetchFollowedStreamers = async () => { + const fetchFollowData = async () => { try { const response = await fetch("/api/user/following"); - if (!response.ok) throw new Error("Failed to fetch followed streamers"); + if (!response.ok) throw new Error("Failed to fetch followed content"); const data = await response.json(); - setFollowedStreamers(data); + setFollowedStreamers(data.streams); + setFollowedCategories(data.categories); } catch (error) { - console.error("Error fetching followed streamers:", error); + console.error("Error fetching followed content:", error); } }; - fetchFollowedStreamers(); + fetchFollowData(); }, [isLoggedIn]); const handleSideBar = () => { @@ -70,24 +71,6 @@ const Sidebar: React.FC = ({ extraClasses = "" }) => { }; }, [showSideBar, setShowSideBar, isLoggedIn]); - useEffect(() => { - if (!isLoggedIn) return; - - const fetchFollowedCategories = async () => { - try { - const response = await fetch("/api/categories/following"); - if (!response.ok) - throw new Error("Failed to fetch followed categories"); - const data = await response.json(); - setFollowedCategories(data); - } catch (error) { - console.error("Error fetching followed categories:", error); - } - }; - - fetchFollowedCategories(); - }, [isLoggedIn]); - return ( <> = ({ extraClasses = "" }) => { Streamers
- {followedStreamers.map((streamer: any) => ( + {followedStreamers.map((streamer) => ( + - if (isLoadingStreams || isLoadingCategories || isLoadingVods) - return Loading Content...; - - return ( - - {/* Streams Section */} - navigate(`/${streamerName}`)} - extraClasses="bg-[var(--liveNow)]" - itemExtraClasses="w-[20vw]" - /> - - {/* Categories Section */} - navigate(`/category/${categoryName}`)} - titleClickable={true} - extraClasses="bg-[var(--recommend)]" - itemExtraClasses="w-[20vw]" - > - - - - {/* VODs Section */} - -