import { useEffect, useState } from 'react'; import { NavLink } from 'react-router-dom'; import closeIcon from '../assets/icons/close.svg'; import homeIcon from '../assets/icons/home.svg'; import cacheIcon from '../assets/icons/cache.svg'; import apiIcon from '../assets/icons/api.svg'; import testPlayerIcon from '../assets/icons/testplayer.svg'; import accountIcon from '../assets/icons/account.svg'; import discordIcon from '../assets/icons/discord.svg'; import telegramIcon from '../assets/icons/telegram.svg'; import giteaIcon from '../assets/icons/gitea.svg'; function SideMenu({ isMenuOpen, setIsMenuOpen }) { const [externalLinks, setExternalLinks] = useState({ discord: '#', telegram: '#', gitea: '#', }); useEffect(() => { fetch('/api/links') .then((res) => res.json()) .then((data) => setExternalLinks(data)) .catch((err) => console.error('Failed to fetch links:', err)); }, []); return (
{/* Header */}

CDRM-Project

{/* Scrollable Navigation Links */}
`flex flex-row items-center gap-3 p-3 border-l-4 ${ isActive ? 'border-l-sky-500/50 bg-black/50 text-white' : 'border-transparent hover:border-l-sky-500/50 hover:bg-white/5 text-white/80' }` } onClick={() => setIsMenuOpen(false)} > Home Home `flex flex-row items-center gap-3 p-3 border-l-4 ${ isActive ? 'border-l-emerald-500/50 bg-black/50 text-white' : 'border-transparent hover:border-l-emerald-500/50 hover:bg-white/5 text-white/80' }` } onClick={() => setIsMenuOpen(false)} > Cache Cache `flex flex-row items-center gap-3 p-3 border-l-4 ${ isActive ? 'border-l-indigo-500/50 bg-black/50 text-white' : 'border-transparent hover:border-l-indigo-500/50 hover:bg-white/5 text-white/80' }` } onClick={() => setIsMenuOpen(false)} > API API `flex flex-row items-center gap-3 p-3 border-l-4 ${ isActive ? 'border-l-rose-700/50 bg-black/50 text-white' : 'border-transparent hover:border-l-rose-700/50 hover:bg-white/5 text-white/80' }` } onClick={() => setIsMenuOpen(false)} > Test Player Test Player
{/* My Account Link at the Bottom of Scrollable Area */}
`flex flex-row items-center gap-3 p-3 border-l-4 ${ isActive ? 'border-l-yellow-500/50 bg-black/50 text-white' : 'border-transparent hover:border-l-yellow-500/50 hover:bg-white/5 text-white/80' }` } onClick={() => setIsMenuOpen(false)} > My Account My Account
{/* External Links */}
Discord Telegram Gitea
); } export default SideMenu;