import { useEffect } from "react"; import { Link, useSearchParams, useNavigate, useLocation, } from "react-router-dom"; import LanguageSwitcher from "./LanguageSwitcher"; import { useTranslation } from "react-i18next"; const TitleBar: React.FC = () => { const [searchParams] = useSearchParams(); const navigate = useNavigate(); const location = useLocation(); const isMoe = searchParams.has("moe"); const { t } = useTranslation(); const toggleTheme = () => { const params = new URLSearchParams(searchParams); if (isMoe) { params.delete("moe"); localStorage.setItem("theme", "dark"); } else { params.set("moe", ""); localStorage.setItem("theme", "light"); } navigate(`${location.pathname}?${params.toString()}`); }; useEffect(() => { const savedTheme = localStorage.getItem("theme"); const hasMoe = searchParams.has("moe"); if (!hasMoe && savedTheme === "light") { const params = new URLSearchParams(searchParams); params.set("moe", ""); navigate(`${location.pathname}?${params.toString()}`, { replace: true }); } if (hasMoe && savedTheme === "dark") { const params = new URLSearchParams(searchParams); params.delete("moe"); navigate(`${location.pathname}?${params.toString()}`, { replace: true }); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [location.pathname, navigate]); return (