Changeset 9e27d64 in Klonkt for src/views/pages
- Timestamp:
- 06/14/2026 07:31:23 AM (3 months ago)
- Branches:
- main
- Children:
- 6351545
- Parents:
- 32cc601
- Location:
- src/views/pages
- Files:
-
- 6 edited
-
account.ejs (modified) (1 diff)
-
auth-login.ejs (modified) (1 diff)
-
auth-register.ejs (modified) (2 diffs)
-
auth-reset-request.ejs (modified) (3 diffs)
-
auth-reset.ejs (modified) (2 diffs)
-
welcome.ejs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/views/pages/account.ejs
r32cc601 r9e27d64 65 65 </section> 66 66 67 <%# ── INLOG ─────────────────────────────────────────────── %> 67 <%# ── WACHTWOORD ────────────────────────────────────────── %> 68 <% if (hasPassword) { %> 69 <section class="ax-card"> 70 <div class="ax-card-title">Wachtwoord wijzigen</div> 71 <form action="/account/password" method="post" class="ax-form"> 72 <label class="ax-field"> 73 <span>Huidig wachtwoord</span> 74 <input type="password" name="current" required autocomplete="current-password"> 75 </label> 76 <div class="ax-row ax-row-2"> 77 <label class="ax-field"> 78 <span>Nieuw wachtwoord <small>(min 8 tekens)</small></span> 79 <input type="password" name="new_password" required minlength="8" autocomplete="new-password"> 80 </label> 81 <label class="ax-field"> 82 <span>Bevestig nieuw wachtwoord</span> 83 <input type="password" name="confirm" required minlength="8" autocomplete="new-password"> 84 </label> 85 </div> 86 <div class="ax-form-actions"> 87 <button type="submit" class="ax-btn ax-btn-primary">🔒 Wachtwoord wijzigen</button> 88 </div> 89 </form> 90 </section> 91 <% } else { %> 68 92 <section class="ax-card"> 69 93 <div class="ax-card-title">Inloggen</div> 70 94 <p class="ax-tagline" style="margin:0">Je bent ingelogd via Google (<%= account.email %>). Er is geen apart wachtwoord.</p> 71 95 </section> 96 <% } %> 72 97 73 98 </div> -
src/views/pages/auth-login.ejs
r32cc601 r9e27d64 1 1 <div class="container auth-page"> 2 2 <h1>Inloggen</h1> 3 <% if (typeof success !== 'undefined' && success) { %><div class="alert alert-success"><%= success %></div><% } %> 3 4 <% if (error) { %><div class="alert alert-error"><%= error %></div><% } %> 4 5 5 <div class="auth-form auth-google"> 6 <% if (googleReady) { %> 7 <p class="auth-intro">Log in met je Google-account om mee te praten.</p> 8 <a class="btn btn-google" href="/auth/google<%= (typeof next !== 'undefined' && next) ? '?next=' + encodeURIComponent(next) : '' %>"> 9 <svg class="g-icon" width="18" height="18" viewBox="0 0 18 18" aria-hidden="true"> 10 <path fill="#4285F4" d="M17.64 9.2c0-.64-.06-1.25-.16-1.84H9v3.48h4.84a4.14 4.14 0 0 1-1.8 2.72v2.26h2.92c1.7-1.57 2.68-3.88 2.68-6.62z"/> 11 <path fill="#34A853" d="M9 18c2.43 0 4.47-.8 5.96-2.18l-2.92-2.26c-.8.54-1.84.86-3.04.86-2.34 0-4.32-1.58-5.03-3.7H.96v2.33A9 9 0 0 0 9 18z"/> 12 <path fill="#FBBC05" d="M3.97 10.72a5.4 5.4 0 0 1 0-3.44V4.95H.96a9 9 0 0 0 0 8.1l3.01-2.33z"/> 13 <path fill="#EA4335" d="M9 3.58c1.32 0 2.5.45 3.44 1.35l2.58-2.58A9 9 0 0 0 .96 4.95l3.01 2.33C4.68 5.16 6.66 3.58 9 3.58z"/> 14 </svg> 15 <span>Inloggen met Google</span> 16 </a> 17 <% } else { %> 18 <p class="auth-intro">Inloggen via Google is op deze site nog niet ingesteld.</p> 6 <form method="post" action="/auth/login" class="auth-form"> 7 <% if (typeof next !== 'undefined' && next) { %> 8 <input type="hidden" name="next" value="<%= next %>"> 19 9 <% } %> 20 </div> 10 <label> 11 <span>Gebruikersnaam of e-mail</span> 12 <input type="text" name="username" value="<%= username %>" required autofocus autocomplete="username"> 13 </label> 14 <label> 15 <span>Wachtwoord</span> 16 <input type="password" name="password" required autocomplete="current-password"> 17 </label> 18 <button type="submit" class="btn btn-primary">Inloggen</button> 19 <p class="auth-link auth-link-muted"><a href="/auth/reset-request">Wachtwoord vergeten?</a></p> 20 </form> 21 22 <% if (googleReady) { %> 23 <div class="auth-divider"><span>of als luisteraar</span></div> 24 <a class="btn btn-google" href="/auth/google<%= (typeof next !== 'undefined' && next) ? '?next=' + encodeURIComponent(next) : '' %>"> 25 <svg class="g-icon" width="18" height="18" viewBox="0 0 18 18" aria-hidden="true"> 26 <path fill="#4285F4" d="M17.64 9.2c0-.64-.06-1.25-.16-1.84H9v3.48h4.84a4.14 4.14 0 0 1-1.8 2.72v2.26h2.92c1.7-1.57 2.68-3.88 2.68-6.62z"/> 27 <path fill="#34A853" d="M9 18c2.43 0 4.47-.8 5.96-2.18l-2.92-2.26c-.8.54-1.84.86-3.04.86-2.34 0-4.32-1.58-5.03-3.7H.96v2.33A9 9 0 0 0 9 18z"/> 28 <path fill="#FBBC05" d="M3.97 10.72a5.4 5.4 0 0 1 0-3.44V4.95H.96a9 9 0 0 0 0 8.1l3.01-2.33z"/> 29 <path fill="#EA4335" d="M9 3.58c1.32 0 2.5.45 3.44 1.35l2.58-2.58A9 9 0 0 0 .96 4.95l3.01 2.33C4.68 5.16 6.66 3.58 9 3.58z"/> 30 </svg> 31 <span>Inloggen met Google</span> 32 </a> 33 <% } %> 21 34 </div> -
src/views/pages/auth-register.ejs
r32cc601 r9e27d64 1 1 <div class="container auth-page"> 2 <h1>Register</h1> 2 <h1>Beheerder aanmaken</h1> 3 <p class="auth-intro">Eerste keer opzetten — maak je beheerdersaccount aan. Dit kan maar één keer.</p> 3 4 <% if (error) { %><div class="alert alert-error"><%= error %></div><% } %> 4 5 <form method="post" action="/auth/register" class="auth-form"> … … 7 8 <% } %> 8 9 <label> 9 <span> Username (3-32 chars, letters/numbers/_-)</span>10 <span>Gebruikersnaam (3-32 tekens, letters/cijfers/_-)</span> 10 11 <input type="text" name="username" value="<%= username %>" required autofocus autocomplete="username" pattern="[a-zA-Z0-9_-]{3,32}"> 11 12 </label> 12 13 <label> 13 <span>E mail</span>14 <span>E-mail</span> 14 15 <input type="email" name="email" value="<%= email %>" required autocomplete="email"> 15 16 </label> 16 17 <label> 17 <span> Password (min 8 chars)</span>18 <span>Wachtwoord (min 8 tekens)</span> 18 19 <input type="password" name="password" required minlength="8" autocomplete="new-password"> 19 20 </label> 20 <button type="submit" class="btn btn-primary">Create account</button> 21 <p class="auth-link">Already registered? 22 <a href="/auth/login<%= (typeof next !== 'undefined' && next) ? '?next=' + encodeURIComponent(next) : '' %>">Login</a> 23 </p> 21 <button type="submit" class="btn btn-primary">Beheerder aanmaken</button> 24 22 </form> 25 23 </div> -
src/views/pages/auth-reset-request.ejs
r32cc601 r9e27d64 1 1 <div class="container auth-page"> 2 <h1> Reset password</h1>2 <h1>Wachtwoord resetten</h1> 3 3 4 4 <% if (sent) { %> 5 5 <div class="alert alert-success"> 6 If an account exists for that email, a reset link has been sent.6 Als er een account bestaat voor dat e-mailadres, is er een reset-link verstuurd. 7 7 </div> 8 8 <% if (devResetUrl) { %> 9 9 <div class="alert alert-info"> 10 <strong> Dev mode:</strong> reset link below (no email server configured).10 <strong>Geen e-mailserver ingesteld</strong> — reset-link hieronder. 11 11 <p style="margin: 0.5rem 0 0; word-break: break-all;"> 12 12 <a href="<%= devResetUrl %>"><%= devResetUrl %></a> … … 14 14 </div> 15 15 <% } %> 16 <p class="auth-link"><a href="/auth/login">← Back to login</a></p> 16 <% if (typeof mailer !== 'undefined' && !mailer) { %> 17 <p class="auth-link-muted">Geen e-mail ingesteld? De beheerder kan ook <code>npm run reset-admin</code> draaien op de server.</p> 18 <% } %> 19 <p class="auth-link"><a href="/auth/login">← Terug naar inloggen</a></p> 17 20 <% } else { %> 18 <p class="auth-tagline"> Enter your email and we'll send a resetlink.</p>21 <p class="auth-tagline">Vul je e-mail in; we sturen een reset-link.</p> 19 22 20 23 <% if (error) { %><div class="alert alert-error"><%= error %></div><% } %> … … 22 25 <form method="post" action="/auth/reset-request" class="auth-form"> 23 26 <label> 24 <span>E mail</span>27 <span>E-mail</span> 25 28 <input type="email" name="email" required autofocus autocomplete="email"> 26 29 </label> 27 <button type="submit" class="btn btn-primary">S end resetlink</button>28 <p class="auth-link"><a href="/auth/login">← Back to login</a></p>30 <button type="submit" class="btn btn-primary">Stuur reset-link</button> 31 <p class="auth-link"><a href="/auth/login">← Terug naar inloggen</a></p> 29 32 </form> 30 33 <% } %> -
src/views/pages/auth-reset.ejs
r32cc601 r9e27d64 1 1 <div class="container auth-page"> 2 <h1> Reset password</h1>2 <h1>Wachtwoord resetten</h1> 3 3 4 4 <% if (!token) { %> 5 5 <% if (error) { %><div class="alert alert-error"><%= error %></div><% } %> 6 6 <p class="auth-link"> 7 <a href="/auth/reset-request"> Request a new reset link</a>7 <a href="/auth/reset-request">Vraag een nieuwe reset-link aan</a> 8 8 · 9 <a href="/auth/login"> Back to login</a>9 <a href="/auth/login">Terug naar inloggen</a> 10 10 </p> 11 11 <% } else { %> 12 <p class="auth-tagline">S et a new password for <strong><%= username %></strong>.</p>12 <p class="auth-tagline">Stel een nieuw wachtwoord in voor <strong><%= username %></strong>.</p> 13 13 14 14 <% if (error) { %><div class="alert alert-error"><%= error %></div><% } %> … … 16 16 <form method="post" action="/auth/reset/<%= token %>" class="auth-form"> 17 17 <label> 18 <span>N ew password (min 8 chars)</span>18 <span>Nieuw wachtwoord (min 8 tekens)</span> 19 19 <input type="password" name="new_password" required minlength="8" autofocus autocomplete="new-password"> 20 20 </label> 21 21 <label> 22 <span> Confirm new password</span>22 <span>Bevestig nieuw wachtwoord</span> 23 23 <input type="password" name="confirm" required minlength="8" autocomplete="new-password"> 24 24 </label> 25 <button type="submit" class="btn btn-primary"> Set password</button>25 <button type="submit" class="btn btn-primary">Wachtwoord instellen</button> 26 26 </form> 27 27 <% } %> -
src/views/pages/welcome.ejs
r32cc601 r9e27d64 5 5 <% if (!user) { %> 6 6 <div class="welcome-actions"> 7 <a href="/auth/login" class="btn btn-primary">Inloggen met Google</a> 7 <a href="/auth/register" class="btn btn-primary">Beheerder aanmaken</a> 8 <a href="/auth/login" class="btn">Al een account? Inloggen</a> 8 9 </div> 9 <p class="welcome-note"> De eerste gebruiker die inlogt wordt <strong>god</strong> en krijgt automatisch een eigen site.</p>10 <p class="welcome-note">Maak je beheerdersaccount aan om te beginnen — daarna is registratie gesloten.</p> 10 11 <% } else { %> 11 12 <p>Hi <%= user.username %>! No site is configured yet.</p>
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)