Changeset 68b27a4 in Klonkt for src/views


Ignore:
Timestamp:
06/20/2026 07:28:43 AM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
0fcc09c
Parents:
d7b5a6c
Message:

feat(agenda): Agenda opt-in — only shown when enabled + active on /shows

  • New setting agenda_enabled (Admin → Agenda: toggle "Show agenda on the site").
  • Agenda button in the pill only appears when premium AND enabled.
  • /shows (+ /shows/notify) gated: disabled = 404 (not reachable).
  • On the agenda page, the Agenda item in the pill is now marked "active" (the pill stays visible there, as requested).

Co-Authored-By: Claude <noreply@…>

Location:
src/views
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/views/pages/admin-shows.ejs

    rd7b5a6c r68b27a4  
    1010
    1111  <% if (msg) { %><div class="ash-msg ash-<%= (typeof msgKind!=='undefined')?msgKind:'' %>"><%= msg %></div><% } %>
     12
     13  <% var agOn = (typeof agendaEnabled !== 'undefined') && agendaEnabled; %>
     14  <form method="POST" action="<%= siteUrlBase %>/admin/shows/toggle" style="margin:0 0 14px">
     15    <label style="display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600">
     16      <input type="checkbox" name="enabled" value="1" <%= agOn ? 'checked' : '' %> onchange="this.form.submit()" style="width:18px;height:18px;accent-color:var(--accent)">
     17      <span>Agenda tonen op de site <small style="font-weight:400;opacity:.7">(Agenda-knop in de balk + de agendapagina)</small></span>
     18    </label>
     19    <noscript><button type="submit" class="btn">Opslaan</button></noscript>
     20  </form>
     21  <% if (!agOn) { %><div class="ash-msg">De agenda staat nu <strong>uit</strong> — bezoekers zien geen Agenda-knop en de agendapagina is niet bereikbaar. Zet 'm aan om je evenementen te tonen.</div><% } %>
    1222
    1323  <p class="ash-note"><strong><%= nc %></strong> abonnee(s) voor evenement-aankondigingen.
  • src/views/partials/shared-styles.ejs

    rd7b5a6c r68b27a4  
    5050}
    5151.vs-agenda:hover { color: var(--ink); }
     52.vs-agenda.is-active { background: var(--paper); color: var(--ink); box-shadow: 0 1px 2px rgba(0,0,0,.06); }
    5253
    5354.grid-cols-picker {
  • src/views/partials/view-switcher.ejs

    rd7b5a6c r68b27a4  
    1717    <% } %>
    1818    <div class="view-switcher" role="tablist" aria-label="Weergave">
    19       <% if (typeof premiumUnlocked !== 'undefined' && premiumUnlocked) {
     19      <% if (typeof premiumUnlocked !== 'undefined' && premiumUnlocked && typeof agendaEnabled !== 'undefined' && agendaEnabled) {
    2020           var _sbA = (typeof siteUrlBase !== 'undefined' && siteUrlBase) ? siteUrlBase : '';
     21           var _agActive = (typeof bodyClass === 'string' && bodyClass.indexOf('on-shows') >= 0);
    2122      %>
    22       <a class="vs-agenda" href="<%= _sbA %>/shows" aria-label="Agenda — evenementen">
     23      <a class="vs-agenda<%= _agActive ? ' is-active' : '' %>" href="<%= _sbA %>/shows" aria-label="Agenda — evenementen">
    2324        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="4" width="18" height="18" rx="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>
    2425        <span>Agenda</span>
Note: See TracChangeset for help on using the changeset viewer.