Files
bookmarksite/frontend/reset-password.html
2025-07-20 20:43:06 +02:00

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>