mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
7677f021a9
* chore: sidebar width reduced * chore: drag handler added to project sidebar and ui improvement * chore: label drag handler added
50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
import { FC, useRef } from "react";
|
|
import { observer } from "mobx-react";
|
|
// components
|
|
import { ProjectSidebarList } from "@/components/project";
|
|
import {
|
|
WorkspaceHelpSection,
|
|
WorkspaceSidebarDropdown,
|
|
WorkspaceSidebarMenu,
|
|
WorkspaceSidebarQuickAction,
|
|
} from "@/components/workspace";
|
|
// hooks
|
|
import { useAppTheme } from "@/hooks/store";
|
|
import useOutsideClickDetector from "@/hooks/use-outside-click-detector";
|
|
|
|
export interface IAppSidebar { }
|
|
|
|
export const AppSidebar: FC<IAppSidebar> = observer(() => {
|
|
// store hooks
|
|
const { toggleSidebar, sidebarCollapsed } = useAppTheme();
|
|
// refs
|
|
const ref = useRef<HTMLDivElement>(null);
|
|
|
|
useOutsideClickDetector(ref, () => {
|
|
if (sidebarCollapsed === false) {
|
|
if (window.innerWidth < 768) {
|
|
toggleSidebar();
|
|
}
|
|
}
|
|
});
|
|
|
|
return (
|
|
<div
|
|
className={`fixed inset-y-0 z-20 flex h-full flex-shrink-0 flex-grow-0 flex-col border-r border-custom-sidebar-border-200 bg-custom-sidebar-background-100
|
|
duration-300 md:relative
|
|
${sidebarCollapsed ? "-ml-[250px]" : ""}
|
|
sm:${sidebarCollapsed ? "-ml-[250px]" : ""}
|
|
md:ml-0 ${sidebarCollapsed ? "w-[70px]" : "w-[250px]"}
|
|
`}
|
|
>
|
|
<div ref={ref} className="flex h-full w-full flex-1 flex-col">
|
|
<WorkspaceSidebarDropdown />
|
|
<WorkspaceSidebarQuickAction />
|
|
<WorkspaceSidebarMenu />
|
|
<ProjectSidebarList />
|
|
<WorkspaceHelpSection />
|
|
</div>
|
|
</div>
|
|
);
|
|
});
|