diff --git a/web/components/issues/issue-layouts/list/block.tsx b/web/components/issues/issue-layouts/list/block.tsx index 7aa6d698b..82dfd95ef 100644 --- a/web/components/issues/issue-layouts/list/block.tsx +++ b/web/components/issues/issue-layouts/list/block.tsx @@ -46,7 +46,7 @@ export const IssueBlock: React.FC = observer((props: IssueBlock // hooks const { workspaceSlug } = useAppRouter(); const { getProjectIdentifierById } = useProject(); - const { getIsIssuePeeked, setPeekIssue, subIssues: subIssuesStore } = useIssueDetail(); + const { getIsIssuePeeked, peekIssue, setPeekIssue, subIssues: subIssuesStore } = useIssueDetail(); const handleIssuePeekOverview = (issue: TIssue) => workspaceSlug && @@ -54,7 +54,7 @@ export const IssueBlock: React.FC = observer((props: IssueBlock issue.project_id && issue.id && !getIsIssuePeeked(issue.id) && - setPeekIssue({ workspaceSlug, projectId: issue.project_id, issueId: issue.id }); + setPeekIssue({ workspaceSlug, projectId: issue.project_id, issueId: issue.id, nestingLevel: nestingLevel }); const issue = issuesMap[issueId]; // const subIssues = subIssuesStore.subIssuesByIssueId(issueId); @@ -88,7 +88,8 @@ export const IssueBlock: React.FC = observer((props: IssueBlock className={cn( "min-h-11 relative flex flex-col md:flex-row md:items-center gap-3 bg-custom-background-100 p-3 pl-1.5 text-sm", { - "border border-custom-primary-70 hover:border-custom-primary-70": getIsIssuePeeked(issue.id), + "border border-custom-primary-70 hover:border-custom-primary-70": + getIsIssuePeeked(issue.id) && peekIssue?.nestingLevel === nestingLevel, "last:border-b-transparent": !getIsIssuePeeked(issue.id), } )} diff --git a/web/components/issues/issue-layouts/spreadsheet/issue-row.tsx b/web/components/issues/issue-layouts/spreadsheet/issue-row.tsx index a72dbc955..180cb9036 100644 --- a/web/components/issues/issue-layouts/spreadsheet/issue-row.tsx +++ b/web/components/issues/issue-layouts/spreadsheet/issue-row.tsx @@ -151,7 +151,7 @@ const IssueRowDetails = observer((props: IssueRowDetailsProps) => { const { workspaceSlug } = router.query; // hooks const { getProjectIdentifierById } = useProject(); - const { getIsIssuePeeked, setPeekIssue } = useIssueDetail(); + const { getIsIssuePeeked, peekIssue, setPeekIssue } = useIssueDetail(); const { isMobile } = usePlatformOS(); const handleIssuePeekOverview = (issue: TIssue) => @@ -160,7 +160,12 @@ const IssueRowDetails = observer((props: IssueRowDetailsProps) => { issue.project_id && issue.id && !getIsIssuePeeked(issue.id) && - setPeekIssue({ workspaceSlug: workspaceSlug.toString(), projectId: issue.project_id, issueId: issue.id }); + setPeekIssue({ + workspaceSlug: workspaceSlug.toString(), + projectId: issue.project_id, + issueId: issue.id, + nestingLevel: nestingLevel, + }); const { subIssues: subIssuesStore, issue } = useIssueDetail(); @@ -213,7 +218,8 @@ const IssueRowDetails = observer((props: IssueRowDetailsProps) => { "group clickable cursor-pointer h-11 w-[28rem] flex items-center bg-custom-background-100 text-sm after:absolute border-r-[0.5px] z-10 border-custom-border-200", { "border-b-[0.5px]": !getIsIssuePeeked(issueDetail.id), - "border border-custom-primary-70 hover:border-custom-primary-70": getIsIssuePeeked(issueDetail.id), + "border border-custom-primary-70 hover:border-custom-primary-70": + getIsIssuePeeked(issueDetail.id) && nestingLevel === peekIssue?.nestingLevel, "shadow-[8px_22px_22px_10px_rgba(0,0,0,0.05)]": isScrolled.current, } )} diff --git a/web/store/issue/issue-details/root.store.ts b/web/store/issue/issue-details/root.store.ts index 90695a934..9a851ccf0 100644 --- a/web/store/issue/issue-details/root.store.ts +++ b/web/store/issue/issue-details/root.store.ts @@ -29,6 +29,7 @@ export type TPeekIssue = { workspaceSlug: string; projectId: string; issueId: string; + nestingLevel?: number; }; export type TIssueRelationModal = {