diff --git a/src/pages/AssignmentPage.jsx b/src/pages/AssignmentPage.jsx
index 5bd8855..65f9ccd 100644
--- a/src/pages/AssignmentPage.jsx
+++ b/src/pages/AssignmentPage.jsx
@@ -1,5 +1,7 @@
import React, { useState } from "react";
import "../scss/components/_assignment.scss";
+import { useEffect } from "react";
+
const AssignmentPage = () => {
const [studentName, setStudentName] = useState("");
@@ -13,6 +15,11 @@ const AssignmentPage = () => {
const [showModal, setShowModal] = useState(false);
const [editingIndex, setEditingIndex] = useState(null);
+ useEffect(() => {
+ document.title = "Assignment";
+ }, []);
+
+
const resetForm = () => {
setStudentName("");
setCampID("");
@@ -37,12 +44,10 @@ const AssignmentPage = () => {
};
if (editingIndex !== null) {
- // Edit mode: update the project at the index
const updatedProjects = [...projects];
updatedProjects[editingIndex] = newProject;
setProjects(updatedProjects);
} else {
- // New submission
setProjects([...projects, newProject]);
}
@@ -58,7 +63,7 @@ const AssignmentPage = () => {
setProgramID(project.programID);
setTitle(project.title);
setDescription(project.description);
- setFile(null); // File can't be set again for editing, usually. You could add note about this.
+ setFile(null);
setEditingIndex(index);
setShowModal(true);
};
@@ -70,8 +75,10 @@ const AssignmentPage = () => {
return (
-
📘 Assignments
-
+
+
Assignments
+
+
{showModal && (
@@ -80,110 +87,69 @@ const AssignmentPage = () => {
)}
-
-
📋 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}
+ {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}
}
+
+
+
+
+
+
+
+ ))}
+
)}
-
-
-
-
-
-
-
- ))}
-
-
);
};
diff --git a/src/scss/components/_assignment.scss b/src/scss/components/_assignment.scss
index 7d424b8..ff3fe9b 100644
--- a/src/scss/components/_assignment.scss
+++ b/src/scss/components/_assignment.scss
@@ -235,4 +235,65 @@
transform: translateY(0);
}
}
-}
\ No newline at end of file
+}
+
+.assignment-header-box {
+ background: #0f0f1a;
+ border: 2px solid #00bfff;
+ border-radius: 12px;
+ padding: 50px;
+ text-align: center;
+ margin-bottom: 2rem;
+ // box-shadow: 0 0 20px #00bfff;
+ box-shadow: rgb(211, 0, 197) 0px 0px 15px, rgb(255, 42, 109) 0px 0px 25px;
+ border: 1px solid rgb(211, 0, 197);
+ animation: pulseNeonBlue 2s infinite alternate;
+
+ h2 {
+ color: #00bfff;
+ margin-bottom: 1rem;
+ font-weight: bold;
+ // text-shadow: rgb(5, 217, 232) 0px 0px 5px;
+ }
+
+ button {
+ background-color: #000;
+ border: 2px solid #00bfff;
+ color: #00bfff;
+ padding: 10px 20px;
+ border-radius: 8px;
+ cursor: pointer;
+ font-size: 1rem;
+ font-weight: bold;
+ transition: all 0.3s ease;
+
+ &:hover {
+ background-color: #00bfff;
+ color: #000;
+ }
+ }
+}
+
+// @keyframes pulseNeonBlue {
+// from {
+// box-shadow: 0 0 10px #00bfff, 0 0 20px #00bfff;
+// }
+// to {
+// box-shadow: 0 0 25px #00bfff, 0 0 40px #00bfff;
+// }
+// }
+
+@keyframes pulseNeonHybrid {
+ from {
+ box-shadow:
+ 0 0 10px rgba(211, 0, 197, 0.7),
+ 0 0 20px rgba(255, 42, 109, 0.7),
+ 0 0 10px rgba(0, 191, 255, 0.7);
+ }
+ to {
+ box-shadow:
+ 0 0 25px rgba(211, 0, 197, 0.9),
+ 0 0 40px rgba(255, 42, 109, 0.9),
+ 0 0 30px rgba(0, 191, 255, 0.9);
+ }
+}