"use client"; import type { FC } from "react"; import { useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { RefreshCcw } from "lucide-react"; // ui import { EProjectFeatureKey, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { Breadcrumbs, Header } from "@plane/ui"; // components import { InboxIssueCreateModalRoot } from "@/components/inbox/modals/create-modal"; // hooks import { useProject } from "@/hooks/store/use-project"; import { useProjectInbox } from "@/hooks/store/use-project-inbox"; import { useUserPermissions } from "@/hooks/store/user"; // plane web import { CommonProjectBreadcrumbs } from "@/plane-web/components/breadcrumbs/common"; export const ProjectInboxHeader: FC = observer(() => { // states const [createIssueModal, setCreateIssueModal] = useState(false); // router const { workspaceSlug, projectId } = useParams(); // store hooks const { allowPermissions } = useUserPermissions(); const { t } = useTranslation(); const { currentProjectDetails, loader: currentProjectDetailsLoader } = useProject(); const { loader } = useProjectInbox(); // derived value const isAuthorized = allowPermissions( [EUserPermissions.ADMIN, EUserPermissions.MEMBER, EUserPermissions.GUEST], EUserPermissionsLevel.PROJECT ); return (
{loader === "pagination-loading" && (

{t("syncing")}...

)}
{currentProjectDetails?.inbox_view && workspaceSlug && projectId && isAuthorized ? (
setCreateIssueModal(false)} />
) : ( <> )}
); });