import { MdMenu, MdOutlineBadge, MdOutlinePerson, MdOutlineStorage, } from "react-icons/md"; import { ReactNode, useEffect, useState } from "react"; import StorageView from "./manage_storage_page.tsx"; import UserView from "./manage_user_page.tsx"; import { useTranslation } from "react-i18next"; import { ManageMePage } from "./manage_me_page.tsx"; import ManageServerConfigPage from "./manage_server_config_page.tsx"; export default function ManagePage() { const { t } = useTranslation(); const [page, setPage] = useState(0); const [lg, setLg] = useState(window.innerWidth >= 1024); useEffect(() => { const handleResize = () => { setLg(window.innerWidth >= 1024); }; window.addEventListener("resize", handleResize); return () => { window.removeEventListener("resize", handleResize); }; }, []); useEffect(() => { document.title = t("Manage"); }, []); const buildItem = (title: string, icon: ReactNode, p: number) => { return (
  • { setPage(p); const checkbox = document.getElementById( "my-drawer-2", ) as HTMLInputElement; if (checkbox) { checkbox.checked = false; } }} className={"my-1"} > {icon} {title}
  • ); }; const pageNames = [t("My Info"), t("Storage"), t("Users"), t("Server")]; const pageComponents = [ , , , , ]; return (

    {pageNames[page]}

    {pageComponents[page]}

      {t("Manage")}

      {buildItem(t("My Info"), , 0)} {buildItem( t("Storage"), , 1, )} {buildItem(t("Users"), , 2)} {buildItem( t("Server"), , 3, )}
    ); }