import { ListUl, ListCheck, ListMinus } from "@styled-icons/boxicons-regular"; import { XSquare, Share, Group } from "@styled-icons/boxicons-solid"; import { observer } from "mobx-react-lite"; import { Route, Switch, useHistory, useParams } from "react-router-dom"; import { Text } from "preact-i18n"; import RequiresOnline from "../../context/revoltjs/RequiresOnline"; import { useClient } from "../../context/revoltjs/RevoltClient"; import Category from "../../components/ui/Category"; import { GenericSettings } from "./GenericSettings"; import { Bans } from "./server/Bans"; import { Categories } from "./server/Categories"; import { Invites } from "./server/Invites"; import { Members } from "./server/Members"; import { Overview } from "./server/Overview"; import { Roles } from "./server/Roles"; export default observer(() => { const { server: sid } = useParams<{ server: string }>(); const client = useClient(); const server = client.servers.get(sid); if (!server) return null; const history = useHistory(); function switchPage(to?: string) { if (to) { history.replace(`/server/${sid}/settings/${to}`); } else { history.replace(`/server/${sid}/settings`); } } return ( , id: "overview", icon: , title: ( ), }, { id: "categories", icon: , title: ( ), }, { id: "members", icon: , title: ( ), }, { id: "invites", icon: , title: ( ), }, { id: "bans", icon: , title: , }, { id: "roles", icon: , title: , hideTitle: true, }, ]} children={ } category="server_pages" switchPage={switchPage} defaultPage="overview" showExitButton /> ); });