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)}
    }