import React, { useState } from "react"; import "../scss/components/_assignment.scss"; import { useEffect } from "react"; const AssignmentPage = () => { const [studentName, setStudentName] = useState(""); const [campID, setCampID] = useState(""); const [programID, setProgramID] = useState(""); const [password, setPassword] = useState(""); const [title, setTitle] = useState(""); const [description, setDescription] = useState(""); const [file, setFile] = useState(null); const [projects, setProjects] = useState([]); const [showModal, setShowModal] = useState(false); const [editingIndex, setEditingIndex] = useState(null); useEffect(() => { document.title = "Assignment"; }, []); const resetForm = () => { setStudentName(""); setCampID(""); setProgramID(""); setPassword(""); setTitle(""); setDescription(""); setFile(null); setEditingIndex(null); }; const handleSubmit = (e) => { e.preventDefault(); const newProject = { studentName, campID, programID, title, description, fileName: file ? file.name : null, }; if (editingIndex !== null) { const updatedProjects = [...projects]; updatedProjects[editingIndex] = newProject; setProjects(updatedProjects); } else { setProjects([...projects, newProject]); } alert(editingIndex !== null ? "Assignment updated!" : "Assignment submitted!"); resetForm(); setShowModal(false); }; const handleEdit = (index) => { const project = projects[index]; setStudentName(project.studentName); setCampID(project.campID); setProgramID(project.programID); setTitle(project.title); setDescription(project.description); setFile(null); setEditingIndex(index); setShowModal(true); }; const handleDelete = (index) => { const updated = projects.filter((_, i) => i !== index); setProjects(updated); }; return (

Assignments

{showModal && (

{editingIndex !== null ? "Edit Assignment" : "New Assignment"}

setStudentName(e.target.value)} required />
setCampID(e.target.value)} required />
setProgramID(e.target.value)} required />
setPassword(e.target.value)} required />
setTitle(e.target.value)} required />
setFile(e.target.files[0])} />
)} {projects.length > 0 && (
{/*

📋 Projects

*/} {projects.map((project, index) => (
Student Name: {project.studentName} | CampID: {project.campID} | ProgramID: {project.programID}

{project.title}

{project.description}

{project.fileName &&

Uploaded File: {project.fileName}

}
))}
)}
); }; export default AssignmentPage;