source: Klonkt/src/views/partials/chrome.ejs@ 8ed36de

main
Last change on this file since 8ed36de was 72ec6a4, checked in by Robin <roboburr@…>, 6 weeks ago

Hub-modus en guardian-lite eruit

Robins besluit (31-7): een instance is een eigenaar. Twee dingen weg.

HUB-MODUS was al dood: getTenancy() gaf sinds 24-6 hardcoded 'solo'
terug, dus elke tenancy === 'hub'-tak was onbereikbaar. Nu ook echt
verwijderd: getTenancy/setTenancy zelf, de /user/:slug-routing in
resolveSite, de hub-takken in admin, zoeken, audio, posts (neighbours
en related over alle sites), download, en de push-prefix. In de views
verdwijnen de hub-tagline, de hub-navigatie, de sites- en
users-tabellen (die kwamen alleen in hub-modus gevuld en verwezen nu
naar locals die niemand meer meegeeft), de eigenaar-toewijzing bij een
site, de /user/-slugprefix, het hub-brandblok en de hub-thuisknop.

GUARDIAN-LITE was de laatste multi-user-rest: /guardian/invite gaf een
link waarmee iemand via /guardian/join een echte user plus een site met
guardian_only=1 aanmaakte. Dat zette andermans wachtwoordhash, sessie
en PRIVATE actor-sleutel in jouw database, waardoor een verhuizing of
export nooit netjes kon (shaer-qw6q). Routes, formulier, kolom en
uitnodigingstabel zijn weg. Het guardian-DASHBOARD blijft: dat is
FEP-633c en werkt voor guardians met een eigen Klonkt. Bestaande
installaties houden kolom en tabel ongebruikt; nieuwe krijgen ze niet.

Changed files:
src/services/SettingsService.js

  • getTenancy/setTenancy verwijderd; kop herschreven

src/middleware/site.js, src/middleware/render.js

  • /user/:slug-routing weg; tenancy en hubTitle uit de locals

src/routes/admin.js, admin-settings.js, audio.js, download.js,
src/routes/posts.js, search.js

  • hub-takken en hub-queries weg; postNeighbors zonder isHub

src/services/ActivityPubService.js

  • pushPrefix is nu gewoon ; getTenancy-import weg

src/routes/guardian.js

  • /invite en /join verwijderd (dashboard blijft), imports opgeschoond

src/config/database.js

  • guardian_only-kolom en ap_guardian_invites-tabel niet meer aangemaakt

src/views/pages/admin.ejs, admin-users.ejs, admin-site-edit.ejs,
src/views/pages/guardian.ejs, partials/topnav.ejs, chrome.ejs, bottom-tab.ejs

  • alle hub-takken en de uitnodigingsknop weg

remarks: 320 regels weg, 63 erbij. Suite 372 groen; alle 85 templates
compileren; en met een wegwerp-kopie van de database daadwerkelijk
gedraaid en ingelogd: /, /admin, /admin/users, /admin/sites,
/admin/settings, /admin/sites/demo/edit, /admin/media en /guardian
geven alle 200 zonder fouten in het log, en /guardian/invite en
/guardian/join geven nu 404.

-robo
Co-Authored-By: Claude Opus 4.8 <noreply@…>

  • Property mode set to 100644
File size: 2.3 KB
RevLine 
[3cd1aaa]1<%
2// Site-chrome (topnav + profielkop + view-switcher) in één vaste slot #pcms-chrome.
3//
4// Waarom een slot: bij htmx-navigatie verversen we deze hele chrome out-of-band
5// (oob=true), zodat de kop ALTIJD bij de nieuwe pagina/artiest hoort — terwijl de
6// audioplayer (los in document.body, buiten dit slot) blijft leven → geen
7// verspringen. Op de hub-landing (bareChrome) is het slot leeg: hero = de header.
8//
9// Wordt zowel door shell.ejs (oob niet gezet) als door render.js bij partials
[79bba6e]10// (oob=true) gerenderd. De logica staat hier zodat beide identiek zijn.
11//
12// _isAuth → focus-scherm (in/uitloggen): helemaal geen chrome.
[d2b7247]13// _headerless → hub-homepagina én full-height views: WÉL de mini topnav-balk,
14// GEEN profielkop (hub: hero = header).
[79bba6e]15// anders → topnav + profielkop (+ view-switcher buiten admin).
16var _isAdmin = typeof bodyClass === 'string' && bodyClass.indexOf('on-admin') >= 0;
17var _isAuth = typeof bodyClass === 'string' && bodyClass.indexOf('on-auth') >= 0;
18var _isChat = typeof bodyClass === 'string' && bodyClass.indexOf('on-chat') >= 0;
[72ec6a4]19var hubLanding = (typeof bodyClass === 'string' && bodyClass.indexOf('on-hub') >= 0);
[84325b8]20// Zelfstandige premium-feature-pagina's hebben hun eigen kop → geen profielkop/
21// switcher, wél de topnav (Robin 2026-06-18: "bovenste weg, behoud de nav").
[b200738]22// NB: on-shows (agenda) én on-downloads (de downloads-LIJST) horen hier NIET bij —
23// die willen de volledige chrome (profielkop + pill) behouden. De downloads-lijst is
24// vaak gepind en prominent, dus hij mag niet kaal zijn. De losse e-mail-capture
25// (/download/:id → on-download) blijft wél een focus-pagina zonder kop.
[84325b8]26var _featurePage = typeof bodyClass === 'string' &&
[b200738]27 bodyClass.indexOf('on-downloads') < 0 &&
[82043c9]28 ['on-epk', 'on-download', 'on-linkbio', 'on-newsletter', 'on-special'].some(function (c) { return bodyClass.indexOf(c) >= 0; });
[84325b8]29var _headerless = hubLanding || _isChat || _featurePage;
[3cd1aaa]30%>
31<div id="pcms-chrome"<% if (typeof oob !== 'undefined' && oob) { %> hx-swap-oob="true"<% } %>>
[79bba6e]32<% if (!_isAuth) { %>
[3cd1aaa]33 <%- include('topnav') %>
[79bba6e]34 <% if (!_headerless) { %>
35 <%- include('profile-header') %>
[3f4049e]36 <% if (!_isAdmin && (typeof site !== 'undefined' && site)) { %><%- include('view-switcher') %><% } %>
[79bba6e]37 <% } %>
[3cd1aaa]38<% } %>
39</div>
Note: See TracBrowser for help on using the repository browser.