import React, { useState } from 'react' import { FaTimes, FaSave, FaPlus } from 'react-icons/fa' import { PmWorkCenter, MaintenancePlanTypeEnum, FrequencyUnitEnum, PmMaintenancePlan, } from '../../../types/pm' import { PriorityEnum } from '../../../types/common' interface MaintenancePlanModalProps { isOpen: boolean onClose: () => void onSave: (planData: PmMaintenancePlan[]) => void selectedWorkCenters: PmWorkCenter[] } const MaintenancePlanModal: React.FC = ({ isOpen, onClose, onSave, selectedWorkCenters, }) => { const [planData, setPlanData] = useState({ planType: MaintenancePlanTypeEnum.Preventive, description: '', frequency: 1, frequencyUnit: FrequencyUnitEnum.Months, estimatedDuration: 60, priority: PriorityEnum.Normal, instructions: '', requiredSkills: [] as string[], nextDue: new Date(), }) const [newSkill, setNewSkill] = useState('') if (!isOpen) return null const handleInputChange = ( e: React.ChangeEvent, ) => { const { name, value, type } = e.target setPlanData((prev) => ({ ...prev, [name]: type === 'date' ? new Date(value) : type === 'number' ? Number(value) : value, })) } const addSkill = () => { if (newSkill.trim() && !planData.requiredSkills.includes(newSkill.trim())) { setPlanData((prev) => ({ ...prev, requiredSkills: [...prev.requiredSkills, newSkill.trim()], })) setNewSkill('') } } const removeSkill = (skillToRemove: string) => { setPlanData((prev) => ({ ...prev, requiredSkills: prev.requiredSkills.filter((skill) => skill !== skillToRemove), })) } const handleSave = () => { const plansToCreate = selectedWorkCenters.map((workCenter) => ({ id: `MP${Date.now()}-${workCenter.id}`, planCode: `MP-${workCenter.code}-${Date.now()}`, workCenterId: workCenter.id, workCenter: workCenter, ...planData, requiredMaterials: [], isActive: true, creationTime: new Date(), lastModificationTime: new Date(), })) onSave(plansToCreate) onClose() } return (
{/* Header */}

Bakım Planı Oluştur ({selectedWorkCenters.length} iş merkezi)

{/* Content */}
{/* Selected Work Center List */}

Seçili İş Merkezleri

{selectedWorkCenters.map((workCenter) => (
{workCenter.code} - {workCenter.name} {workCenter.location}
))}
{/* Plan Details */}

Plan Detayları

{/* Required Skills */}
setNewSkill(e.target.value)} placeholder="Yetenek ekle..." className="flex-1 px-3 py-1.5 text-sm border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500" onKeyPress={(e) => e.key === 'Enter' && addSkill()} />
{planData.requiredSkills.map((skill, index) => ( {skill} ))}
{/* Footer */}
) } export default MaintenancePlanModal