va-tracker-middleware/views/auth/reset-password-form.ejs

62 lines
2.0 KiB
Plaintext

<% const layout = 'layouts/main' %>
<% const title = 'Reset Password' %>
<link href="/public/css/forget-password.css" rel="stylesheet">
<div class="page-center">
<div class="auth-card" role="main">
<div class="auth-header">
<div class="auth-icon" style="color:#2563eb;">
<i class="fas fa-lock"></i>
</div>
<div class="auth-title">Reset Your Password</div>
<div class="auth-sub">Enter your new password below</div>
</div>
<% if (error) { %>
<div class="alert alert-error"><strong>Error:</strong> <%= error %></div>
<% } %>
<form action="/api/v1/password/reset" method="POST" id="resetForm">
<input type="hidden" name="token" value="<%= token %>">
<input type="hidden" name="userType" value="<%= userType %>">
<div class="form-row">
<input type="password" id="password" name="password" required minlength="6"
class="form-input" placeholder="New Password">
</div>
<div class="form-row">
<input type="password" id="confirmPassword" name="confirmPassword" required minlength="6"
class="form-input" placeholder="Confirm Password">
</div>
<div class="form-row">
<button type="submit" class="btn btn-primary">Reset Password</button>
</div>
</form>
<%
let backToLoginUrl = `${process.env.FRONTEND_URL}/login`;
if (userType === 'client') {
backToLoginUrl = '/';
}
%>
<a href="<%= backToLoginUrl %>" class="small-link">Back to Login</a>
</div>
</div>
<script>
document.getElementById('resetForm').addEventListener('submit', function(e){
const p = document.getElementById('password').value;
const c = document.getElementById('confirmPassword').value;
if (p.length < 6) {
e.preventDefault();
alert('Password must be at least 6 characters long');
return;
}
if (p !== c) {
e.preventDefault();
alert('Passwords do not match');
return;
}
});
</script>