diff --git a/frontend/src/components/EditProjectModal.jsx b/frontend/src/components/EditProjectModal.jsx new file mode 100644 index 0000000..12e5f03 --- /dev/null +++ b/frontend/src/components/EditProjectModal.jsx @@ -0,0 +1,86 @@ +import React, { useState, useEffect } from 'react'; +import * as projectService from '../services/projectService'; + +const EditProjectModal = ({ + isOpen, + onClose, + project, + onProjectUpdated +}) => { + const [title, setTitle] = useState(''); + const [description, setDescription] = useState(''); + + // Pre-fill fields when modal opens or project changes + useEffect(() => { + if (project) { + setTitle(project.title || ''); + setDescription(project.description || ''); + } + }, [project]); + + const handleSubmit = async (e) => { + e.preventDefault(); + try { + const updatedProject = await projectService.updateProject(project._id, { + title, + description, + }); + onProjectUpdated(updatedProject); + onClose(); + } catch (error) { + console.error('Failed to update project:', error); + } + }; + + if (!isOpen) return null; + + return ( +
+
+

Edit Project

+
+
+ + setTitle(e.target.value)} + required + className="w-full px-3 py-2 mt-1 text-white bg-gray-700 border border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" + /> +
+ +
+ +