import React, { useState, useEffect } from "react"; import EmpProfile from "../../components/Employee/EmpProfile"; import axios from "axios"; import Breadcrumb from "../../components/common/Breadcrumb"; import EmployeeNav from "../../components/Employee/EmployeeNav"; import { useSearchParams, useParams } from "react-router-dom"; import { getCachedData } from "../../slices/apiDataManager"; import { useEmployeeProfile, useEmployees, useEmployeesByProject, } from "../../hooks/useEmployees"; import { useProfile } from "../../hooks/useProfile"; import { useSelector } from "react-redux"; import EmployeeRepository from "../../repositories/EmployeeRepository"; import { ComingSoonPage } from "../Misc/ComingSoonPage"; import { useNavigate } from "react-router-dom"; import Avatar from "../../components/common/Avatar"; import AttendancesEmployeeRecords from "./AttendancesEmployeeRecords"; import ManageEmployee from "../../components/Employee/ManageEmployee"; import { useChangePassword } from "../../components/Context/ChangePasswordContext"; const EmployeeProfile = () => { const { profile } = useProfile(); const projectID = useSelector((store) => store.localVariables.projectId); const { employeeId } = useParams(); // const {employee,loading} = useEmployeeProfile(employeeId) const [loading, setLoading] = useState(true); const [SearchParams] = useSearchParams(); const tab = SearchParams.get("for"); const [activePill, setActivePill] = useState(tab); const [currentEmployee, setCurrentEmployee] = useState(); const [showModal, setShowModal] = useState(false); const handlePillClick = (pillKey) => { setActivePill(pillKey); }; const closeModal = () => { setShowModal(false); fetchEmployeeProfile(employeeId); }; const handleShow = () => setShowModal(true); const fetchEmployeeProfile = async (employeeID) => { try { const resp = await EmployeeRepository.getEmployeeProfile(employeeID); setCurrentEmployee(resp.data); setLoading(false); } catch (err) { setLoading(false); } }; useEffect(() => { if (employeeId) { fetchEmployeeProfile(employeeId); } }, [employeeId]); const navigate = useNavigate(); const renderContent = () => { if (loading) return
Loading
; switch (activePill) { case "attendance": { return ( <> ); } case "dcoument": { return ( <> ); break; } case "activities": { return ( <> ); break; } default: return ( <> ); } }; if (loading) { return
Loading...
; } const { openChangePassword } = useChangePassword(); return ( <> {" "} {showModal && (
)}

{`${currentEmployee?.firstName} ${currentEmployee?.lastName}`}

Employee Info
Email: {currentEmployee?.email || NA}
Phone Number: {currentEmployee?.phoneNumber || NA}
Emergency Contact Person: {currentEmployee?.emergencyContactPerson || ( NA )}
Emergency Contact Number: {currentEmployee?.emergencyPhoneNumber || ( NA )}
Gender: {currentEmployee?.gender || NA}
Birth Date: {currentEmployee?.birthDate ? ( new Date( currentEmployee.birthDate ).toLocaleDateString() ) : ( NA )}
Joining Date: {currentEmployee?.joiningDate ? ( new Date( currentEmployee.joiningDate ).toLocaleDateString() ) : ( NA )}
Job Role: {currentEmployee?.jobRole || NA}
Address: {currentEmployee?.currentAddress || ( NA )}
{currentEmployee?.id == profile?.employeeInfo?.id && ( )}
{renderContent()}
); }; export default EmployeeProfile;