handled loading properly
This commit is contained in:
parent
b76ca68059
commit
dee44c63aa
@ -5,7 +5,7 @@ import AttendanceRepository from "../repositories/AttendanceRepository";
|
|||||||
export const useAttendace =(projectId)=>{
|
export const useAttendace =(projectId)=>{
|
||||||
|
|
||||||
const [attendance, setAttendance] = useState([]);
|
const [attendance, setAttendance] = useState([]);
|
||||||
const[loading,setLoading] = useState(false)
|
const[loading,setLoading] = useState(true)
|
||||||
const [error, setError] = useState(null);
|
const [error, setError] = useState(null);
|
||||||
|
|
||||||
const fetchData = () => {
|
const fetchData = () => {
|
||||||
@ -16,7 +16,8 @@ export const useAttendace =(projectId)=>{
|
|||||||
AttendanceRepository.getAttendance(projectId)
|
AttendanceRepository.getAttendance(projectId)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
setAttendance(response.data);
|
setAttendance(response.data);
|
||||||
cacheData("Attendance", { data: response.data, projectId })
|
cacheData( "Attendance", {data: response.data, projectId} )
|
||||||
|
setLoading(false)
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
setLoading(false)
|
setLoading(false)
|
||||||
|
@ -9,7 +9,7 @@ import AttendanceLog from "../../components/Activities/AttendcesLogs";
|
|||||||
import Attendance from "../../components/Activities/Attendance";
|
import Attendance from "../../components/Activities/Attendance";
|
||||||
import AttendanceModel from "../../components/Activities/AttendanceModel";
|
import AttendanceModel from "../../components/Activities/AttendanceModel";
|
||||||
import showToast from "../../services/toastService";
|
import showToast from "../../services/toastService";
|
||||||
import { useProjects } from "../../hooks/useProjects";
|
// import { useProjects } from "../../hooks/useProjects";
|
||||||
import Regularization from "../../components/Activities/Regularization";
|
import Regularization from "../../components/Activities/Regularization";
|
||||||
import { useAttendace } from "../../hooks/useAttendance";
|
import { useAttendace } from "../../hooks/useAttendance";
|
||||||
import { useDispatch, useSelector } from "react-redux";
|
import { useDispatch, useSelector } from "react-redux";
|
||||||
@ -24,7 +24,7 @@ const AttendancePage = () => {
|
|||||||
const [showOnlyCheckout, setShowOnlyCheckout] = useState();
|
const [showOnlyCheckout, setShowOnlyCheckout] = useState();
|
||||||
const loginUser = getCachedProfileData();
|
const loginUser = getCachedProfileData();
|
||||||
var selectedProject = useSelector((store) => store.localVariables.projectId);
|
var selectedProject = useSelector((store) => store.localVariables.projectId);
|
||||||
const { projects, loading: projectLoading } = useProjects();
|
// const { projects, loading: projectLoading } = useProjects();
|
||||||
const { attendance, loading: attLoading } = useAttendace(selectedProject);
|
const { attendance, loading: attLoading } = useAttendace(selectedProject);
|
||||||
const [attendances, setAttendances] = useState();
|
const [attendances, setAttendances] = useState();
|
||||||
const [empRoles, setEmpRoles] = useState(null);
|
const [empRoles, setEmpRoles] = useState(null);
|
||||||
@ -99,11 +99,11 @@ const AttendancePage = () => {
|
|||||||
setAttendances(attendance);
|
setAttendances(attendance);
|
||||||
}, [attendance]);
|
}, [attendance]);
|
||||||
|
|
||||||
useEffect(() => {
|
// useEffect(() => {
|
||||||
if (selectedProject === 1 || selectedProject === undefined) {
|
// if (selectedProject === 1 || selectedProject === undefined) {
|
||||||
dispatch(setProjectId(loginUser?.projects[0]));
|
// dispatch(setProjectId(loginUser?.projects[0]));
|
||||||
}
|
// }
|
||||||
}, [selectedProject, loginUser?.projects]);
|
// }, [selectedProject, loginUser?.projects]);
|
||||||
|
|
||||||
// Filter attendance data based on the toggle
|
// Filter attendance data based on the toggle
|
||||||
// const filteredAttendance = showOnlyCheckout
|
// const filteredAttendance = showOnlyCheckout
|
||||||
@ -217,14 +217,11 @@ const AttendancePage = () => {
|
|||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
<div className="tab-content attedanceTabs py-0 px-1 px-sm-3">
|
<div className="tab-content attedanceTabs py-0 px-1 px-sm-3">
|
||||||
{projectLoading && <span>Loading..</span>}
|
|
||||||
{!projectLoading && !attendances && <span>Not Found</span>}
|
|
||||||
|
|
||||||
{activeTab === "all" && (
|
{activeTab === "all" && (
|
||||||
<>
|
<>
|
||||||
{!projectLoading && filteredAttendance?.length === 0 && (
|
|
||||||
<p>No Employee assigned yet.</p>
|
|
||||||
)}
|
|
||||||
<div className="tab-pane fade show active py-0">
|
<div className="tab-pane fade show active py-0">
|
||||||
<Attendance
|
<Attendance
|
||||||
attendance={filteredAttendance}
|
attendance={filteredAttendance}
|
||||||
@ -234,6 +231,9 @@ const AttendancePage = () => {
|
|||||||
showOnlyCheckout={showOnlyCheckout}
|
showOnlyCheckout={showOnlyCheckout}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
{!attLoading && filteredAttendance?.length === 0 && (
|
||||||
|
<p>No Employee assigned yet.</p>
|
||||||
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
@ -253,6 +253,9 @@ const AttendancePage = () => {
|
|||||||
<Regularization handleRequest={handleSubmit} />
|
<Regularization handleRequest={handleSubmit} />
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{attLoading && <span>Loading..</span>}
|
||||||
|
{!attLoading && !attendances && <span>Not Found</span>}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user