forked from abner/for-legacy-web
39 lines
1.3 KiB
TypeScript
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>
|
|
);
|
|
}
|