import React, { useState, useEffect } from "react"; import "../../components/Project/ProjectInfra.css"; import BuildingModel from "../Project/Infrastructure/BuildingModel"; import FloorModel from "../Project/Infrastructure/FloorModel"; import showToast from "../../services/toastService"; import WorkAreaModel from "../Project/Infrastructure/WorkAreaModel"; import TaskModel from "../Project/Infrastructure/TaskModel"; import ProjectRepository from "../../repositories/ProjectRepository"; import Breadcrumb from "../../components/common/Breadcrumb"; import {useProjectDetails, useProjects} from "../../hooks/useProjects"; import {useHasUserPermission} from "../../hooks/useHasUserPermission"; import {MANAGE_PROJECT_INFRA} from "../../utils/constants"; import {useDispatch, useSelector} from "react-redux"; import {useProfile} from "../../hooks/useProfile"; import {refreshData, setProjectId} from "../../slices/localVariablesSlice"; import InfraTable from "../Project/Infrastructure/InfraTable"; const InfraPlanning = () => { const {profile: LoggedUser, refetch : fetchData} = useProfile() const dispatch = useDispatch() const {projects,loading:project_listLoader,error:projects_error} = useProjects() const selectedProject = useSelector((store)=>store.localVariables.projectId) const ManageInfra = useHasUserPermission( MANAGE_PROJECT_INFRA ) const {projects_Details, loading: project_deatilsLoader, error: project_error,refetch} = useProjectDetails( selectedProject ) const reloadedData = useSelector( ( store ) => store.localVariables.reload ) // useEffect( () => // { // dispatch(setProjectId(projects[0]?.id)) // }, [ projects ] ) useEffect( () => { if (reloadedData) { refetch() dispatch( refreshData( false ) ) } },[reloadedData]) return (
{/*
*/}
{project_deatilsLoader && (

Loading...

)} {( !project_deatilsLoader && projects_Details?.buildings.length === 0 ) && (

No Result Found

)} {(!project_deatilsLoader && projects_Details?.buildings?.length > 0) && ()}
); }; export default InfraPlanning;