"use client"; import { FC } from "react"; import { observer } from "mobx-react"; import { CustomMenu, Tooltip } from "@plane/ui"; // hooks import { usePlatformOS } from "@/hooks/use-platform-os"; // plane web constants import { PROJECT_LAYOUTS } from "@/plane-web/constants/project"; // plane web hooks import { useProjectFilter } from "@/plane-web/hooks/store"; // plane web types import { EProjectLayouts, EProjectScope } from "@/plane-web/types/workspace-project-filters"; type TProjectLayoutSelection = { workspaceSlug: string; }; export const ProjectLayoutSelection: FC = observer((props) => { const { workspaceSlug } = props; // hooks const { filters, updateLayout } = useProjectFilter(); const { isMobile } = usePlatformOS(); // derived values const selectedLayout = filters?.layout || EProjectLayouts.TABLE; return ( <> Layout} customButtonClassName="flex flex-grow justify-center text-custom-text-200 text-sm" closeOnSelect > {PROJECT_LAYOUTS.map((layout, index) => ( updateLayout(workspaceSlug.toString(), layout.key)} className="flex items-center gap-2" >
{layout.title}
))}
{PROJECT_LAYOUTS.filter( (layout) => !layout.selectivelyHide || filters?.scope === EProjectScope.MY_PROJECTS ).map((layout) => ( ))}
); });