Changeset 640b39c in Klonkt
- Timestamp:
- 06/14/2026 04:25:27 PM (3 months ago)
- Branches:
- main
- Children:
- a64f642
- Parents:
- 8cb1dc7
- Location:
- src
- Files:
-
- 4 edited
-
config/database.js (modified) (1 diff)
-
routes/auth.js (modified) (2 diffs)
-
server.js (modified) (1 diff)
-
views/shell.ejs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/config/database.js
r8cb1dc7 r640b39c 41 41 // Google OAuth: koppel een Google-account aan een user (login via Google). 42 42 ensureColumn('users', 'google_sub', 'TEXT'); 43 // Read-only/kijk-account: kan alles bekijken maar geen wijzigingen doen. 44 ensureColumn('users', 'readonly', 'INTEGER DEFAULT 0'); 43 45 // Site-level moderation toggle. 'trust' = auto-approve, 'moderate' = pending until reviewed. 44 46 ensureColumn('sites', 'comments_moderation_mode', "TEXT DEFAULT 'trust'"); -
src/routes/auth.js
r8cb1dc7 r640b39c 76 76 id: user.id, username: user.username, email: user.email, role: user.role, 77 77 avatar_url: user.avatar_url, palette: user.palette, theme: user.theme, 78 readonly: !!user.readonly, 78 79 }; 79 80 res.redirect(next || '/'); … … 290 291 id: user.id, username: user.username, email: user.email, role: user.role, 291 292 avatar_url: user.avatar_url, palette: user.palette, theme: user.theme, 293 readonly: !!user.readonly, 292 294 }; 293 295 res.redirect(next || '/'); -
src/server.js
r8cb1dc7 r640b39c 164 164 }); 165 165 166 // Read-only/kijk-accounts: alles bekijken mag, niets wijzigen. Blokkeert elke 167 // state-wijzigende methode (de login-POST zelf zet de sessie pas, dus die valt 168 // hier nog niet onder). 169 app.use((req, res, next) => { 170 if (req.session?.user?.readonly && req.method !== 'GET' && req.method !== 'HEAD' && req.method !== 'OPTIONS') { 171 return res.status(403).send('Demo-account: alleen-lezen — wijzigen is uitgeschakeld.'); 172 } 173 next(); 174 }); 175 166 176 app.use('/auth', authRoutes); 167 177 app.use('/account', accountRoutes); -
src/views/shell.ejs
r8cb1dc7 r640b39c 238 238 239 239 <body class="<%= bodyClass || 'on-home' %> has-bottom-tab" data-feed-view="<%= _e(safeSite.feed_view_default || 'timeline') %>" data-grid-cols="3"> 240 241 <% if (user && user.readonly) { %> 242 <div style="position:sticky;top:0;z-index:50;background:#e8b04b;color:#1a1a1a;text-align:center;font-size:0.85rem;font-weight:600;padding:0.4rem 1rem;"> 243 👁️ Demo — alleen-lezen: je kunt alles bekijken, maar niets wijzigen. 244 </div> 245 <% } %> 240 246 241 247 <%# Geen shell-chrome (masthead/profile-header/view-switcher/bottom-tab) op:
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)