import React, { useState, useEffect } from "react"; import "./index.css"; const ResumeEditModal = ({ resume, isOpen, onClose, onSave, isEditMode = false, }) => { const [editData, setEditData] = useState({ personalInfo: { name: "", phone: "", email: "", location: "", }, education: { university: "", major: "", degree: "", graduationYear: "", }, experience: { company: "", position: "", duration: "", responsibilities: [], }, skills: [], }); const [isEditing, setIsEditing] = useState(isEditMode); const [currentSkill, setCurrentSkill] = useState(""); useEffect(() => { if (resume && isOpen) { setEditData({ personalInfo: { name: resume.personalInfo?.name || "", phone: resume.personalInfo?.phone || "", email: resume.personalInfo?.email || "", location: resume.personalInfo?.location || "", }, education: { university: resume.education?.university || "", major: resume.education?.major || "", degree: resume.education?.degree || "", graduationYear: resume.education?.graduationYear || "", }, experience: { company: resume.company || "", position: resume.name || "", duration: resume.experience || "", responsibilities: [ "负责核心业务开发与维护", "参与系统架构设计", "协助团队制定技术规范", ], }, skills: resume.skills || [], }); } }, [resume, isOpen]); if (!isOpen || !resume) return null; const handleInputChange = (section, field, value) => { setEditData((prev) => ({ ...prev, [section]: { ...prev[section], [field]: value, }, })); }; const handleAddSkill = () => { if (currentSkill.trim() && !editData.skills.includes(currentSkill.trim())) { setEditData((prev) => ({ ...prev, skills: [...prev.skills, currentSkill.trim()], })); setCurrentSkill(""); } }; const handleRemoveSkill = (skillToRemove) => { setEditData((prev) => ({ ...prev, skills: prev.skills.filter((skill) => skill !== skillToRemove), })); }; const handleSave = () => { onSave({ ...resume, personalInfo: editData.personalInfo, education: editData.education, experience: editData.experience, skills: editData.skills, }); setIsEditing(false); }; const handleOverlayClick = (e) => { if (e.target === e.currentTarget) { onClose(); } }; return (