Changeset 61bb585 in Klonkt
- Timestamp:
- 06/19/2026 12:50:52 PM (3 months ago)
- Branches:
- main
- Children:
- a4f6827
- Parents:
- 5d68686
- Files:
-
- 2 edited
-
CHANGELOG.md (modified) (1 diff)
-
src/views/pages/post-edit.ejs (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
CHANGELOG.md
r5d68686 r61bb585 49 49 te scrollen (scroll-binnen-scroll was verwarrend). Het inline schrijfveld groeit 50 50 ook gewoon mee; typen op mobiel/tablet gaat sowieso fullscreen. 51 - Op **mobiel & tablet** (touch) gebeurt typen voortaan **altijd in volledig scherm**: 52 zodra je in het schrijfveld tikt, gaat de editor automatisch fullscreen. Eruit met 53 de knop (⤡) of Escape. 51 - Op **mobiel & tablet** (touch) is het content-veld inline **niet meer typbaar** — 52 het is geen tekstveld maar een tap-vlak met een "✎ Tik om te bewerken"-pill. Eén 53 tik opent **volledig scherm**, waar het wél bewerkbaar is. Eruit met de knop (⤡) 54 of Escape. Zo kun je nooit per ongeluk inline typen. 54 55 - Schrijfvenster kan op **volledig scherm** (knop in de editor-toolbar, of Escape om 55 56 terug te gaan) — fijn voor afleidingsvrij schrijven op mobiel. De opmaak-toolbar -
src/views/pages/post-edit.ejs
r5d68686 r61bb585 477 477 scrollt. */ 478 478 .pe-editor-frame:not(.pe-fs) .pe-editor { overflow: visible; } 479 480 /* Touch: het inline content-veld is geen tekstveld maar een tap-vlak → fullscreen 481 bewerken. Een duidelijke "tik om te bewerken"-pill maakt dat zichtbaar. */ 482 .pe-editor.pe-tap-to-edit { cursor: pointer; } 483 @media (pointer: coarse) { 484 .pe-editor-frame:not(.pe-fs) { position: relative; } 485 .pe-editor-frame:not(.pe-fs)::after { 486 content: "✎ Tik om te bewerken"; 487 position: absolute; right: .6rem; bottom: .6rem; 488 background: var(--accent); color: #fff; 489 font-size: .8rem; font-weight: 600; padding: .3rem .7rem; border-radius: 999px; 490 pointer-events: none; opacity: .92; box-shadow: 0 2px 8px rgba(0,0,0,.25); 491 } 492 } 479 493 .pe-editor.is-dragover { 480 494 outline: 2px dashed var(--accent); … … 1214 1228 const fsBtn = document.getElementById('pe-fullscreen-btn'); 1215 1229 const editorFrame = document.querySelector('.pe-editor-frame'); 1230 const isTouch = !!(window.matchMedia && window.matchMedia('(pointer: coarse)').matches); 1216 1231 1217 1232 // Op mobiel duwt het toetsenbord de zichtbare (visual) viewport omhoog terwijl … … 1251 1266 } 1252 1267 } 1268 // Op touch is het veld inline NIET bewerkbaar; alleen in fullscreen wel. 1269 if (isTouch) editor.setAttribute('contenteditable', on ? 'true' : 'false'); 1253 1270 if (on) editor.focus({ preventScroll: true }); 1271 else if (isTouch) editor.blur(); 1254 1272 } 1255 1273 if (fsBtn) fsBtn.addEventListener('click', toggleFullscreen); … … 1261 1279 }); 1262 1280 1263 // Op mobiel/tablet (touch-apparaat = pointer:coarse) gebeurt typen ALTIJD 1264 // fullscreen. We gaan fullscreen zowel bij focus ALS bij de eerste invoer 1265 // (beforeinput) — zo kun je ook na het verlaten van fullscreen niet per ongeluk 1266 // zonder fullscreen doortypen. Eruit kan met de knop (⤡) of Escape. 1267 var isTouch = window.matchMedia && window.matchMedia('(pointer: coarse)').matches; 1281 // Op mobiel/tablet (touch): het content-veld is INLINE NIET bewerkbaar — het is 1282 // dan geen tekstveld. Eén tik → fullscreen, waar het wél bewerkbaar wordt 1283 // (toggleFullscreen zet contenteditable aan/uit). Zo kun je nooit inline typen. 1268 1284 if (isTouch) { 1269 var enterFs = function () { 1285 editor.setAttribute('contenteditable', 'false'); 1286 editor.classList.add('pe-tap-to-edit'); 1287 editor.setAttribute('data-placeholder', 'Tik om te schrijven…'); 1288 editor.addEventListener('click', function () { 1270 1289 if (editorFrame && !editorFrame.classList.contains('pe-fs')) toggleFullscreen(); 1271 }; 1272 editor.addEventListener('focus', enterFs); 1273 editor.addEventListener('beforeinput', enterFs); 1274 editor.addEventListener('pointerup', enterFs); 1290 }); 1275 1291 } 1276 1292
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)