| Server IP : 3.111.61.48 / Your IP : 216.73.216.67 Web Server : Apache System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.2.31 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/vhost/itmtrsrv.arukustech.com/public/ |
Upload File : |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>New Password - ArukusTech Monitor</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap" rel="stylesheet">
<style>
body {
background: linear-gradient(135deg, #e2e8f0 0%, #f8fafc 100%);
font-family: 'Inter', sans-serif;
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
margin: 0;
}
.card {
border: none;
border-radius: 16px;
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 400px;
padding: 30px;
}
.btn-success {
background-color: #10b981;
border: none;
padding: 0.75rem;
font-weight: 600;
border-radius: 8px;
}
</style>
</head>
<body>
<div class="card">
<div class="text-center">
<img src="/logo.png" alt="Techsum Logo" style="max-width: 120px; margin-bottom: 20px;">
<h4 class="fw-bold">Set New Password</h4>
<p class="text-muted small mb-4">
Choose a new secure password for your account.
</p>
</div>
<!-- ?? Reset Password Form -->
<form id="resetForm">
<div class="mb-3 text-start">
<label class="form-label small fw-bold text-secondary">New Password</label>
<input
id="password"
name="password"
type="password"
class="form-control"
placeholder="��������"
required
>
</div>
<button id="submitBtn" type="submit" class="btn btn-success w-100">
Update Password
</button>
<div id="msg" class="text-center mt-3 small"></div>
</form>
</div>
<script>
const params = new URLSearchParams(window.location.search);
const token = params.get("token");
const msg = document.getElementById("msg");
if (!token) {
msg.innerHTML = `<span class="text-danger">
Invalid or missing reset token.
</span>`;
document.getElementById("submitBtn").disabled = true;
}
document.getElementById("resetForm").addEventListener("submit", async function (e) {
e.preventDefault();
const password = document.getElementById("password").value;
const btn = document.getElementById("submitBtn");
msg.innerText = "";
btn.disabled = true;
btn.innerText = "Updating...";
try {
const res = await fetch("/api/v1/reset-password", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ token, password })
});
const data = await res.json();
if (res.ok) {
msg.innerHTML = `<span class="text-success">
Password updated successfully. Redirecting to login...
</span>`;
setTimeout(() => {
window.location.href = "/login";
}, 2000);
} else {
msg.innerHTML = `<span class="text-danger">
${data.detail || "Reset failed"}
</span>`;
}
} catch (err) {
msg.innerHTML = `<span class="text-danger">
Server error. Try again later.
</span>`;
}
btn.disabled = false;
btn.innerText = "Update Password";
});
</script>
</body>
</html>