import { Box, Button, FormLabel, Input, Typography } from '@mui/joy' import moment from 'moment' import { useEffect, useState } from 'react' import { useResponsiveModal } from '../../hooks/useResponsiveModal' import ConfirmationModal from './Inputs/ConfirmationModal' function EditHistoryModal({ config, historyRecord }) { const { ResponsiveModal } = useResponsiveModal() const [completedDate, setCompletedDate] = useState('') const [dueDate, setDueDate] = useState('') const [notes, setNotes] = useState('') const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false) // Reset form when modal opens with new data useEffect(() => { if (config?.isOpen && historyRecord?.performedAt) { setCompletedDate( moment(historyRecord.performedAt).format('YYYY-MM-DDTHH:mm'), ) setDueDate( historyRecord.dueDate ? moment(historyRecord.dueDate).format('YYYY-MM-DDTHH:mm') : '', ) setNotes(historyRecord.notes || '') } }, [config?.isOpen, historyRecord]) // Don't render modal content if no valid historyRecord if (!historyRecord?.performedAt) { return null } return ( Edit History Due Date { setDueDate(e.target.value) }} /> Completed Date { setCompletedDate(e.target.value) }} /> Note { if (e.target.value.trim() === '') { setNotes(null) return } setNotes(e.target.value) }} size='md' sx={{ mb: 1, }} /> {/* 3 button save , cancel and delete */} { if (isConfirm) { config.onDelete(historyRecord.id) } setIsDeleteModalOpen(false) }, title: 'Delete History', message: 'Are you sure you want to delete this history?', confirmText: 'Delete', cancelText: 'Cancel', }} /> ) } export default EditHistoryModal