From 276a2ca9f4554d29ea28d2da0387fd96f83788c5 Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Thu, 24 Jul 2025 12:03:38 +0530 Subject: [PATCH] Attendance Log Page Resets to First Page After Performing Action on Other Pages. --- src/components/Activities/AttendcesLogs.jsx | 46 +++++++++------------ 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/src/components/Activities/AttendcesLogs.jsx b/src/components/Activities/AttendcesLogs.jsx index 0a28ffd3..cff0c3a5 100644 --- a/src/components/Activities/AttendcesLogs.jsx +++ b/src/components/Activities/AttendcesLogs.jsx @@ -147,34 +147,26 @@ const AttendanceLog = ({ resetPage, } = usePagination(processedData, 20); - useEffect(() => { - resetPage(); - }, [processedData, resetPage]); +const handler = useCallback( + (msg) => { + const { startDate, endDate } = dateRange; + const checkIn = msg.response.checkInTime.substring(0, 10); + if ( + projectId === msg.projectId && + startDate <= checkIn && + checkIn <= endDate + ) { + const updatedAttendance = data.map((item) => + item.id === msg.response.id + ? { ...item, ...msg.response } + : item + ); - const handler = useCallback( - (msg) => { - const { startDate, endDate } = dateRange; - const checkIn = msg.response.checkInTime.substring(0, 10); - if ( - selectedProject === msg.projectId && - startDate <= checkIn && - checkIn <= endDate - ) { - queryClient.setQueriesData(["attendanceLogs"],(oldData)=>{ - if(!oldData) { - queryClient.invalidateQueries({queryKey:["attendanceLogs"]}) - } - return oldData.map((record) => - record.id === msg.response.id ? { ...record, ...msg.response } : record - ); - }) - - filtering(updatedAttendance); - resetPage(); - } - }, - [selectedProject, dateRange, data, filtering, resetPage] - ); + filtering(updatedAttendance); + } + }, + [projectId, dateRange, data, filtering] // ✅ removed resetPage from deps +); useEffect(() => { eventBus.on("attendance_log", handler);