Changeset 9ef3c56 in Klonkt for src/views


Ignore:
Timestamp:
06/19/2026 11:50:23 AM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
4ad669a
Parents:
a0bff44
Message:

fix(mobile): hide fixed bottom bars when the keyboard is open

Site-wide: body.kb-open (set via visualViewport when the keyboard opens +
an input field has focus) hides the bottom tab + mini player, so they no
longer float over or overlap input fields while typing. style.css?v=12.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/views/shell.ejs

    ra0bff44 r9ef3c56  
    163163
    164164<!-- v9 stylesheet (full palette system) -->
    165 <link rel="stylesheet" href="/assets/css/style.css?v=11">
     165<link rel="stylesheet" href="/assets/css/style.css?v=12">
    166166
    167167<!-- Audio player styles: loaded on every page so the mini-player works
     
    528528</script>
    529529
     530<!-- Mobiel toetsenbord vs. site-layout: zet body.kb-open zodra het toetsenbord
     531     open is (visual viewport fors korter dan het venster) ÉN er een invoerveld
     532     focus heeft. CSS verbergt dan de vaste onderbalken (bottom-tab + mini-speler)
     533     zodat ze niet over het invoerveld zweven. -->
     534<script>
     535(function () {
     536  var vv = window.visualViewport;
     537  if (!vv) return;
     538  function isField(el) {
     539    if (!el) return false;
     540    var t = el.tagName;
     541    return t === 'INPUT' || t === 'TEXTAREA' || el.isContentEditable;
     542  }
     543  function update() {
     544    var open = (window.innerHeight - vv.height) > 150 && isField(document.activeElement);
     545    document.body.classList.toggle('kb-open', open);
     546  }
     547  vv.addEventListener('resize', update);
     548  vv.addEventListener('scroll', update);
     549  document.addEventListener('focusin', function () { setTimeout(update, 60); });
     550  document.addEventListener('focusout', function () { setTimeout(update, 60); });
     551})();
     552</script>
     553
    530554<!-- PWA install prompt — show button when browser fires beforeinstallprompt -->
    531555<script>
Note: See TracChangeset for help on using the changeset viewer.