diff --git a/src/components/Activities/Attendance.jsx b/src/components/Activities/Attendance.jsx index 48b63387..46f84632 100644 --- a/src/components/Activities/Attendance.jsx +++ b/src/components/Activities/Attendance.jsx @@ -10,6 +10,7 @@ import {ITEMS_PER_PAGE} from "../../utils/constants"; const Attendance = ({ attendance, getRole, handleModalData }) => { const [loading, setLoading] = useState(false); const navigate = useNavigate(); + const [todayDate, setTodayDate] = useState(new Date()); // Ensure attendance is an array const attendanceList = Array.isArray(attendance) ? attendance : []; @@ -42,6 +43,13 @@ const Attendance = ({ attendance, getRole, handleModalData }) => { <> + + + + - {loading && } - {dates.map((date, i) => { - return ( - - {currentItems.some( - (item) => item.checkInTime.split("T")[0] === date - ) && ( - - - - )} - {currentItems - ?.filter((item) => item.checkInTime.includes(date)) - .map((attendance, index) => ( - - - - - - - - ))} - + {(loading || isRefreshing) && ( + + + + )} + {!loading && !isRefreshing && paginatedAttendances.reduce((acc, attendance, index, arr) => { + const currentDate = moment(attendance.checkInTime || attendance.checkOutTime).format("YYYY-MM-DD"); + const previousAttendance = arr[index - 1]; + const previousDate = previousAttendance ? moment(previousAttendance.checkInTime || previousAttendance.checkOutTime).format("YYYY-MM-DD") : null; + + if (!previousDate || currentDate !== previousDate) { + acc.push( + + + + ); + } + acc.push( + + + + + + + ); - })} + return acc; + }, [])}
+ Date : {todayDate.toLocaleDateString('en-GB')} + +
Name @@ -127,9 +135,8 @@ const Attendance = ({ attendance, getRole, handleModalData }) => { Date - {" "} - Check-In + Check-In Check-Out @@ -135,107 +157,96 @@ const AttendanceLog = ({ handleModalData, projectId }) => {
Loading...
- {date} -
-
- - -
-
- {" "} - {moment(attendance.checkInTime).format( - "DD-MMM-YYYY" - )} - {convertShortTime(attendance.checkInTime)} - {attendance.checkOutTime - ? convertShortTime(attendance.checkOutTime) - : "--"} - - -
Loading...
+ {moment(currentDate).format("YYYY-MM-DD")} +
+
+ + +
+
+ {moment(attendance.checkInTime || attendance.checkOutTime).format("DD-MMM-YYYY")} + {convertShortTime(attendance.checkInTime)} + {attendance.checkOutTime ? convertShortTime(attendance.checkOutTime) : "--"} + + +
)} - {!loading && data.length === 0 && No employee logs} - {error && {error}} + {!loading && !isRefreshing && data.length === 0 && No employee logs} + {error && !loading && !isRefreshing && ( + + {error} + + )} - {!loading && ( + {!loading && !isRefreshing && processedData.length > 10 && (