Changeset 24cdcc6 in Klonkt for src/views/pages/auth-register.ejs


Ignore:
Timestamp:
06/23/2026 02:11:51 PM (3 months ago)
Author:
Robin Genis <roboburr@…>
Branches:
main
Children:
8f2f97c
Parents:
3af8fa3
Message:

setup: first-run wizard (language choice + site name) on /auth/register

A fresh install now shows a friendly wizard: choose your language (EN/NL/DE,
immediately set as the site default via default_lang), give your site a name,
and create your admin account. The site gets the klonkt brand colours. Only
shown when there are 0 users; existing installs unchanged. Tested on a fresh
DB (GET+POST).

Co-Authored-By: Claude <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/views/pages/auth-register.ejs

    r3af8fa3 r24cdcc6  
    11<div class="container auth-page">
    2   <h1><%= t('auth.create_admin') %></h1>
    3   <p class="auth-intro"><%= t('auth.reg_intro') %></p>
     2  <h1><%= t('setup.title') %></h1>
     3  <p class="auth-intro"><%= t('setup.intro') %></p>
     4
     5  <div class="setup-lang" style="display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 20px">
     6    <span style="opacity:.7;font-size:.9rem"><%= t('setup.lang_label') %>:</span>
     7    <% (typeof langs !== 'undefined' ? langs : []).forEach(function(L){ %>
     8      <a href="/lang/<%= L.code %>?r=/auth/register"
     9         style="padding:5px 13px;border-radius:8px;text-decoration:none;font-weight:600;font-size:.9rem;border:1px solid <%= L.active ? 'var(--accent)' : 'var(--rule, #2b3140)' %>;color:<%= L.active ? 'var(--accent)' : 'inherit' %>"><%= L.name %></a>
     10    <% }) %>
     11  </div>
     12
    413  <% if (error) { %><div class="alert alert-error"><%= error %></div><% } %>
    514  <form method="post" action="/auth/register" class="auth-form">
     
    817    <% } %>
    918    <label>
     19      <span><%= t('setup.f_sitename') %></span>
     20      <input type="text" name="siteName" value="<%= typeof siteName !== 'undefined' ? siteName : '' %>" required autofocus maxlength="80" placeholder="<%= t('setup.sitename_ph') %>">
     21    </label>
     22    <label>
    1023      <span><%= t('auth.f_username') %></span>
    11       <input type="text" name="username" value="<%= username %>" required autofocus autocomplete="username" pattern="[a-zA-Z0-9_-]{3,32}">
     24      <input type="text" name="username" value="<%= username %>" required autocomplete="username" pattern="[a-zA-Z0-9_-]{3,32}">
    1225    </label>
    1326    <label>
     
    1932      <input type="password" name="password" required minlength="8" autocomplete="new-password">
    2033    </label>
    21     <button type="submit" class="btn btn-primary"><%= t('auth.create_admin') %></button>
     34    <button type="submit" class="btn btn-primary"><%= t('setup.submit') %></button>
    2235  </form>
    2336</div>
Note: See TracChangeset for help on using the changeset viewer.