| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>{{.title}}</title> |
| <link rel="preconnect" href="https://fonts.googleapis.com"> |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> |
| <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"> |
| <link href="/static/css/style.css" rel="stylesheet"> |
| </head> |
| <body> |
| <nav class="navbar"> |
| <div class="container"> |
| <a href="/" class="logo"> |
| <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> |
| <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/> |
| <polyline points="14 2 14 8 20 8"/> |
| <line x1="16" y1="13" x2="8" y2="13"/> |
| <line x1="16" y1="17" x2="8" y2="17"/> |
| <polyline points="10 9 9 9 8 9"/> |
| </svg> |
| Patbin |
| </a> |
| <div class="nav-links"> |
| <button class="theme-toggle" onclick="toggleTheme()" title="Toggle theme"> |
| <svg class="sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> |
| <circle cx="12" cy="12" r="5"/> |
| <line x1="12" y1="1" x2="12" y2="3"/> |
| <line x1="12" y1="21" x2="12" y2="23"/> |
| <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/> |
| <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/> |
| <line x1="1" y1="12" x2="3" y2="12"/> |
| <line x1="21" y1="12" x2="23" y2="12"/> |
| <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/> |
| <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/> |
| </svg> |
| <svg class="moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> |
| <path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/> |
| </svg> |
| </button> |
| </div> |
| </div> |
| </nav> |
|
|
| <main class="auth-page"> |
| <div class="card auth-card"> |
| <div class="auth-header"> |
| <h1>Create account</h1> |
| <p class="text-muted">Join Patbin to manage your pastes</p> |
| </div> |
|
|
| <form id="register-form"> |
| <div class="form-group"> |
| <label class="form-label" for="username">Username</label> |
| <input type="text" id="username" name="username" class="form-input" placeholder="Choose a username" required minlength="3" maxlength="50" autocomplete="username"> |
| <small class="text-muted mt-1" style="display: block; font-size: 0.75rem;">3-50 characters</small> |
| </div> |
|
|
| <div class="form-group"> |
| <label class="form-label" for="password">Password</label> |
| <input type="password" id="password" name="password" class="form-input" placeholder="Choose a password" required minlength="6" autocomplete="new-password"> |
| <small class="text-muted mt-1" style="display: block; font-size: 0.75rem;">Minimum 6 characters</small> |
| </div> |
|
|
| <div class="mt-4"> |
| <button type="submit" class="btn btn-primary btn-lg" style="width: 100%">Create Account</button> |
| </div> |
| </form> |
|
|
| <div class="auth-footer"> |
| Already have an account? <a href="/login">Sign in</a> |
| </div> |
| </div> |
| </main> |
|
|
| <script src="/static/js/app.js"></script> |
| </body> |
| </html> |
|
|