Refactor_Expenses #321

Merged
pramod.mahajan merged 249 commits from Refactor_Expenses into hotfix/MasterActivity 2025-08-01 13:14:59 +00:00
Showing only changes of commit 1e8c836e4d - Show all commits

View File

@ -4,7 +4,7 @@ import Avatar from "../common/Avatar";
import { convertShortTime } from "../../utils/dateUtils"; import { convertShortTime } from "../../utils/dateUtils";
import RenderAttendanceStatus from "./RenderAttendanceStatus"; import RenderAttendanceStatus from "./RenderAttendanceStatus";
import { useSelector, useDispatch } from "react-redux"; import { useSelector, useDispatch } from "react-redux";
import { fetchAttendanceData } from "../../slices/apiSlice/attedanceLogsSlice"; import { fetchAttendanceData, setAttendanceData } from "../../slices/apiSlice/attedanceLogsSlice";
import DateRangePicker from "../common/DateRangePicker"; import DateRangePicker from "../common/DateRangePicker";
import eventBus from "../../services/eventBus"; import eventBus from "../../services/eventBus";
@ -28,14 +28,15 @@ const usePagination = (data, itemsPerPage) => {
} }
}, [maxPage]); }, [maxPage]);
const resetPage = useCallback(() => setCurrentPage(1), []); // This is returned by the hook // Ensure resetPage is returned by the hook
const resetPage = useCallback(() => setCurrentPage(1), []);
return { return {
currentPage, currentPage,
totalPages: maxPage, totalPages: maxPage,
currentItems, currentItems,
paginate, paginate,
resetPage, // Ensure resetPage is returned here resetPage,
}; };
}; };
@ -177,26 +178,30 @@ const AttendanceLog = ({
resetPage, // Destructure resetPage here resetPage, // Destructure resetPage here
} = usePagination(processedData, 20); } = usePagination(processedData, 20);
const handler = useCallback( // Effect to reset pagination when search query changes
(msg) => { useEffect(() => {
const { startDate, endDate } = dateRange; resetPage();
const checkIn = msg.response.checkInTime.substring(0, 10); }, [searchQuery, resetPage]); // Add resetPage to dependencies
if (
projectId === msg.projectId &&
startDate <= checkIn &&
checkIn <= endDate
) {
const updatedAttendance = data.map((item) =>
item.id === msg.response.id
? { ...item, ...msg.response }
: item
);
filtering(updatedAttendance); const handler = useCallback(
} (msg) => {
}, const { startDate, endDate } = dateRange;
[projectId, dateRange, data, filtering] // removed resetPage from deps 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
);
dispatch(setAttendanceData(updatedAttendance)); // Update Redux store
}
},
[projectId, dateRange, data, dispatch]
);
useEffect(() => { useEffect(() => {
useEffect(() => { useEffect(() => {
@ -368,8 +373,7 @@ const handler = useCallback(
No employee logs. No employee logs.
</div> </div>
) )
) )}
}
</div> </div>
{!loading && !isRefreshing && processedData.length > 20 && ( {!loading && !isRefreshing && processedData.length > 20 && (
<nav aria-label="Page "> <nav aria-label="Page ">