← back to AbramsOS

views/signup.ejs

23 lines

<%- include('partials/header', { title: 'Sign up' }) %>

<section class="auth-card glass">
  <h1>Welcome to AbramsOS</h1>
  <p class="subtle">First-time setup. After this, signup is locked.</p>

  <% if (error) { %><p class="error-banner"><%= error %></p><% } %>

  <form method="post" action="/signup" autocomplete="off">
    <input type="hidden" name="_csrf" value="<%= csrfToken %>">
    <label>Email
      <input type="email" name="email" required autofocus>
    </label>
    <label>Password (min 12 chars)
      <input type="password" name="password" required minlength="12" autocomplete="new-password">
    </label>
    <button class="button primary" type="submit">Create account</button>
    <p class="subtle">After signup you'll enroll a TOTP authenticator (Google Authenticator, 1Password, Authy).</p>
  </form>
</section>

<%- include('partials/footer') %>