93 lines
4.1 KiB
HTML
93 lines
4.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Set New Password - Bookmark Manager</title>
|
|
<link rel="stylesheet" href="styles.css">
|
|
<link rel="stylesheet" href="auth-styles.css">
|
|
</head>
|
|
|
|
<body class="auth-body">
|
|
<div class="auth-container">
|
|
<div class="auth-card">
|
|
<div class="auth-header">
|
|
<h1>Set New Password</h1>
|
|
<p>Enter your new password below</p>
|
|
</div>
|
|
|
|
<form id="resetPasswordForm" class="auth-form">
|
|
<input type="hidden" id="resetToken" name="resetToken">
|
|
|
|
<div class="form-group">
|
|
<label for="newPassword">New Password</label>
|
|
<input type="password" id="newPassword" name="newPassword" required
|
|
aria-describedby="passwordHelp" autocomplete="new-password">
|
|
<div id="passwordHelp" class="help-text">Password requirements:</div>
|
|
<div class="password-requirements" id="passwordRequirements">
|
|
<div class="requirement" id="req-length">
|
|
<span class="req-icon">○</span>
|
|
<span class="req-text">At least 8 characters</span>
|
|
</div>
|
|
<div class="requirement" id="req-uppercase">
|
|
<span class="req-icon">○</span>
|
|
<span class="req-text">One uppercase letter</span>
|
|
</div>
|
|
<div class="requirement" id="req-lowercase">
|
|
<span class="req-icon">○</span>
|
|
<span class="req-text">One lowercase letter</span>
|
|
</div>
|
|
<div class="requirement" id="req-number">
|
|
<span class="req-icon">○</span>
|
|
<span class="req-text">One number</span>
|
|
</div>
|
|
<div class="requirement" id="req-special">
|
|
<span class="req-icon">○</span>
|
|
<span class="req-text">One special character</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="confirmNewPassword">Confirm New Password</label>
|
|
<input type="password" id="confirmNewPassword" name="confirmNewPassword" required
|
|
aria-describedby="confirmPasswordHelp" autocomplete="new-password">
|
|
<div id="confirmPasswordHelp" class="help-text">Re-enter your new password to confirm</div>
|
|
</div>
|
|
|
|
<div class="form-actions">
|
|
<button type="submit" class="btn btn-primary btn-full" id="updatePasswordBtn">
|
|
<span class="btn-text">Update Password</span>
|
|
<span class="btn-loading" style="display: none;">
|
|
<span class="loading-spinner"></span>
|
|
Updating...
|
|
</span>
|
|
</button>
|
|
</div>
|
|
</form>
|
|
|
|
<div class="auth-footer">
|
|
<a href="login.html" class="btn btn-secondary btn-full">Back to Sign In</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="auth-error" id="authError" style="display: none;" role="alert" aria-live="polite">
|
|
<div class="error-content">
|
|
<span class="error-icon">⚠️</span>
|
|
<span class="error-message" id="errorMessage"></span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="auth-success" id="authSuccess" style="display: none;" role="alert" aria-live="polite">
|
|
<div class="success-content">
|
|
<span class="success-icon">✅</span>
|
|
<span class="success-message" id="successMessage"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="auth-script.js"></script>
|
|
</body>
|
|
|
|
</html> |