import React, { useState, useEffect } from "react"; import { Link } from "react-router-dom"; import axios from "axios"; import Button from "@material-ui/core/Button"; import { useNavigate } from "react-router-dom"; import { isAutheticated } from "src/auth"; import swal from "sweetalert"; const TodayLeave = () => { const token = isAutheticated(); const navigate = useNavigate(); const [loading, setLoading] = useState(false); const [salescoordinatorsData, setSalesCoOrdinatorsData] = useState([]); const [currentPage, setCurrentPage] = useState(1); const [itemPerPage, setItemPerPage] = useState(10); const [totalData, setTotalData] = useState(0); const getTodayLeaveData = async () => { setLoading(true); try { const res = await axios.get(`/api/v1/leave/today`, { headers: { Authorization: `Bearer ${token}`, }, params: { page: currentPage, show: itemPerPage, }, }); console.log(res.data); setSalesCoOrdinatorsData(res.data?.leave); setTotalData(res.data?.total_data); } catch (err) { const msg = err?.response?.data?.message || "Something went wrong!"; swal({ title: "Error", text: msg, icon: "error", button: "Retry", dangerMode: true, }); } finally { setLoading(false); } }; useEffect(() => { getTodayLeaveData(); }, [itemPerPage, currentPage]); const today = new Date().toLocaleDateString("en-IN", { weekday: "short", month: "short", day: "numeric", year: "numeric", }); return (
Today's Leave
Date : {today}
{loading ? ( ) : salescoordinatorsData?.length > 0 ? ( salescoordinatorsData?.map((leave, i) => { return ( ); }) ) : ( )}
ID Name Email Designation Time Leave Type Reason
Loading...
{leave?.user?.uniqueId} {leave?.user?.name} {leave?.user?.email ? ( leave?.user?.email ) : ( No Email Added! )} {leave?.user?.userType === "SalesCoOrdinator"? "Sales Coordinator" : "Territory Manager"} {leave?.time || ( No Time Added! )} {leave?.leaveType || ( No Leave Type Added! )} {leave?.reason ? ( leave?.reason ) : ( No Reason Added! )}
No Leave Records Available...
Showing {currentPage * itemPerPage - itemPerPage + 1} to{" "} {Math.min(currentPage * itemPerPage, totalData)} of{" "} {totalData} entries
  • setCurrentPage((prev) => prev > 1 ? prev - 1 : prev ) } > Previous
  • = totalData ? "paginate_button page-item next disabled" : "paginate_button page-item next" } > setCurrentPage((prev) => prev * itemPerPage < totalData ? prev + 1 : prev ) } > Next
); }; export default TodayLeave;