handmade-revolt/src/components/navigation/LeftSidebar.tsx

39 lines
1.3 KiB
TypeScript

import { Route, Switch } from "react-router";
import { useApplicationState } from "../../mobx/State";
import { SIDEBAR_CHANNELS } from "../../mobx/stores/Layout";
import SidebarBase from "./SidebarBase";
import HomeSidebar from "./left/HomeSidebar";
import ServerListSidebar from "./left/ServerListSidebar";
import ServerSidebar from "./left/ServerSidebar";
export default function LeftSidebar() {
const layout = useApplicationState().layout;
const isOpen = layout.getSectionState(SIDEBAR_CHANNELS, true);
return (
<SidebarBase>
<Switch>
<Route path="/settings" />
<Route path="/server/:server/channel/:channel">
<ServerListSidebar />
{isOpen && <ServerSidebar />}
</Route>
<Route path="/server/:server">
<ServerListSidebar />
{isOpen && <ServerSidebar />}
</Route>
<Route path="/channel/:channel">
<ServerListSidebar />
{isOpen && <HomeSidebar />}
</Route>
<Route path="/">
<ServerListSidebar />
{isOpen && <HomeSidebar />}
</Route>
</Switch>
</SidebarBase>
);
}