Changeset e46ebaa in Klonkt for src/views/partials/view-switcher.ejs
- Timestamp:
- 08/20/2026 12:54:30 AM (3 weeks ago)
- Branches:
- main
- Children:
- 48481cd
- Parents:
- 598f090
- File:
-
- 1 edited
-
src/views/partials/view-switcher.ejs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/views/partials/view-switcher.ejs
r598f090 re46ebaa 23 23 var _leesUit = _bc.indexOf('on-cirkel') >= 0; 24 24 var _gridStandaard = (typeof site !== 'undefined' && site && site.feed_view_default === 'grid'); 25 // Welke tweede weergave biedt deze site aan? Bij 'auto' tekenen we ZE ALLEBEI 26 // en laat de CSS er per viewport een zien -- Lezen op mobiel, Tijdlijn op 27 // desktop. Dat scheelt een resize-afhandeling en een knop die van naam 28 // verspringt terwijl je kijkt. 29 var _alt = (typeof site !== 'undefined' && site && site.feed_alt_view) || 'reader'; 30 if (['reader', 'timeline', 'auto'].indexOf(_alt) < 0) _alt = 'reader'; 31 var _tweede = _alt === 'auto' ? ['reader', 'timeline'] : [_alt]; 32 // De tijdlijn WERKT wel in de cirkel -- dat is er zelfs de natuurlijke vorm. 33 // Alleen Lezen kan daar niet, want dat zijn berichten van anderen. 34 var _dood = function (v) { return v === 'reader' && _leesUit; }; 35 // Staat er GEEN levende tweede knop, dan is Grid het enige dat overblijft en 36 // hoort die aan te staan. Bij een tijdlijn-site is dat in de cirkel niet zo: 37 // daar werkt de tijdlijn gewoon. 38 var _alleenGrid = _tweede.every(_dood); 39 var _icoon = { 40 reader: '<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/>', 41 timeline: '<line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><line x1="3" y1="6" x2="3.01" y2="6"/><line x1="3" y1="12" x2="3.01" y2="12"/><line x1="3" y1="18" x2="3.01" y2="18"/>', 42 }; 25 43 %> 26 44 <div class="view-switcher-wrap"> … … 49 67 <div class="view-switcher" role="tablist" aria-label="Weergave"> 50 68 51 <%# Lezen is de standaardweergave sinds Tijdlijn weg is: hele berichten, 52 één per scherm. De chronologische lijst bestaat nog wel als opmaak 53 (.feed-timeline, ook op de cirkel en het archief), maar is geen KEUZE 54 meer -- daar was Lezen de betere vorm van. %> 55 <button type="button" class="view-switch-btn" data-view="reader" role="tab" 56 <%- _leesUit ? 'disabled aria-disabled="true" tabindex="-1" title="' + t('switch.reader_solo_only') + '"' : '' %> 57 aria-selected="<%= (!_leesUit && !_neutral && !_gridStandaard) ? 'true' : 'false' %>"> 58 <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"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg> 59 <span><%= t('switch.reader') %></span> 69 <%# De tweede weergave naast Grid. Welke dat is, staat in de instellingen 70 van de site (feed_alt_view). Bij 'auto' staan ze er allebei en kiest 71 een mediaquery; vandaar de klasse vs-alleen-*. %> 72 <% _tweede.forEach(function (v) { %> 73 <button type="button" class="view-switch-btn<%= _alt === 'auto' ? ' vs-alleen-' + (v === 'reader' ? 'mobiel' : 'desktop') : '' %>" 74 data-view="<%= v %>" role="tab" 75 <%- _dood(v) ? 'disabled aria-disabled="true" tabindex="-1" title="' + t('switch.reader_solo_only') + '"' : '' %> 76 aria-selected="<%= (!_dood(v) && !_neutral && !_gridStandaard) ? 'true' : 'false' %>"> 77 <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"><%- _icoon[v] %></svg> 78 <span><%= t('switch.' + v) %></span> 60 79 </button> 80 <% }); %> 61 81 <button type="button" class="view-switch-btn" data-view="grid" role="tab" 62 aria-selected="<%= (!_neutral && (_ leesUit|| _gridStandaard)) ? 'true' : 'false' %>">82 aria-selected="<%= (!_neutral && (_alleenGrid || _gridStandaard)) ? 'true' : 'false' %>"> 63 83 <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="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/></svg> 64 84 <span><%= t('switch.grid') %></span>
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)