"use client"; import { M18ImportTestingForm, M18ImportDoForm, } from "@/app/api/settings/m18ImportTesting/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 M18ImportDo: React.FC = ({}) => { const { t } = useTranslation("m18ImportTesting"); 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 Delivery Order")} // 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("do.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 M18ImportDo;