| 1 | <div class="container fg-navwrap">
|
|---|
| 2 | <%# Same post navigation (Newer/Older) as on a regular post, so a visitor
|
|---|
| 3 | on the fan gate can still browse rather than getting stuck. Same
|
|---|
| 4 | dimensions as .post-page (720px / padding 0 1rem) for pixel-perfect alignment. %>
|
|---|
| 5 | <%- include('../partials/post-nav', { newerPost: (typeof newerPost !== 'undefined' ? newerPost : null), olderPost: (typeof olderPost !== 'undefined' ? olderPost : null) }) %>
|
|---|
| 6 | </div>
|
|---|
| 7 |
|
|---|
| 8 | <section class="fg">
|
|---|
| 9 | <div class="fg-card">
|
|---|
| 10 | <div class="fg-lock">🔒</div>
|
|---|
| 11 | <h1 class="fg-h1"><%= t('fgate.title') %></h1>
|
|---|
| 12 | <% if (typeof fgTitle !== 'undefined' && fgTitle) { %><p class="fg-which">"<%= fgTitle %>"</p><% } %>
|
|---|
| 13 | <p class="fg-sub"><%= t('fgate.sub') %></p>
|
|---|
| 14 |
|
|---|
| 15 | <%# De hoofdweg: bewijs bij je EIGEN server wie je bent (OpenWebAuth,
|
|---|
| 16 | FEP-61cf). Dit is de vraag die fan_only altijd al stelde -- volg je deze
|
|---|
| 17 | site? -- in plaats van "heb je hier een account", wat juist de mensen
|
|---|
| 18 | buitensloot voor wie de poort openstond. Geen account hier, geen
|
|---|
| 19 | wachtwoord hier, geen cookie van een derde. %>
|
|---|
| 20 | <form class="fg-owa" method="post" action="/owa/login">
|
|---|
| 21 | <input type="hidden" name="next" value="<%= fgNext || '/' %>">
|
|---|
| 22 | <label class="fg-label" for="fg-handle"><%= t('fgate.owa_label') %></label>
|
|---|
| 23 | <div class="fg-row">
|
|---|
| 24 | <input class="fg-input" id="fg-handle" name="handle" type="text" inputmode="email"
|
|---|
| 25 | autocomplete="username" spellcheck="false" placeholder="@jij@jouwserver.nl" required>
|
|---|
| 26 | <button class="fg-btn" type="submit"><%= t('fgate.owa_go') %></button>
|
|---|
| 27 | </div>
|
|---|
| 28 | <p class="fg-hint"><%= t('fgate.owa_hint') %></p>
|
|---|
| 29 | <% if (typeof owaError !== 'undefined' && owaError) { %>
|
|---|
| 30 | <p class="fg-error"><%= t('fgate.owa_failed') %></p>
|
|---|
| 31 | <% } %>
|
|---|
| 32 | </form>
|
|---|
| 33 |
|
|---|
| 34 | <%# De lokale inlog blijft, maar als tweede: die is voor wie hier echt een
|
|---|
| 35 | account heeft, en dat is de uitzondering. %>
|
|---|
| 36 | <p class="fg-alt"><a href="/auth/login?next=<%= encodeURIComponent(fgNext || '/') %>"><%= t('fgate.login') %></a></p>
|
|---|
| 37 | </div>
|
|---|
| 38 | </section>
|
|---|
| 39 |
|
|---|
| 40 | <style>
|
|---|
| 41 | /* EXACT same class combination (.container + override) and values as
|
|---|
| 42 | .post-page in post.ejs, so the post-nav aligns identically in the cascade. */
|
|---|
| 43 | .fg-navwrap { max-width: 720px; margin: 0.5rem auto 2rem; padding: 0 1rem; }
|
|---|
| 44 | .fg { max-width: 480px; margin: 0 auto; padding: 56px 18px; text-align: center; }
|
|---|
| 45 | .fg-card { border: 1px solid rgba(128,128,128,.2); border-radius: 18px; padding: 36px 28px; }
|
|---|
| 46 | .fg-lock { font-size: 40px; margin-bottom: 8px; }
|
|---|
| 47 | .fg-h1 { font-size: 26px; margin: 0 0 6px; }
|
|---|
| 48 | .fg-which { font-style: italic; opacity: .8; margin: 0 0 12px; }
|
|---|
| 49 | .fg-sub { opacity: .85; line-height: 1.6; margin: 0 0 20px; }
|
|---|
| 50 | .fg-btn { display: inline-block; padding: 12px 22px; border-radius: 10px; background: var(--accent,#6b8f71); color: #fff; text-decoration: none; font-weight: 600; border: 0; font-family: inherit; font-size: 1rem; cursor: pointer; }
|
|---|
| 51 | .fg-owa { margin: 0 0 18px; text-align: left; }
|
|---|
| 52 | .fg-label { display: block; font-size: .85rem; opacity: .8; margin-bottom: 6px; }
|
|---|
| 53 | .fg-row { display: flex; gap: 8px; flex-wrap: wrap; }
|
|---|
| 54 | .fg-input { flex: 1 1 12rem; min-width: 0; padding: 12px 14px; border-radius: 10px;
|
|---|
| 55 | border: 1px solid rgba(128,128,128,.35); background: transparent; color: inherit;
|
|---|
| 56 | font-family: inherit; font-size: 1rem; }
|
|---|
| 57 | .fg-hint { font-size: .8rem; opacity: .65; margin: 8px 0 0; line-height: 1.5; }
|
|---|
| 58 | .fg-error { font-size: .85rem; margin: 8px 0 0; color: #d66; }
|
|---|
| 59 | .fg-alt { margin: 0; font-size: .85rem; opacity: .7; }
|
|---|
| 60 | </style>
|
|---|