diff --git a/src/components/Activities/AttendcesLogs.jsx b/src/components/Activities/AttendcesLogs.jsx index cff0c3a5..0a28ffd3 100644 --- a/src/components/Activities/AttendcesLogs.jsx +++ b/src/components/Activities/AttendcesLogs.jsx @@ -147,26 +147,34 @@ const AttendanceLog = ({ resetPage, } = usePagination(processedData, 20); -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 - ); + useEffect(() => { + resetPage(); + }, [processedData, resetPage]); - filtering(updatedAttendance); - } - }, - [projectId, dateRange, data, filtering] // ✅ removed resetPage from deps -); + 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] + ); useEffect(() => { eventBus.on("attendance_log", handler);