import React from "react"; import { LocalizationProvider, MobileTimePicker } from "@mui/x-date-pickers"; import { AdapterDateFnsJalali } from "@mui/x-date-pickers/AdapterDateFnsJalali"; import { faIR } from "@mui/x-date-pickers/locales"; import { Box, FormHelperText, IconButton, InputAdornment } from "@mui/material"; import ClearIcon from "@mui/icons-material/Clear"; import { parseISO, format } from "date-fns"; function MuiTimePicker({ value, setFieldValue, name, minTime, maxTime, helperText, placeholder, error }) { // Ensure value, minTime, maxTime are Date objects const parsedValue = value ? (typeof value === "string" ? parseISO(value) : value) : null; const parsedMinTime = minTime ? (typeof minTime === "string" ? parseISO(minTime) : minTime) : null; const parsedMaxTime = maxTime && (typeof maxTime === "string" ? parseISO(maxTime) : null); return ( { const formattedTime = newValue ? format(new Date(newValue), "HH:mm") : ""; setFieldValue(name, formattedTime); }} minTime={parsedMinTime} maxTime={parsedMaxTime} slotProps={{ textField: { placeholder: placeholder, size: "small", error: error, InputProps: { endAdornment: ( { event.stopPropagation(); setFieldValue(name, ""); }} sx={{ color: "#bfbfbf", "&:hover": { backgroundColor: "rgba(189, 189, 189, 0.1)", color: "#363434", }, }} > ), }, }, }} /> {helperText ? helperText : ""} ); } export default MuiTimePicker;