Changeset 5f483e3 in Klonkt for src/views/pages/auth-login.ejs


Ignore:
Timestamp:
06/27/2026 03:01:13 PM (2 months ago)
Author:
Robin Genis <roboburr@…>
Branches:
main
Children:
3746f6a
Parents:
98fe58a
Message:

chore: code cleanup — remove dead files, deps, DB tables, Google-login remnants

  • Deleted dead files: routes/notifications.js + services/NotificationService.js + views/pages/notifications.ejs (old bell, unmounted; live fedi notifications live in posts.js); deploy/verify.ps1 (stale smoke test).
  • package.json — drop unused ws dependency (no WebSocket since Prutter was removed).
  • .env.example — drop GOOGLE_* vars (Google login removed).
  • config/database.js — remove CREATE statements for dead tables (circle_links/remote_actors/ remote_posts from old Circles v1; user_notifications; post_likes). No DROP — existing rows stay.
  • services/i18n.js — remove dead keys: hub, prutter, and the whole Google-login set (+ the agoog.* wizard + glog.* notices, ~280 lines). Kept aseo.verify_google. solo_desc/login_google_only de-Googled.
  • views/pages/auth-login.ejs — drop the dead Google error block + button CSS; the password login form is unchanged.
  • deploy/post-receive — fix stale pm2 reload prutcms -> klonkt.
File:
1 edited

Legend:

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

    r98fe58a r5f483e3  
    11<%
    2   // adminLogin = the hidden admin login page (/auth/admin): shows the
    3   // username/password form. The public /auth/login shows visitors
    4   // ONLY Google login (listeners/fans). This keeps the admin login
    5   // off the page where visitors are directed.
     2  // The login page shows the admin username/password form. (Public listener
     3  // login via Google was removed — interaction now runs via the fediverse.)
    64  var _admin = (typeof adminLogin !== 'undefined' && adminLogin);
    75%>
     
    97  <h1><%= _admin ? t('auth.admin_login_title') : t('nav.login') %></h1>
    108  <% if (typeof success !== 'undefined' && success) { %><div class="alert alert-success"><%= success %></div><% } %>
    11   <%
    12     var GMAP = {
    13       admin: { icon: '🔐', title: t('glog.admin_title'),
    14         body: t('glog.admin_body'),
    15         list: [t('glog.admin_li1'), t('glog.admin_li2'), t('glog.admin_li3')] },
    16       session: { icon: '⏱️', title: t('glog.session_title'), body: t('glog.session_body') },
    17       email: { icon: '✉️', title: t('glog.email_title'), body: t('glog.email_body') },
    18       linked: { icon: '🔗', title: t('glog.linked_title'), body: t('glog.linked_body') },
    19       unavailable: { icon: '🚫', title: t('glog.unavailable_title'), body: t('glog.unavailable_body') },
    20       failed: { icon: '⚠️', title: t('glog.failed_title'), body: t('glog.failed_body') },
    21     };
    22     var _g = (typeof gerr !== 'undefined' && gerr && GMAP[gerr]) ? GMAP[gerr] : null;
    23   %>
    24   <% if (_g) { %>
    25     <div class="auth-notice">
    26       <div class="auth-notice-icon"><%= _g.icon %></div>
    27       <h2 class="auth-notice-title"><%= _g.title %></h2>
    28       <p><%= _g.body %></p>
    29       <% if (_g.list) { %><ul class="auth-notice-list"><% _g.list.forEach(function(li){ %><li><%- li %></li><% }); %></ul><% } %>
    30     </div>
    31   <% } else if (error) { %><div class="alert alert-error"><%= error %></div><% } %>
     9  <% if (error) { %><div class="alert alert-error"><%= error %></div><% } %>
    3210
    3311  <% if (_admin) { %>
     
    5129</div>
    5230
    53 <style>
    54   .auth-notice { border: 1px solid rgba(128,128,128,.28); border-radius: 14px; padding: 18px 20px; margin-bottom: 18px; background: rgba(128,128,128,.06); }
    55   .auth-notice-icon { font-size: 26px; }
    56   .auth-notice-title { font-size: 17px; margin: 4px 0 8px; }
    57   .auth-notice p { margin: 0 0 10px; line-height: 1.55; opacity: .9; }
    58   .auth-notice-list { margin: 0; padding-left: 18px; line-height: 1.6; }
    59   .auth-notice-list li { margin: 4px 0; }
    60   .auth-sub { color: var(--ink-muted); margin: 0 0 1rem; text-align: center; }
    61   /* Google button is white → keep text dark at all times, including hover (the global
    62      a.btn:hover rule would otherwise make it near-white on white = unreadable). */
    63   a.btn-google, a.btn-google:hover { color: #1f1f1f; }
    64   .auth-admin-box {
    65     display: flex; align-items: center; gap: .75rem;
    66     margin-top: 1.25rem; padding: .8rem 1rem;
    67     border: 1px solid var(--rule); border-radius: 12px;
    68     background: var(--paper-2); color: var(--ink); text-decoration: none;
    69     transition: border-color 120ms, background 120ms;
    70   }
    71   .auth-admin-box:hover { border-color: var(--accent); background: var(--paper); }
    72   .auth-admin-box-icon { font-size: 1.3rem; }
    73   .auth-admin-box-text { display: flex; flex-direction: column; line-height: 1.3; flex: 1; }
    74   .auth-admin-box-text small { color: var(--ink-muted); font-size: .8rem; }
    75   .auth-admin-box-arrow { color: var(--ink-muted); font-size: 1.1rem; }
    76 </style>
Note: See TracChangeset for help on using the changeset viewer.