Changeset 9da8027 in Klonkt for src


Ignore:
Timestamp:
08/18/2026 06:47:58 PM (3 weeks ago)
Author:
Bart <bart@…>
Branches:
main
Children:
af2cc73
Parents:
7cf8144
git-author:
Bart <bart@…> (08/18/2026 07:11:27 AM)
git-committer:
Bart <bart@…> (08/18/2026 06:47:58 PM)
Message:

Geen Lezen in de cirkel

De cirkel toont berichten van ANDEREN, opgehaald van hun servers; "het hele
stuk" is daar niet iets wat wij in handen hebben, en circle-feed.ejs heeft dan
ook geen leessectie. De knop stond er wel, en deed niets. Weg ermee: een knop
die niets doet is erger dan een knop die er niet is.

Daarbij hoort een terugval, anders ruil je één probleem voor een ander. Wie op
de eigen feed Lezen koos, houdt die voorkeur in localStorage; op de cirkel is er
dan geen knop die bij data-feed-view hoort en stond de hele pil grijs terwijl de
tijdlijn gewoon te zien was -- nergens meer te zien waar je bent. syncAria valt
nu terug op timeline zodra de gekozen weergave op deze pagina niet bestaat. De
VOORKEUR blijft staan: terug op de eigen feed is Lezen weer actief.

Nagelopen door de partial los te renderen (on-home en on-tag krijgen Lezen,
on-cirkel niet) en door in de browser aankomst op de cirkel na te spelen: knop
weg, timeline actief, opgeslagen voorkeur nog 'reader'.

Co-Authored-By: Claude Opus 5 <claude@…>

Location:
src/views
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/views/partials/view-switcher.ejs

    r7cf8144 r9da8027  
    1010  var _neutral = ['on-shows','on-downloads','on-post','on-epk','on-linkbio','on-newsletter','on-archive']
    1111                   .some(function(c){ return _bc.indexOf(c) >= 0; });
     12  // Lezen bestaat alleen waar een leessectie is, en dat is de eigen feed. De
     13  // cirkel toont berichten van ANDEREN, opgehaald van hun servers -- daar is
     14  // "het hele stuk" niet iets wat wij in handen hebben. Dus daar geen knop:
     15  // een knop die niets doet is erger dan een knop die er niet is.
     16  var _leesbaar = _bc.indexOf('on-cirkel') < 0;
    1217%>
    1318<div class="view-switcher-wrap">
     
    4550        <span><%= t('switch.grid') %></span>
    4651      </button>
     52      <% if (_leesbaar) { %>
    4753      <%# Lezen is een gewone derde weergave: dezelfde berichten, andere vorm.
    4854          Dus een <button> met data-view, net als de andere twee -- dan doen de
     
    5359        <span><%= t('switch.reader') %></span>
    5460      </button>
     61      <% } %>
    5562    </div>
    5663    <% if (!_neutral) { %>
  • src/views/shell.ejs

    r7cf8144 r9da8027  
    561561    var _feedC = ['on-home','on-tag','on-type','on-user','on-cirkel'];
    562562    var _onFeed = _feedC.some(function(c){ return body.classList.contains(c); });
     563    // Een weergave die op DEZE pagina niet bestaat, kan ook niet actief zijn.
     564    // Lezen ontbreekt in de cirkel (daar staan berichten van anderen), en wie
     565    // op de eigen feed Lezen koos houdt die voorkeur in localStorage. Zonder
     566    // terugval staat de hele pil dan grijs terwijl de tijdlijn gewoon te zien
     567    // is -- de lezer ziet nergens meer waar hij is. De VOORKEUR blijft staan:
     568    // terug op de eigen feed is Lezen weer actief.
     569    var _view = String(body.dataset.feedView || 'timeline');
     570    if (!/^[a-z]+$/.test(_view)) _view = 'timeline';
     571    if (!document.querySelector('.view-switch-btn[data-view="' + _view + '"]')) _view = 'timeline';
    563572    document.querySelectorAll('.view-switch-btn').forEach(function(b) {
    564       b.setAttribute('aria-selected', (_onFeed && b.dataset.view === body.dataset.feedView) ? 'true' : 'false');
     573      b.setAttribute('aria-selected', (_onFeed && b.dataset.view === _view) ? 'true' : 'false');
    565574    });
    566575    document.querySelectorAll('.grid-cols-btn').forEach(function(b) {
Note: See TracChangeset for help on using the changeset viewer.