

import { observer } from "mobx-react";
import { useParams } from "next/navigation";
// buzzwareTech imports
import { EUserPermissions, EUserPermissionsLevel } from "@buzzwaretech/constants";
// hooks
import { useUserPermissions } from "@/hooks/store/user";
// local imports
import { ProjectIssueQuickActions } from "../../quick-action-dropdowns";
import { BaseSpreadsheetRoot } from "../base-spreadsheet-root";

export const ProjectSpreadsheetLayout = observer(
  function ProjectSpreadsheetLayout() {
    // router
    const { workspaceSlug } = useParams();
    // hooks
    const { allowPermissions } = useUserPermissions();
    // derived values
    const canEditPropertiesBasedOnProject = (projectId: string) =>
      allowPermissions(
        [EUserPermissions.ADMIN, EUserPermissions.MEMBER],
        EUserPermissionsLevel.PROJECT,
        workspaceSlug?.toString(),
        projectId,
      );

    return (
      <BaseSpreadsheetRoot
        QuickActions={ProjectIssueQuickActions}
        canEditPropertiesBasedOnProject={canEditPropertiesBasedOnProject}
      />
    );
  },
);
