Skip to content

Commit

Permalink
test 4
Browse files Browse the repository at this point in the history
  • Loading branch information
Kartikey2011yadav committed Sep 27, 2024
1 parent 19689cf commit c750d09
Show file tree
Hide file tree
Showing 5 changed files with 194 additions and 266 deletions.
11 changes: 4 additions & 7 deletions src/Components/ThemeToggle.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

import { useContext } from 'react';
import { useContext } from 'react';
import { Moon, Sun } from 'lucide-react';
import { ThemeContext } from '../contexts/ThemeContext';

Expand All @@ -13,11 +12,9 @@ const ThemeToggleButton = () => {
aria-label="Toggle Dark Mode"
>
<div className="flex items-center justify-between h-full px-1">

<Sun className="w-5 h-5 text-yellow-500" />

<Moon className="w-5 h-5 text-indigo-300" />

<Sun className="w-5 h-5 text-yellow-500" />

<Moon className="w-5 h-5 text-indigo-300" />
</div>
<div
className={`absolute top-0.5 left-0.5 w-7 h-7 rounded-full dark:bg-primary bg-white shadow-md transform transition-transform duration-200 ease-in-out ${
Expand Down
217 changes: 97 additions & 120 deletions src/Dashboard/Dashboard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,128 +6,105 @@ import TestScheduleCard from '../Test Schedule Card/TestScheduleCard';
import SuccessModal from '../AlertModel/AlertModel';
import { useState } from 'react';


const Dashboard = () => {
const [modalOpen, setModalOpen] = useState(false); // Modal open state
const [modalMessage, setModalMessage] = useState(""); // Modal message
const [isError, setIsError] = useState(false); // Modal error state
// const navigate = useNavigate();




let scheduleTests;
const closeModal = () => {
setModalOpen(false);
};

useEffect(() => {

const teacherID = localStorage.getItem("teacherID");

if (teacherID) {
axios
.post("http://localhost:5000/teacher/getDetails", { teacherID })
.then((response) => {

scheduleTests = response.data.scheduleTests;
setModalMessage(response.data.message);
setModalOpen(true); // Open modal
setIsError(false); // It's a success
})
.catch((error) => {
console.error(error);
setModalMessage("Could not fetch Teacher Details");
// setIsError(true); // It's an error
// setModalOpen(true); // Open modal
});
} else {
setModalMessage("Incorrect teacher ID");
// setIsError(true); // It's an error
// setModalOpen(true); // Open modal

}
},[])


// Data is not availble so using this sample data

scheduleTests = [
{
id: 0,
course : 'MTech',
duration : '1hr',
subject : 'Maths 2',
scheduleDate: new Date(2024, 8, 21, 10, 30)
},
{
id: 1,
course : 'MTech',
duration : '1hr',
subject : 'Maths 2',
scheduleDate: new Date(2024, 8, 21, 10, 30)
},
]

return(
<div>

<div >


{/* Questions Table */}
<div className="QUESTIONS_TABLE relative flex flex-col w-5/6 mx-auto mt-8 rounded-lg shadow-3 shadow-slate-300">
<h2 className=" relative text-[40px] bg-[#0369A1] text-white font-bold px-3 rounded-t-lg">Questions</h2>
<table className=" relative w-[95%] mx-auto text-center table-fixed mt-5 mb-7">
<thead className="QUESTIONS_TABLE_HEADER bg-[#F1F5F9] text-slate-600">
<tr className='bg-[#ececec] dark:bg-[#1F2937]'>
<th>Level</th>
<th>Questions</th>
</tr>
</thead>
<tbody className=' text-slate-500'>
<tr >
<td>1</td>
<td>15</td>
</tr>
<tr >
<td>1</td>
<td>15</td>
</tr>
<tr >
<td>1</td>
<td>15</td>
</tr>
</tbody>
</table>
</div>


{/*test Paper Table */}
<div className="TEST_PAPER_TABLE relative flex flex-col w-5/6 mx-auto my-8 rounded-lg shadow-3 shadow-slate-300">
<h2 className=" relative text-[40px] bg-[#0369A1] text-white font-bold px-3 rounded-t-lg">Upcoming Tests</h2>

<div className='relative w-[95%] mx-auto my-7 flex flex-col gap-10'>
const [modalOpen, setModalOpen] = useState(false); // Modal open state
const [modalMessage, setModalMessage] = useState(''); // Modal message
const [isError, setIsError] = useState(false); // Modal error state
// const navigate = useNavigate();

let scheduleTests;
const closeModal = () => {
setModalOpen(false);
};

useEffect(() => {
const teacherID = localStorage.getItem('teacherID');

if (teacherID) {
axios
.post('http://localhost:5000/teacher/getDetails', { teacherID })
.then((response) => {
scheduleTests = response.data.scheduleTests;
setModalMessage(response.data.message);
setModalOpen(true); // Open modal
setIsError(false); // It's a success
})
.catch((error) => {
console.error(error);
setModalMessage('Could not fetch Teacher Details');
// setIsError(true); // It's an error
// setModalOpen(true); // Open modal
});
} else {
setModalMessage('Incorrect teacher ID');
// setIsError(true); // It's an error
// setModalOpen(true); // Open modal
}
}, []);

// Data is not availble so using this sample data

scheduleTests = [
{
id: 0,
course: 'MTech',
duration: '1hr',
subject: 'Maths 2',
scheduleDate: new Date(2024, 8, 21, 10, 30),
},
{
id: 1,
course: 'MTech',
duration: '1hr',
subject: 'Maths 2',
scheduleDate: new Date(2024, 8, 21, 10, 30),
},
];

return (
<div>
<div>
{/* Questions Table */}
<div className="QUESTIONS_TABLE relative flex flex-col w-5/6 mx-auto mt-8 rounded-lg shadow-3 shadow-slate-300">
<h2 className=" relative text-[40px] bg-[#0369A1] text-white font-bold px-3 rounded-t-lg">Questions</h2>
<table className=" relative w-[95%] mx-auto text-center table-fixed mt-5 mb-7">
<thead className="QUESTIONS_TABLE_HEADER bg-[#F1F5F9] text-slate-600">
<tr className="bg-[#ececec] dark:bg-[#1F2937]">
<th>Level</th>
<th>Questions</th>
</tr>
</thead>
<tbody className=" text-slate-500">
<tr>
<td>1</td>
<td>15</td>
</tr>
<tr>
<td>1</td>
<td>15</td>
</tr>
<tr>
<td>1</td>
<td>15</td>
</tr>
</tbody>
</table>
</div>

{
scheduleTests.map((test) => (
<TestScheduleCard key={test.id} test={test} />
))
}
{/*test Paper Table */}
<div className="TEST_PAPER_TABLE relative flex flex-col w-5/6 mx-auto my-8 rounded-lg shadow-3 shadow-slate-300">
<h2 className=" relative text-[40px] bg-[#0369A1] text-white font-bold px-3 rounded-t-lg">Upcoming Tests</h2>

</div>

</div>
</div>
<SuccessModal
isOpen={modalOpen}
onClose={closeModal}
message={modalMessage}
isError={isError}
/>
<div className="relative w-[95%] mx-auto my-7 flex flex-col gap-10">
{scheduleTests.map((test) => (
<TestScheduleCard key={test.id} test={test} />
))}
</div>
</div>
)
}

</div>
<SuccessModal isOpen={modalOpen} onClose={closeModal} message={modalMessage} isError={isError} />
</div>
);
};

export default Dashboard;
export default Dashboard;
Loading

0 comments on commit c750d09

Please sign in to comment.