From 216e9b0db07891a3c4835a2836696fa74937b9e4 Mon Sep 17 00:00:00 2001 From: Pramod Mahajan Date: Mon, 12 May 2025 11:33:04 +0530 Subject: [PATCH] updated regularization logic based on 48-hour checkout threshold for attendanceLogs. --- src/components/Activities/AttendLogs.jsx | 66 ++++++++++++++++++------ 1 file changed, 49 insertions(+), 17 deletions(-) diff --git a/src/components/Activities/AttendLogs.jsx b/src/components/Activities/AttendLogs.jsx index b246768b..0ae97b8f 100644 --- a/src/components/Activities/AttendLogs.jsx +++ b/src/components/Activities/AttendLogs.jsx @@ -2,12 +2,27 @@ import React, { useEffect, useState } from "react"; import { useEmployeeAttendacesLog } from "../../hooks/useAttendance"; import { convertShortTime } from "../../utils/dateUtils"; import { useNavigate } from "react-router-dom"; +import {THRESH_HOLD} from "../../utils/constants"; const AttendLogs = ({ Id }) => { const { logs, loading } = useEmployeeAttendacesLog(Id); const navigate = useNavigate(); - const whichActivityPerform = (actvity) => { + const isCheckoutRegularized = ( + activityTimeStr, + checkoutTimeStr, + threshHours + )=> { + if (!activityTimeStr || !checkoutTimeStr) return false; + + const activityTime = new Date(activityTimeStr); + const checkoutTime = new Date(checkoutTimeStr); + const threshTimeMs = threshHours * 60 * 60 * 1000; + + return checkoutTime - activityTime > threshTimeMs; + } + + const whichActivityPerform = (actvity,checkOutTime) => { switch (actvity) { case 1: return ( @@ -24,12 +39,12 @@ const AttendLogs = ({ Id }) => { case 2: return ( ); break; @@ -41,27 +56,43 @@ const AttendLogs = ({ Id }) => { data-bs-offset="0,8" data-bs-placement="top" data-bs-custom-class="tooltip" - title="Regularized" + title="Request Deleted!" > ); break; case 4: - return ( - - ); + if ( + checkOutTime && + isCheckoutRegularized(logs[0]?.activityTime, checkOutTime, THRESH_HOLD) + ) { + return ( + + ); + } else { + return ( + + ); + } break; case 5: return ( { const url = `https://www.google.com/maps?q=${lat},${lng}`; window.open(url, "_blank"); // Open in new tab }; + useEffect(() => { const tooltipTriggerList = Array.from( document.querySelectorAll('[data-bs-toggle="tooltip"]') @@ -122,11 +154,11 @@ const AttendLogs = ({ Id }) => { {log.activityTime.slice(0, 10)} {convertShortTime(log.activityTime)} - {whichActivityPerform(log.activity)} + {whichActivityPerform(log.activity,log.activityTime)} {log?.latitude != 0 ? (