Spaces:
Runtime error
Runtime error
File size: 6,111 Bytes
4b63522 7477d5d 4b63522 7477d5d 4450bd2 7477d5d 4b63522 7477d5d 4b63522 7477d5d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | {% extends "base.html" %}
{% block title %}Register β Resume Ranker API{% endblock %}
{% block extra_head %}
{#
The Google Fonts link and the main CSS link are now in base.html.
You only need to include additional head elements here if they are
*specific* to the register page and not already in base.html.
For this example, we don't need anything extra here if base.html
is correctly set up.
#}
{% endblock %}
{% block content %}
<header class="container sticky-header">
<div class="logo">ResumeRanker<span style="color:var(--accent)">.API</span></div>
<nav class="nav-links" id="navLinks">
<a href="{{ url_for('auth.landing') }}">Home</a>
<a href="{{ url_for('auth.landing') }}#how">How it works</a>
<a href="{{ url_for('auth.landing') }}#demo">Live Demo</a>
<a href="{{ url_for('auth.landing') }}#docs">Docs</a>
<a href="{{ url_for('auth.landing') }}#pricing">Pricing</a>
</nav>
<button class="theme-toggle" id="themeToggle" aria-label="Toggle dark mode">π</button>
<button class="hamburger" id="hamburger" aria-label="Open menu">
<span></span><span></span><span></span>
</button>
</header>
<main class="login-container"> {# Reusing .login-container and .login-card for consistent styling #}
<div class="login-card">
<div class="login-header">
<h1 class="login-title">Create an account</h1>
<p class="login-subtitle">Join ResumeRanker today!</p>
</div>
{% if error %}
<div class="error-message">{{ error }}</div>
{% endif %}
{% if success %}
<div class="success-message">{{ success }}</div>
{% endif %}
<form method="POST">
<div class="form-group">
<label for="username" class="form-label">Username</label>
<input type="text" id="username" name="username" class="form-input" placeholder="Choose a username" required>
</div>
<div class="form-group">
<label for="email" class="form-label">Email address</label>
<input type="email" id="email" name="email" class="form-input" placeholder="Enter your email" required>
</div>
<div class="form-group">
<label for="password" class="form-label">Password</label>
<input type="password" id="password" name="password" class="form-input" placeholder="Create your password" required>
</div>
<button type="submit" class="login-btn">Sign up</button>
</form>
<div class="divider">
<span>or continue with</span>
</div>
<button class="social-btn" onclick="signInWithGoogle()">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
<path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"/>
<path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"/>
<path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"/>
<path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"/>
</svg>
Continue with Google
</button>
<button class="social-btn" onclick="signInWithGitHub()">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
<path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/>
</svg>
Continue with GitHub
</button>
<div class="signup-link">
Already have an account? <a href="{{ url_for('auth.login') }}">Sign in</a>
</div>
</div>
</main>
{% endblock %}
{% block extra_scripts %}
{#
The scripts for theme toggle and hamburger menu are generic UI elements
and can remain here, as they apply to the header on both login and register pages.
Social login functions are also relevant.
#}
<script>
// Light/Dark mode toggle
const themeToggle = document.getElementById('themeToggle');
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
themeToggle.textContent = theme === 'dark' ? 'βοΈ' : 'π';
}
const savedTheme = localStorage.getItem('theme');
setTheme(savedTheme || (prefersDark ? 'dark' : 'light'));
themeToggle.onclick = () => {
const current = document.documentElement.getAttribute('data-theme');
setTheme(current === 'dark' ? 'light' : 'dark');
};
// Hamburger menu toggle
const hamburger = document.getElementById('hamburger');
const navLinks = document.getElementById('navLinks');
hamburger.onclick = function() {
navLinks.classList.toggle('open');
hamburger.classList.toggle('open');
};
// Close menu when clicking a link (on mobile)
Array.from(navLinks.getElementsByTagName('a')).forEach(link => {
link.onclick = () => {
if (window.innerWidth <= 900) {
navLinks.classList.remove('open');
hamburger.classList.remove('open');
}
};
});
// Social login functions
function signInWithGoogle() {
// Implement Google OAuth for registration
console.log('Google sign-up clicked');
}
function signInWithGitHub() {
// Implement GitHub OAuth for registration
console.log('GitHub sign-up clicked');
}
</script>
{% endblock %}
|