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

111 lines
5.0 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Create Account - 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>Create Account</h1>
<p>Join Bookmark Manager to save and sync your bookmarks</p>
</div>
<form id="registerForm" class="auth-form">
<div class="form-group">
<label for="email">Email Address</label>
<input type="email" id="email" name="email" required
aria-describedby="emailHelp" autocomplete="email">
<div id="emailHelp" class="help-text">We'll send a verification email to this address</div>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" id="password" name="password" 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="confirmPassword">Confirm Password</label>
<input type="password" id="confirmPassword" name="confirmPassword" required
aria-describedby="confirmPasswordHelp" autocomplete="new-password">
<div id="confirmPasswordHelp" class="help-text">Re-enter your password to confirm</div>
</div>
<div class="form-group checkbox-group">
<label class="checkbox-label">
<input type="checkbox" id="agreeTerms" name="agreeTerms" required>
<span class="checkmark"></span>
<span class="checkbox-text">I agree to the <a href="#" class="auth-link">Terms of Service</a> and <a href="#" class="auth-link">Privacy Policy</a></span>
</label>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary btn-full" id="registerBtn">
<span class="btn-text">Create Account</span>
<span class="btn-loading" style="display: none;">
<span class="loading-spinner"></span>
Creating account...
</span>
</button>
</div>
</form>
<div class="auth-divider">
<span>Already have an account?</span>
</div>
<div class="auth-footer">
<a href="login.html" class="btn btn-secondary btn-full">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-error-handler.js"></script>
<script src="auth-script.js"></script>
</body>
</html>