Files
for-legacy-web/src/components/navigation/left/ServerListSidebar.tsx
2022-07-05 17:53:41 +01:00

41 lines
1.1 KiB
TypeScript

import { observer } from "mobx-react-lite";
import { useParams } from "react-router-dom";
import { useCallback } from "preact/hooks";
import { ServerList } from "@revoltchat/ui";
import { useApplicationState } from "../../../mobx/State";
import { useClient } from "../../../controllers/client/ClientController";
import { modalController } from "../../../controllers/modals/ModalController";
/**
* Server list sidebar shim component
*/
export default observer(() => {
const client = useClient();
const state = useApplicationState();
const { server: server_id } = useParams<{ server?: string }>();
const createServer = useCallback(
() =>
modalController.push({
type: "create_server",
}),
[],
);
return (
<ServerList
client={client}
active={server_id}
createServer={createServer}
permit={state.notifications}
home={state.layout.getLastHomePath}
servers={state.ordering.orderedServers}
reorder={state.ordering.reorderServer}
/>
);
});