[WEB-2587] fix: hide log work button for guest user (#5787)

* fix the rendering logic

* fix handle nullish value
This commit is contained in:
Ketan Sharma 2024-10-24 14:48:59 +05:30 committed by GitHub
parent 4157f3750b
commit ad25a972a1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -11,11 +11,12 @@ import { TOAST_TYPE, setToast } from "@plane/ui";
import { IssueCommentCreate } from "@/components/issues";
import { IssueActivityCommentRoot } from "@/components/issues/issue-detail";
// hooks
import { useIssueDetail, useProject } from "@/hooks/store";
import { useIssueDetail, useProject, useUserPermissions } from "@/hooks/store";
// plane web components
import { ActivityFilterRoot, IssueActivityWorklogCreateButton } from "@/plane-web/components/issues/worklog";
// plane web constants
import { TActivityFilters, defaultActivityFilters } from "@/plane-web/constants/issues";
import { EUserPermissions } from "@/plane-web/constants/user-permissions";
// services
import { FileService } from "@/services/file.service";
const fileService = new FileService();
@ -39,7 +40,11 @@ export const IssueActivity: FC<TIssueActivity> = observer((props) => {
const { workspaceSlug, projectId, issueId, disabled = false, isIntakeIssue = false } = props;
// hooks
const { createComment, updateComment, removeComment } = useIssueDetail();
const { projectPermissionsByWorkspaceSlugAndProjectId } = useUserPermissions();
const { getProjectById } = useProject();
//derived values
const isGuest = (projectPermissionsByWorkspaceSlugAndProjectId(workspaceSlug, projectId) ?? EUserPermissions.GUEST) === EUserPermissions.GUEST;
const isWorklogButtonEnabled = !isIntakeIssue && !isGuest;
// state
const [selectedFilters, setSelectedFilters] = useState<TActivityFilters[]>(defaultActivityFilters);
// toggle filter
@ -139,7 +144,7 @@ export const IssueActivity: FC<TIssueActivity> = observer((props) => {
<div className="flex items-center justify-between">
<div className="text-lg text-custom-text-100">Activity</div>
<div className="flex items-center gap-2">
{!isIntakeIssue && (
{isWorklogButtonEnabled && (
<IssueActivityWorklogCreateButton
workspaceSlug={workspaceSlug}
projectId={projectId}