62 lines
2.0 KiB
Plaintext
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 = '/client/login';
|
|
}
|
|
%>
|
|
<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>
|