[WEB-2587] fix: hide log work button for guest user (#5787)
* fix the rendering logic * fix handle nullish value
This commit is contained in:
parent
4157f3750b
commit
ad25a972a1
1 changed files with 7 additions and 2 deletions
|
|
@ -11,11 +11,12 @@ import { TOAST_TYPE, setToast } from "@plane/ui";
|
||||||
import { IssueCommentCreate } from "@/components/issues";
|
import { IssueCommentCreate } from "@/components/issues";
|
||||||
import { IssueActivityCommentRoot } from "@/components/issues/issue-detail";
|
import { IssueActivityCommentRoot } from "@/components/issues/issue-detail";
|
||||||
// hooks
|
// hooks
|
||||||
import { useIssueDetail, useProject } from "@/hooks/store";
|
import { useIssueDetail, useProject, useUserPermissions } from "@/hooks/store";
|
||||||
// plane web components
|
// plane web components
|
||||||
import { ActivityFilterRoot, IssueActivityWorklogCreateButton } from "@/plane-web/components/issues/worklog";
|
import { ActivityFilterRoot, IssueActivityWorklogCreateButton } from "@/plane-web/components/issues/worklog";
|
||||||
// plane web constants
|
// plane web constants
|
||||||
import { TActivityFilters, defaultActivityFilters } from "@/plane-web/constants/issues";
|
import { TActivityFilters, defaultActivityFilters } from "@/plane-web/constants/issues";
|
||||||
|
import { EUserPermissions } from "@/plane-web/constants/user-permissions";
|
||||||
// services
|
// services
|
||||||
import { FileService } from "@/services/file.service";
|
import { FileService } from "@/services/file.service";
|
||||||
const fileService = new FileService();
|
const fileService = new FileService();
|
||||||
|
|
@ -39,7 +40,11 @@ export const IssueActivity: FC<TIssueActivity> = observer((props) => {
|
||||||
const { workspaceSlug, projectId, issueId, disabled = false, isIntakeIssue = false } = props;
|
const { workspaceSlug, projectId, issueId, disabled = false, isIntakeIssue = false } = props;
|
||||||
// hooks
|
// hooks
|
||||||
const { createComment, updateComment, removeComment } = useIssueDetail();
|
const { createComment, updateComment, removeComment } = useIssueDetail();
|
||||||
|
const { projectPermissionsByWorkspaceSlugAndProjectId } = useUserPermissions();
|
||||||
const { getProjectById } = useProject();
|
const { getProjectById } = useProject();
|
||||||
|
//derived values
|
||||||
|
const isGuest = (projectPermissionsByWorkspaceSlugAndProjectId(workspaceSlug, projectId) ?? EUserPermissions.GUEST) === EUserPermissions.GUEST;
|
||||||
|
const isWorklogButtonEnabled = !isIntakeIssue && !isGuest;
|
||||||
// state
|
// state
|
||||||
const [selectedFilters, setSelectedFilters] = useState<TActivityFilters[]>(defaultActivityFilters);
|
const [selectedFilters, setSelectedFilters] = useState<TActivityFilters[]>(defaultActivityFilters);
|
||||||
// toggle filter
|
// toggle filter
|
||||||
|
|
@ -139,7 +144,7 @@ export const IssueActivity: FC<TIssueActivity> = observer((props) => {
|
||||||
<div className="flex items-center justify-between">
|
<div className="flex items-center justify-between">
|
||||||
<div className="text-lg text-custom-text-100">Activity</div>
|
<div className="text-lg text-custom-text-100">Activity</div>
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
{!isIntakeIssue && (
|
{isWorklogButtonEnabled && (
|
||||||
<IssueActivityWorklogCreateButton
|
<IssueActivityWorklogCreateButton
|
||||||
workspaceSlug={workspaceSlug}
|
workspaceSlug={workspaceSlug}
|
||||||
projectId={projectId}
|
projectId={projectId}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue