"use client" import { ImportTestingForm } from "@/app/api/settings/importTesting/actions"; import { ImportPoForm } from "@/app/api/settings/importTesting/actions"; import { INPUT_DATE_FORMAT, OUTPUT_DATE_FORMAT, OUTPUT_TIME_FORMAT, dateTimeStringToDayjs } from "@/app/utils/formatUtil"; import { Check } from "@mui/icons-material"; import { Box, Button, Card, CardContent, FormControl, Grid, Stack, Typography } from "@mui/material"; import { DatePicker, DateTimePicker, LocalizationProvider } from "@mui/x-date-pickers"; import { AdapterDayjs } from "@mui/x-date-pickers/AdapterDayjs"; import dayjs, { Dayjs } from "dayjs"; import React, { useCallback, useState } from "react"; import { Controller, useFormContext } from "react-hook-form"; import { useTranslation } from "react-i18next"; interface Props { } const ImportPo: React.FC = ({ }) => { const { t } = useTranslation() const [isLoading, setIsLoading] = useState(false) const { control, formState: { errors }, watch } = useFormContext() const handleDateTimePickerOnChange = useCallback((value: Dayjs | null, onChange: (value: any) => void) => { const formattedValue = value ? value.format(`${INPUT_DATE_FORMAT} ${OUTPUT_TIME_FORMAT}`) : null onChange(formattedValue) }, []) return ( {t("Import PO")} value && dateTimeStringToDayjs(value).isValid() ? true : "Invalid date-time" }, }} render={({ field, fieldState: { error } }) => ( (handleDateTimePickerOnChange(newValue, field.onChange))} slotProps={{ textField: { error: !!error, helperText: error ? error.message : null } }} /> )} /> {"-"} value && dateTimeStringToDayjs(value).isValid() ? true : "Invalid date-time", isFuture: (value) => dateTimeStringToDayjs(value).isAfter(watch("po.dateFrom")) || "Date must be in the future", }, }} render={({ field, fieldState: { error } }) => ( (handleDateTimePickerOnChange(newValue, field.onChange))} slotProps={{ textField: { error: !!error, helperText: error ? error.message : null } }} /> )} /> ) } export default ImportPo;