Changeset 70dbef4 in Klonkt for src/views/shell.ejs
- Timestamp:
- 08/19/2026 06:15:33 PM (3 weeks ago)
- Branches:
- main
- Children:
- 3a3a882
- Parents:
- 70e9147
- git-author:
- Bart <bart@…> (08/19/2026 05:44:15 PM)
- git-committer:
- Bart <bart@…> (08/19/2026 06:15:33 PM)
- File:
-
- 1 edited
-
src/views/shell.ejs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/views/shell.ejs
r70e9147 r70dbef4 547 547 (function() { 548 548 var body = document.body; 549 // Restore feed view + grid cols from localStorage (overrides server default) 549 550 // DE CIRKEL HEEFT EEN EIGEN KEUZE, met een eigen standaard: Grid. 551 // 552 // Twee redenen om die apart te houden van de gewone voorkeur. Ten eerste is 553 // Lezen daar geen optie (dat zijn berichten van anderen, van hun servers), dus 554 // "reader" betekent er iets anders dan hier: de gewone lijst. Ten tweede zou 555 // een tuimeling op de cirkel anders je SOLO-weergave veranderen -- je zet daar 556 // Grid uit en komt thuis in een andere feed terug dan je achterliet. 557 var CIRKEL_SLEUTEL = 'pcms-cirkel-view'; 558 function opCirkel() { return body.classList.contains('on-cirkel'); } 559 560 /** Zet de weergave die bij DEZE pagina hoort. Draait bij init en bij elke nav. */ 561 function pasWeergaveToe() { 562 try { 563 if (opCirkel()) { 564 // Alles behalve een uitdrukkelijke 'list' is grid: dat is de standaard. 565 body.dataset.feedView = (localStorage.getItem(CIRKEL_SLEUTEL) === 'list') ? 'reader' : 'grid'; 566 return; 567 } 568 var v = localStorage.getItem('pcms-feed-view'); 569 // 'timeline' bestaat niet meer als keuze, maar staat nog in de localStorage 570 // van iedereen die hier eerder was. Zonder deze vertaling zou zo iemand een 571 // weergave houden die nergens meer een knop heeft: de pil helemaal grijs, en 572 // een feed die niet is wat hij koos. Lezen is waar Tijdlijn in opging. 573 if (v === 'timeline') v = 'reader'; 574 if (v === 'grid' || v === 'reader') body.dataset.feedView = v; 575 } catch (e) { /* geen opslag: de server-standaard blijft staan */ } 576 } 577 pasWeergaveToe(); 578 550 579 try { 551 var v = localStorage.getItem('pcms-feed-view');552 // 'timeline' bestaat niet meer als keuze, maar staat nog in de localStorage553 // van iedereen die hier eerder was. Zonder deze vertaling zou zo iemand een554 // weergave houden die nergens meer een knop heeft: de pil helemaal grijs, en555 // een feed die niet is wat hij koos. Lezen is waar Tijdlijn in opging.556 if (v === 'timeline') v = 'reader';557 if (v === 'grid' || v === 'reader') body.dataset.feedView = v;558 580 var c = parseInt(localStorage.getItem('pcms-grid-cols'), 10); 559 581 if (c === 2 || c === 3 || c === 4) body.dataset.gridCols = String(c); … … 587 609 // dáár weet syncAria de juiste pagina-class — los van de afterSettle-timing. 588 610 // Een vertraagde herhaling wint eventuele resterende races (OOB-chrome-swap). 589 document.body.addEventListener('htmx:afterSettle', function(){ syncAria(); setTimeout(syncAria, 60); }); 590 document.body.addEventListener('pcmsNav', function(){ syncAria(); setTimeout(syncAria, 60); }); 611 // Eerst de weergave die bij de NIEUWE pagina hoort, dan pas de pil bijwerken: 612 // van de cirkel naar huis en terug wisselt niet alleen de knop maar ook welke 613 // onthouden keuze telt. 614 document.body.addEventListener('htmx:afterSettle', function(){ pasWeergaveToe(); syncAria(); setTimeout(syncAria, 60); }); 615 document.body.addEventListener('pcmsNav', function(){ pasWeergaveToe(); syncAria(); setTimeout(syncAria, 60); }); 591 616 592 617 // Pages where the body actually has a feed to toggle. On these the … … 621 646 } 622 647 body.dataset.feedView = view; 623 try { localStorage.setItem('pcms-feed-view', view); } catch(_) {} 648 // Op de cirkel onthouden we los, want daar betekent 'reader' de gewone 649 // lijst en hoort het je thuisweergave niet aan te raken. 650 try { 651 if (opCirkel()) localStorage.setItem(CIRKEL_SLEUTEL, view === 'grid' ? 'grid' : 'list'); 652 else localStorage.setItem('pcms-feed-view', view); 653 } catch(_) {} 624 654 syncAria(); 625 655 // On non-feed pages the switcher acts as a navigation: take the
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)