"use client"; import { observer } from "mobx-react"; import { useParams, usePathname } from "next/navigation"; import { Briefcase } from "lucide-react"; import { Breadcrumbs } from "@plane/ui"; // components import { BreadcrumbLink } from "@/components/common"; // hooks import { ProjectsBaseHeader } from "@/components/project/header"; import { useWorkspace } from "@/hooks/store"; // plane web components import { ProjectAttributesDropdown, ProjectCreateButton, ProjectDisplayFiltersDropdown, ProjectLayoutSelection, ProjectScopeDropdown, ProjectSearch, } from "@/plane-web/components/projects/"; import { useFlag, useWorkspaceFeatures, E_FEATURE_FLAGS } from "@/plane-web/hooks/store"; import { EWorkspaceFeatures } from "@/plane-web/types/workspace-feature"; export const ProjectsListHeader = observer(() => { const { workspaceSlug } = useParams(); // hooks const { currentWorkspace } = useWorkspace(); const { isWorkspaceFeatureEnabled } = useWorkspaceFeatures(); const pathname = usePathname(); // derived values const workspaceId = currentWorkspace?.id || undefined; const isProjectGroupingEnabled = isWorkspaceFeatureEnabled(EWorkspaceFeatures.IS_PROJECT_GROUPING_ENABLED) && useFlag(workspaceSlug.toString(), E_FEATURE_FLAGS.PROJECT_GROUPING); const isArchived = pathname.includes("/archives"); if (!workspaceSlug || !workspaceId) return <>; return isProjectGroupingEnabled ? (
{/* flex-row items-center justify-between gap-x-2 gap-y-4 */}
{/* bread crumps */} } />} /> {isArchived && } />} {/* scope dropdown */} {!isArchived && (
)}
{/* search */}
{/* layout selection */} {!isArchived && }{" "} {/* attributes dropdown */} {/* display filters dropdown */}
{/* create project button */} {!isArchived && }
) : ( ); });