import React, { useState } from "react"; import { formatDate } from "../../utils/dateUtils"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; import showToast from "../../services/toastService"; import { TasksRepository } from "../../repositories/TaskRepository"; export const ReportTask = ({ report, closeModal, refetch }) => { const [loading, setloading] = useState(false); const schema = z.object({ completedTask: z .number() .min(1, "Completed Work must be at least 1") .max( report?.plannedTask, `Completed Work cannot exceed ${report?.plannedTask}` ) .int("Completed Work must be an integer") .positive("Completed Work must be a positive number") .optional(), comment: z.string().min(1, "Comment cannot be empty"), }); const { register, handleSubmit, formState: { errors }, } = useForm({ resolver: zodResolver(schema), }); const onSubmit = async (data) => { try { setloading(true); const reportData = { ...data, id: report?.id, reportedDate: new Date().toISOString(), }; let response = await TasksRepository.reportTsak(reportData); showToast("succesfully", "success"); refetch(); closeModal(); } catch (error) { showToast("Somthing wrog", "error"); } }; const handleClose = () => { closeModal(); }; return (
{" "} Assigned Date : {formatDate(report?.assignmentDate)}
Assigned By
{/*
{report?.assignedBy?.firstName.slice(0, 1)} */} {` ${report?.assignedBy.firstName} ${report?.assignedBy.lastName}`} {/*
*/}

{report?.workItem?.workArea?.floor?.building?.name}

{report?.workItem?.workArea?.floor?.floorName}

Work Area : {report?.workItem?.workArea?.areaName}
{report?.workItem?.activityMaster.activityName}
Team
{report?.teamMembers.map((member) => ( <>
{/* Avatar */} {member?.firstName.slice(0, 1)}
))}
Planned : {report?.plannedTask}
{errors.completedTask && (
{errors.completedTask.message}
)}