Changeset 520c993 in Klonkt for src


Ignore:
Timestamp:
08/20/2026 02:46:09 AM (3 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
bc9ef3b, c581e5e
Parents:
88838bc
git-author:
Robin <roboburr@…> (08/20/2026 02:42:45 AM)
git-committer:
Robin <roboburr@…> (08/20/2026 02:46:09 AM)
Message:

Lezen: elk bericht een eigen scherm wordt een keuze

Robins vraag (20-8): de lege ruimtes tussen berichten optioneel maken, en
specifiek voor Lezen.

Nieuwe kolom reader_full_page op sites, standaard UIT zodat bestaande
sites niet ineens anders lezen:

uit bericht na bericht, geen lege ruimte eronder
aan elk bericht vult minstens een scherm (min-height:100svh)

Dit stond eerst vast op AAN, is op 20-8 vast op UIT gezet omdat een kort
bericht een halve pagina leegte gaf onder "Replies and reactions", en hoort
dus eigenlijk bij de schrijver: lange stukken lezen prettiger in de stroom,
korte losse berichten juist als eigen scherm.

De keuze staat in Beheer -> Instellingen bij de andere feed-keuzes, en gaat
via een attribuut op body zodat CSS het werk doet.

OVER DE SQL, want daar ging het deze week twee keer mis: deze wijziging
voegt een kolom toe aan dezelfde UPDATE waar ik eerder een kolom zonder
waarde in zette, waarna show_search de waarde van zijn buurman kreeg en
alles erna een plek opschoof. De tests gaan daarom door de ECHTE route en
toetsen expliciet de buurkolommen. Controleproef gedaan: laat je de waarde
weg, dan vallen 6 van de 8 tests om.

style.css naar v83, MOD_V naar 21.

Suite 1172/1172.

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

Location:
src
Files:
6 edited

Legend:

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

    r88838bc r520c993  
    25492549.feed-reader .read-post:last-child .read-anker { scroll-snap-align: none; }
    25502550
     2551/* ELK BERICHT EEN EIGEN SCHERM, als de site dat wil (Instellingen -> Weergave).
     2552   Aan: een kort bericht vult het scherm en je ziet het volgende pas na een snap.
     2553   Uit (standaard): de stroom is bericht na bericht, zonder lege ruimte eronder.
     2554   Dit stond eerst vast op AAN, is toen vast op UIT gezet omdat een kort bericht
     2555   een halve pagina leegte gaf onder "Replies and reactions", en is nu een keuze
     2556   -- want welke van de twee prettiger leest hangt af van wat je schrijft. */
     2557body[data-reader-pages="1"] .feed-reader .read-post { min-height: 100svh; }
     2558
    25512559/* Een lijn tussen twee berichten: zonder grens is een stroom een lange brij. */
    25522560.feed-reader .read-post + .read-post { border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent); }
  • src/config/database.js

    r88838bc r520c993  
    209209  // het is een mediaquery, dus geen resize-afhandeling en geen flikkering.
    210210  ensureColumn('sites', 'feed_alt_view', "TEXT DEFAULT 'reader'");   // reader | timeline | auto
     211  // Krijgt elk bericht in Lezen zijn EIGEN scherm? Aan betekent min-height:100svh
     212  // per bericht: een kort bericht vult dan het scherm en je ziet het volgende
     213  // pas na een snap. Uit is de stroom zoals hij nu is, bericht na bericht zonder
     214  // lege ruimte. Stond eerst vast op AAN, is toen vast op UIT gezet omdat een
     215  // kort bericht een halve pagina leegte gaf; nu is het een keuze.
     216  ensureColumn('sites', 'reader_full_page', 'INTEGER DEFAULT 0');
    211217  ensureColumn('sites', 'show_search',     'INTEGER DEFAULT 1');
    212218  ensureColumn('sites', 'show_archive_link', 'INTEGER DEFAULT 1');
  • src/routes/admin-sites.js

    r88838bc r520c993  
    371371      enable_audio_player = ?,
    372372      approve_followers = ?,
    373       feed_view_default = ?, feed_view_switch = ?, feed_alt_view = ?,
     373      feed_view_default = ?, feed_view_switch = ?, feed_alt_view = ?, reader_full_page = ?,
    374374      show_search = ?, show_archive_link = ?,
    375375      custom_css = ?, custom_head_html = ?, custom_foot_html = ?,
     
    396396    f.feed_view_switch ? 1 : 0,
    397397    feedAlt,
     398    f.reader_full_page ? 1 : 0,
    398399    f.show_search ? 1 : 0,
    399400    f.show_archive_link ? 1 : 0,
  • src/services/i18n.js

    r88838bc r520c993  
    3333    'switch.solo': 'Solo',
    3434    'switch.circle': 'Cirkels',
    35     'switch.grid': 'Grid', 'switch.reader': 'Lezen', 'switch.timeline': 'Tijdlijn', 'read.to_top': 'Terug naar boven', 'read.pinned': 'Vastgepind',
     35    'switch.grid': 'Grid', 'switch.reader': 'Lezen', 'switch.timeline': 'Tijdlijn', 'read.to_top': 'Terug naar boven', 'read.pinned': 'Vastgepind', 'asite.reader_full_page': 'Lezen: elk bericht een eigen scherm',
    3636    'asite.feed_alt': 'Tweede weergave', 'asite.feed_alt_reader': 'Lezen', 'asite.feed_alt_timeline': 'Tijdlijn', 'asite.feed_alt_auto': 'Lezen op mobiel, Tijdlijn op desktop',
    3737    'switch.reader_solo_only': 'Lezen kan alleen in Solo — in de cirkel staan berichten van anderen',
     
    10491049    'switch.solo': 'Solo',
    10501050    'switch.circle': 'Circles',
    1051     'switch.grid': 'Grid', 'switch.reader': 'Reader', 'switch.timeline': 'Timeline', 'read.to_top': 'Back to top', 'read.pinned': 'Pinned',
     1051    'switch.grid': 'Grid', 'switch.reader': 'Reader', 'switch.timeline': 'Timeline', 'read.to_top': 'Back to top', 'read.pinned': 'Pinned', 'asite.reader_full_page': 'Reader: one screen per post',
    10521052    'asite.feed_alt': 'Second view', 'asite.feed_alt_reader': 'Reader', 'asite.feed_alt_timeline': 'Timeline', 'asite.feed_alt_auto': 'Reader on mobile, Timeline on desktop',
    10531053    'switch.reader_solo_only': 'Reader is Solo only — a circle shows other people\u2019s posts',
     
    20562056    'switch.solo': 'Solo',
    20572057    'switch.circle': 'Zirkel',
    2058     'switch.grid': 'Raster', 'switch.reader': 'Lesen', 'switch.timeline': 'Zeitleiste', 'read.to_top': 'Nach oben', 'read.pinned': 'Angeheftet',
     2058    'switch.grid': 'Raster', 'switch.reader': 'Lesen', 'switch.timeline': 'Zeitleiste', 'read.to_top': 'Nach oben', 'read.pinned': 'Angeheftet', 'asite.reader_full_page': 'Lesen: ein Bildschirm pro Beitrag',
    20592059    'asite.feed_alt': 'Zweite Ansicht', 'asite.feed_alt_reader': 'Lesen', 'asite.feed_alt_timeline': 'Zeitleiste', 'asite.feed_alt_auto': 'Lesen mobil, Zeitleiste am Desktop',
    20602060    'switch.reader_solo_only': 'Lesen gibt es nur in Solo — im Zirkel stehen Beitr\u00e4ge anderer',
  • src/views/pages/admin-site-edit.ejs

    r88838bc r520c993  
    218218        <span><%= t('asite.feed_switch') %></span>
    219219      </label>
     220      <%# Alleen van toepassing op Lezen: geeft elk bericht daar een eigen scherm. %>
     221      <label class="cb">
     222        <input type="checkbox" name="reader_full_page" value="1" <%= site.reader_full_page ? 'checked' : '' %>>
     223        <span><%= t('asite.reader_full_page') %></span>
     224      </label>
    220225      <label class="cb">
    221226        <input type="checkbox" name="show_search" value="1" <%= site.show_search ? 'checked' : '' %>>
  • src/views/shell.ejs

    r88838bc r520c993  
    222222
    223223<!-- v9 stylesheet (full palette system) -->
    224 <link rel="stylesheet" href="/assets/css/style.css?v=82">
     224<link rel="stylesheet" href="/assets/css/style.css?v=83">
    225225<script>
    226226/* iOS safe-area, built by hand. env(safe-area-inset-top) resolves to 0 on this iOS in
     
    345345</head>
    346346
    347 <body class="<%= bodyClass || 'on-home' %> has-bottom-tab" data-js="chrome<%= (typeof pageJs !== 'undefined' && pageJs) ? ' ' + pageJs : '' %>" data-feed-view="<%- _e(safeSite.feed_view_default === 'grid' ? 'grid' : (["timeline","auto"].indexOf(safeSite.feed_alt_view) >= 0 ? safeSite.feed_alt_view : "reader")) %>" data-feed-alt="<%- _e(["timeline","auto"].indexOf(safeSite.feed_alt_view) >= 0 ? safeSite.feed_alt_view : "reader") %>" data-grid-cols="3" data-site-base="<%- _e((typeof siteUrlBase !== 'undefined' && siteUrlBase) ? siteUrlBase : '') %>">
     347<body class="<%= bodyClass || 'on-home' %> has-bottom-tab" data-js="chrome<%= (typeof pageJs !== 'undefined' && pageJs) ? ' ' + pageJs : '' %>" data-feed-view="<%- _e(safeSite.feed_view_default === 'grid' ? 'grid' : (["timeline","auto"].indexOf(safeSite.feed_alt_view) >= 0 ? safeSite.feed_alt_view : "reader")) %>" data-feed-alt="<%- _e(["timeline","auto"].indexOf(safeSite.feed_alt_view) >= 0 ? safeSite.feed_alt_view : "reader") %>" data-reader-pages="<%- safeSite.reader_full_page ? 1 : 0 %>" data-grid-cols="3" data-site-base="<%- _e((typeof siteUrlBase !== 'undefined' && siteUrlBase) ? siteUrlBase : '') %>">
    348348
    349349<% if (typeof isViewer !== 'undefined' && isViewer) { %>
     
    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 = 20;
     507  var MOD_V = 21;
    508508
    509509  // name -> 1 (aan het laden) of de module-namespace (geladen). Een module
Note: See TracChangeset for help on using the changeset viewer.