diff --git a/src/components/Activities/ReportTask.jsx b/src/components/Activities/ReportTask.jsx index e376433f..f3dd57c2 100644 --- a/src/components/Activities/ReportTask.jsx +++ b/src/components/Activities/ReportTask.jsx @@ -1,33 +1,34 @@ -import React, { useState,useEffect } from "react"; +import React, { useState, useEffect } 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"; -import {useReportTask} from "../../hooks/useTasks"; +import { useReportTask } from "../../hooks/useTasks"; export const ReportTask = ({ report, closeModal }) => { - const [ loading, setloading ] = useState( false ); + const [loading, setloading] = useState(false); const { mutate: reportTask, isPending } = useReportTask({ - onSuccessCallback: () => { - // refetch(); - reset(); - setloading(false); - closeModal(); - }, - onErrorCallback: () => { - setloading(false); - }, - } ); + onSuccessCallback: () => { + reset(); + setloading(false); + closeModal(); + }, + onErrorCallback: () => { + setloading(false); + }, + }); const maxPending = report?.workItem?.plannedWork - report?.workItem?.completedWork; const schema = z.object({ - completedTask: z - .preprocess( - (val) => (val === "" || val === null || Number.isNaN(val) ? undefined : Number(val)), + completedTask: z.preprocess( + (val) => + val === "" || val === null || Number.isNaN(val) + ? undefined + : Number(val), z .number({ required_error: "Completed Work must be a number", @@ -38,215 +39,165 @@ export const ReportTask = ({ report, closeModal }) => { message: `Completed task cannot exceed total pending tasks: ${maxPending}`, }) ), - comment: z.string().min(1, "Comment cannot be empty"), -}); + comment: z.string().min(1, "Comment cannot be empty"), + }); - const { register, handleSubmit, - formState: {errors}, - reset + formState: { errors }, + reset, } = useForm({ resolver: zodResolver(schema), defaultValues: { completedTask: 0, comment: "" }, }); - -useEffect(() => { - if (report) { - reset({ completedTask: 0, comment: "" }); - } -}, [report, reset]); - - - // const onSubmit = async (data) => { - // try { - // setloading(true); - // const reportData = { - // ...data, - // id: report?.id, - // reportedDate: new Date().toISOString(), - // checkList: [], - // }; - - // let response = await TasksRepository.reportTask(reportData); - // showToast("Task Reported Successfully.", "success"); - // refetch(); - // reset() - // setloading(false); - // closeModal(); - // } catch ( error ) - // { - // const msg = error.response.data.message || error.message || "Error Occur During Api Call" - // showToast(msg, "error"); - // } - // } + useEffect(() => { + if (report) { + reset({ completedTask: 0, comment: "" }); + } + }, [report, reset]); const onSubmit = (data) => { - setloading(true); - const reportData = { - ...data, - id: report?.id, - reportedDate: new Date().toISOString(), - checkList: [], - }; + setloading(true); + const reportData = { + ...data, + id: report?.id, + reportedDate: new Date().toISOString(), + checkList: [], + }; - reportTask(reportData); -}; + reportTask({ reportData, workAreaId: report?.workItem?.workArea?.id }); + }; const handleClose = () => { closeModal(); reset(); }; return ( - -

Report Task

-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
-
- -
- - {errors.completedTask && ( -
- {errors.completedTask.message} -
- )} -
-
-
- -
-