Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions 96_Quantum Leapers/admin.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Admin Panel - Tutor Management</title>
<link rel="stylesheet" href="styles.css" />
<style>
.input {
width: 500px;
margin: 8px;
padding: 8px;
border: 2px solid #ccc;
border-radius: 5px;
font-size: 14px;
transition: background 0.3s, color 0.3s;
}
</style>
</head>
<body>
<button id="dark-mode-toggle" class="btn toggle">🌙 Dark Mode</button>

<div class="container">
<div class="admin-card">
<h1 class="text-center">Tutor Management Admin Panel</h1>

<div id="login-section" class="form-card">
<h3>Admin Login</h3>
<input
type="text"
id="username"
class="input"
placeholder="Username"
/>
<br>
<input
type="password"
id="password"
class="input mt-2"
placeholder="Password"
/>
<button class="btn submit mt-2" onclick="adminLogin()">Login</button>

<a href="index.html" class="btn back">🔙 Back</a>
<p id="login-message" class="error-message mt-2"></p>
</div>
</div>
</div>

<script src="admin.js"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const darkModeToggle = document.getElementById("dark-mode-toggle");

function enableDarkMode() {
document.body.classList.add("dark-mode");
localStorage.setItem("darkMode", "enabled");
darkModeToggle.textContent = "☀ Light Mode";
}

function disableDarkMode() {
document.body.classList.remove("dark-mode");
localStorage.setItem("darkMode", "disabled");
darkModeToggle.textContent = "🌙 Dark Mode";
}

if (localStorage.getItem("darkMode") === "enabled") {
enableDarkMode();
}

darkModeToggle.addEventListener("click", () => {
if (document.body.classList.contains("dark-mode")) {
disableDarkMode();
} else {
enableDarkMode();
}
});
});
</script>
</body>
</html>
92 changes: 92 additions & 0 deletions 96_Quantum Leapers/admin.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
document.addEventListener("DOMContentLoaded", () => {
checkAdmin();
});

function adminLogin() {
const username = document.getElementById("username").value;
const password = document.getElementById("password").value;

if (username === "admin" && password === "password") {
alert("Admin Logged in Successfully");
window.location.href = "adminPanel.html";
} else {
alert("Incorrect Password");
}
}

function checkAdmin() {
fetch("http://localhost:5000/check-admin", { credentials: "include" })
.then((res) => res.json())
.then((data) => {
if (data.loggedIn) {
document.getElementById("login-section").classList.add("d-none");
document.getElementById("admin-panel").classList.remove("d-none");
loadTutors();
}
})
.catch((error) => console.error("Error checking admin session:", error));
}

function loadTutors() {
fetch("http://localhost:5000/tutors-pending", { credentials: "include" })
.then((res) => res.json())
.then((tutors) => {
let html = "";
tutors.forEach((tutor) => {
html += `<tr>
<td>${tutor.name}</td>
<td>${tutor.subjects}</td>
<td>
<button class="btn success" onclick="verifyTutor(${tutor.id})">Verify</button>
<button class="btn danger" onclick="deleteTutor(${tutor.id})">Delete</button>
</td>
</tr>`;
});
document.getElementById("pending-tutors").innerHTML = html;
});

fetch("http://localhost:5000/tutors", { credentials: "include" })
.then((res) => res.json())
.then((tutors) => {
let html = "";
tutors.forEach((tutor) => {
html += `<tr>
<td>${tutor.name}</td>
<td>${tutor.subjects}</td>
</tr>`;
});
document.getElementById("verified-tutors").innerHTML = html;
});
}

function verifyTutor(id) {
fetch(`http://localhost:5000/verify/${id}`, {
method: "POST",
credentials: "include",
})
.then((res) => res.json())
.then(() => loadTutors())
.catch((error) => console.error("Error verifying tutor:", error));
}

function deleteTutor(id) {
fetch(`http://localhost:5000/delete/${id}`, {
method: "DELETE",
credentials: "include",
})
.then((res) => res.json())
.then(() => loadTutors())
.catch((error) => console.error("Error deleting tutor:", error));
}

function logout() {
fetch("http://localhost:5000/logout", {
method: "POST",
credentials: "include",
})
.then(() => {
document.getElementById("login-section").classList.remove("d-none");
document.getElementById("admin-panel").classList.add("d-none");
})
.catch((error) => console.error("Error logging out:", error));
}
106 changes: 106 additions & 0 deletions 96_Quantum Leapers/adminPanel.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Admin Panel</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div id="admin-panel" class="form-card">
<h3>Pending Tutor Approvals</h3>
<div class="table-container">
<table>
<thead>
<tr>
<th>Name</th>
<th>Subjects</th>
<th>Actions</th>
</tr>
</thead>
<tbody id="pending-tutors">
<tr>
<td>Jha Sir</td>
<td>Math, Science</td>
<td>
<button class="btn approve-btn" onclick="approveTutor(this)">Approve</button>
<button class="btn ignore-btn" onclick="ignoreTutor(this)">Ignore</button>
</td>
</tr>
</tbody>
</table>
</div>

<h3>Verified Tutors</h3>
<div class="table-container">
<table>
<thead>
<tr>
<th>Name</th>
<th>Subjects</th>
</tr>
</thead>
<tbody id="verified-tutors"></tbody>
</table>
</div>
</div>

<a href="index.html" class="btn back">🔙 Back</a>
<button class="btn" id="dark-mode-toggle">🌙 Dark Mode</button>
<a href="admin.html"><button class="btn" onclick="logout()">Logout</button></a>
<script src="admin.js"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const darkModeToggle = document.getElementById("dark-mode-toggle");

function enableDarkMode() {
document.body.classList.add("dark-mode");
localStorage.setItem("darkMode", "enabled");
darkModeToggle.textContent = "☀ Light Mode";
}

function disableDarkMode() {
document.body.classList.remove("dark-mode");
localStorage.setItem("darkMode", "disabled");
darkModeToggle.textContent = "🌙 Dark Mode";
}

if (localStorage.getItem("darkMode") === "enabled") {
enableDarkMode();
}

darkModeToggle.addEventListener("click", () => {
if (document.body.classList.contains("dark-mode")) {
disableDarkMode();
} else {
enableDarkMode();
}
});
});

function approveTutor(button) {
const row = button.parentElement.parentElement;
const name = row.cells[0].textContent;
const subjects = row.cells[1].textContent;

document.getElementById("verified-tutors").innerHTML += `
<tr>
<td>${name}</td>
<td>${subjects}</td>
</tr>
`;
row.remove();
}

function ignoreTutor(button) {
const row = button.parentElement.parentElement;
row.remove();
}

function logout() {
alert("Logged out");
}
</script>

</body>
</html>
53 changes: 53 additions & 0 deletions 96_Quantum Leapers/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tutor Quest</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<button id="dark-mode-toggle" class="btn toggle">🌙 Dark Mode</button>

<div class="container">
<h1>Welcome to Tutor Quest</h1>
<p>Select your role to proceed:</p>
<div class="button-group">
<a href="student.html" class="btn">Login as Student</a>
<a href="teacher.html" class="btn">Login as Teacher</a>
<a href="admin.html" class="btn">Login as Admin</a>
</div>
</div>

<script src="script.js"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const darkModeToggle = document.getElementById("dark-mode-toggle");

function enableDarkMode() {
document.body.classList.add("dark-mode");
localStorage.setItem("darkMode", "enabled");
darkModeToggle.textContent = "☀ Light Mode";
}

function disableDarkMode() {
document.body.classList.remove("dark-mode");
localStorage.setItem("darkMode", "disabled");
darkModeToggle.textContent = "🌙 Dark Mode";
}

if (localStorage.getItem("darkMode") === "enabled") {
enableDarkMode();
}

darkModeToggle.addEventListener("click", () => {
if (document.body.classList.contains("dark-mode")) {
disableDarkMode();
} else {
enableDarkMode();
}
});
});
</script>
</body>
</html>
Loading