Skip to content

Commit 72e71b7

Browse files
fix: link to "view more insights" from dashboard goes to status modal (#9684)
Updates the link from the project dashboard page to take you to the project status modal instead of the old insights page. We didn't have a way to auto-open the modal before, so I added a query param to control it.
1 parent 130b386 commit 72e71b7

File tree

2 files changed

+24
-5
lines changed

2 files changed

+24
-5
lines changed

frontend/src/component/personalDashboard/ProjectSetupComplete.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ export const ProjectSetupComplete: FC<{
149149
/>
150150

151151
{projectHealthTrend !== 'unknown' && (
152-
<Link to={`/projects/${project}/insights`}>
152+
<Link to={`/projects/${project}?project-status`}>
153153
View more insights
154154
</Link>
155155
)}

frontend/src/component/project/Project/Project.tsx

+23-4
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,13 @@ import ProjectFlags from './ProjectFlags';
3232
import ProjectHealth from './ProjectHealth/ProjectHealth';
3333
import { useRequiredPathParam } from 'hooks/useRequiredPathParam';
3434
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
35-
import { Navigate, Route, Routes, useLocation } from 'react-router-dom';
35+
import {
36+
Navigate,
37+
Route,
38+
Routes,
39+
useLocation,
40+
useSearchParams,
41+
} from 'react-router-dom';
3642
import { DeleteProjectDialogue } from './DeleteProject/DeleteProjectDialogue';
3743
import { ProjectLog } from './ProjectLog/ProjectLog';
3844
import { ChangeRequestOverview } from 'component/changeRequest/ChangeRequestOverview/ChangeRequestOverview';
@@ -116,19 +122,32 @@ const ProjectStatusSvgWithMargin = styled(ProjectStatusSvg)(({ theme }) => ({
116122
}));
117123

118124
const ProjectStatus = () => {
119-
const [projectStatusOpen, setProjectStatusOpen] = useState(false);
125+
const [searchParams, setSearchParams] = useSearchParams();
126+
const [projectStatusOpen, setProjectStatusOpen] = useState(
127+
searchParams.has('project-status'),
128+
);
129+
const toggleStatusModal = (open: boolean) => () => {
130+
if (open) {
131+
searchParams.set('project-status', '');
132+
} else {
133+
searchParams.delete('project-status');
134+
}
135+
setSearchParams(searchParams);
136+
setProjectStatusOpen(open);
137+
};
138+
120139
return (
121140
<>
122141
<ProjectStatusButton
123-
onClick={() => setProjectStatusOpen(true)}
142+
onClick={toggleStatusModal(true)}
124143
startIcon={<ProjectStatusSvgWithMargin />}
125144
data-loading-project
126145
>
127146
Project status
128147
</ProjectStatusButton>
129148
<ProjectStatusModal
130149
open={projectStatusOpen}
131-
close={() => setProjectStatusOpen(false)}
150+
close={toggleStatusModal(false)}
132151
/>
133152
</>
134153
);

0 commit comments

Comments
 (0)