Changeset 77019fa in Klonkt for src


Ignore:
Timestamp:
08/20/2026 10:24:40 AM (3 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
96a99bf
Parents:
22d2dba5
Message:

Reader: the last post snaps too

Its top used to be unreachable — too little page below it to bring it to
the top edge (measured: snap point 2548, max scroll 2356) — so the
browser fell back to the nearest reachable position, the bottom. The
previous answer was to drop its snap point; this is the real one: the
LAST post gets a full screen height, which makes that top exactly
reachable (shorter posts grow to fit, taller ones already were). Costs
nothing visually — posts have no frame, only a separator above.

lvh, not svh: with a disappearing address bar the visible screen is
sometimes the large viewport, and svh would fall just short.

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

Location:
src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/assets/css/style.css

    r22d2dba5 r77019fa  
    25442544    scroll-margin-top: 2rem;
    25452545}
    2546 /* Het laatste bericht krijgt geen snappunt: zijn bovenkant is niet te bereiken
    2547    (er zit te weinig pagina onder), en de browser snapt dan naar de dichtstbij-
    2548    zijnde bereikbare positie -- de bodem. Gemeten: snappunt 2548, maxScroll 2356. */
    2549 .feed-reader .read-post:last-child .read-anker { scroll-snap-align: none; }
     2546/* HET LAATSTE BERICHT SNAPT OOK (Robin, 21-8). Dat kon eerst niet: zijn
     2547   bovenkant was onbereikbaar -- er zat te weinig pagina onder om hem naar de
     2548   bovenrand te brengen (gemeten: snappunt 2548, maxScroll 2356), en de browser
     2549   viel dan terug op de dichtstbijzijnde bereikbare positie: de bodem. Het
     2550   snappunt weghalen was de vorige oplossing; dit is de echte.
     2551   Een volle schermhoogte op het LAATSTE bericht maakt die bovenkant precies
     2552   bereikbaar. Korter dan het scherm: het bericht wordt even hoog en het snappunt
     2553   valt exact op maxScroll. Langer dan het scherm: dan was het al haalbaar en
     2554   doet min-height niets.
     2555   100lvh en niet 100svh: op een telefoon met een verdwijnende adresbalk is het
     2556   zichtbare scherm soms de GROTE viewport, en dan komt svh net tekort.
     2557   Zichtbaar kost dit niets: berichten hebben geen kader, alleen een scheidings-
     2558   lijn erboven, dus het laatste bericht krijgt hooguit witruimte eronder. */
     2559.feed-reader .read-post:last-child { min-height: 100lvh; }
    25502560
    25512561/* ELK BERICHT EEN EIGEN SCHERM, als de site dat wil (Instellingen -> Weergave).
  • src/assets/js/mod/read.js

    r22d2dba5 r77019fa  
    392392    easing: (t) => 1 - Math.pow(1 - t, 4),
    393393  });
    394   // Het snappunt is de bovenkant van elk bericht. Het laatste doet niet mee:
    395   // zijn bovenkant is niet te bereiken, er zit te weinig pagina onder.
     394  // Het snappunt is de bovenkant van elk bericht -- ook van het laatste. Dat
     395  // deed eerder niet mee omdat zijn bovenkant onbereikbaar was; sinds het
     396  // laatste bericht in CSS een volle schermhoogte krijgt, kan hij wel.
    396397  const berichten = [...document.querySelectorAll('.feed-reader .read-post')];
    397   berichten.slice(0, -1).forEach((a) => snap.addElement(a, { align: 'start' }));
     398  berichten.forEach((a) => snap.addElement(a, { align: 'start' }));
    398399
    399400  // ALLEEN VOORUIT VANGEN. Dit hoort bij de ruime zone hierboven en is niet
  • src/views/shell.ejs

    r22d2dba5 r77019fa  
    222222
    223223<!-- v9 stylesheet (full palette system) -->
    224 <link rel="stylesheet" href="/assets/css/style.css?v=103">
     224<link rel="stylesheet" href="/assets/css/style.css?v=104">
    225225<script>
    226226/* iOS safe-area, built by hand. env(safe-area-inset-top) resolves to 0 on this iOS in
     
    505505  // Eén nummer voor de hele map. Te vaak bumpen kost één download; te weinig
    506506  // bumpen kost een bugfix die nooit aankomt.
    507   var MOD_V = 46;
     507  var MOD_V = 47;
    508508
    509509  // name -> 1 (aan het laden) of de module-namespace (geladen). Een module
Note: See TracChangeset for help on using the changeset viewer.