Skip to content

Commit 72b6b47

Browse files
Merge pull request #4538 from OneCommunityGlobal/adithya_dashboard_refactor_realtime_data
Adithya Refactor main dashboard to display real data
2 parents 9cabfc9 + 64f9c60 commit 72b6b47

3 files changed

Lines changed: 339 additions & 371 deletions

File tree

src/components/BMDashboard/Projects/ProjectDetails/ProjectDetails.jsx

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
import { useEffect, useState } from 'react';
1+
import { useEffect } from 'react';
22
import { useParams } from 'react-router-dom';
33
import { useSelector, useDispatch } from 'react-redux';
44
import { Container, Row, Col } from 'reactstrap';
5-
import { fetchBMProjects } from '~/actions/bmdashboard/projectActions';
5+
import { fetchBMProjects } from '../../../../actions/bmdashboard/projectActions';
6+
import { fetchBMProjectMembers } from '../../../../actions/bmdashboard/projectMemberAction';
7+
import { getAllUserTeams } from '../../../../actions/allTeamsAction';
68
import Loading from '~/components/common/Loading';
79
import LogBar from './LogBar';
810
import RentedToolsDisplay from './RentedTools/RentedToolsDisplay';
@@ -13,31 +15,30 @@ import styles from './ProjectDetails.module.css';
1315
function ProjectDetails() {
1416
const { projectId } = useParams();
1517
const dispatch = useDispatch();
16-
const darkMode = useSelector(state => state.theme.darkMode);
18+
1719
const projects = useSelector(state => state.bmProjects) || [];
18-
const [isLoading, setIsLoading] = useState(true);
19-
const currProject = projects.find(project => String(project._id) === String(projectId));
20+
const darkMode = useSelector(state => state.theme.darkMode);
2021

2122
useEffect(() => {
22-
const fetchProjects = async () => {
23-
setIsLoading(true);
24-
try {
25-
await dispatch(fetchBMProjects());
26-
} finally {
27-
setIsLoading(false);
28-
}
29-
};
30-
fetchProjects();
31-
}, [dispatch, projectId]);
23+
if (projectId) {
24+
dispatch(fetchBMProjectMembers(projectId));
25+
dispatch(getAllUserTeams());
26+
}
27+
if (projects.length === 0) {
28+
dispatch(fetchBMProjects());
29+
}
30+
}, [projectId, dispatch, projects.length]);
3231

33-
if (isLoading) {
32+
if (projects.length === 0) {
3433
return (
3534
<Container className={`${styles['project-details']} text-center mt-5`}>
3635
<Loading align="center" darkMode={darkMode} />
3736
</Container>
3837
);
3938
}
4039

40+
const currProject = projects.find(project => String(project._id) === String(projectId));
41+
4142
if (!currProject) {
4243
return (
4344
<Container className={`${styles['project-details']} text-center mt-5`}>
@@ -50,14 +51,14 @@ function ProjectDetails() {
5051
return (
5152
<Container
5253
fluid
53-
className={`${darkMode ? styles['project-details-dark'] : styles['project-details']} `}
54+
className={`${darkMode ? styles['project-details-dark'] : styles['project-details']}`}
5455
>
5556
<Row className="justify-content-center">
5657
<Col xs="12" lg="10">
5758
<h1
5859
className={`${
5960
darkMode ? styles['project-details-title-dark'] : styles['project-details-title']
60-
} mb-2 `}
61+
} mb-2`}
6162
>
6263
{currProject.name} Dashboard{' '}
6364
</h1>

0 commit comments

Comments
 (0)