Changes in / [a39c9bd:7df47b6] in Klonkt


Ignore:
Location:
src/assets/js/mod
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • src/assets/js/mod/admin-epk.js

    ra39c9bd r7df47b6  
    88// er nu staat) en tegen een tweede aanroep te kunnen.
    99
    10 // Element-bedrading leeft zo lang als de pagina; de bootstrap roept init()
    11 // aan bij elke paginawissel waarop deze module actief is (shaer-5s1).
    12 export function init() { run(); }
    13 
    14 function run() {
    1510(function () {
    1611  var box = document.querySelector('.epk-track-pick');
     
    2520  sync();
    2621})();
    27 }
  • src/assets/js/mod/admin-help.js

    ra39c9bd r7df47b6  
    88// er nu staat) en tegen een tweede aanroep te kunnen.
    99
    10 // Element-bedrading leeft zo lang als de pagina; de bootstrap roept init()
    11 // aan bij elke paginawissel waarop deze module actief is (shaer-5s1).
    12 export function init() { run(); }
    13 
    14 function run() {
    1510(function () {
    1611  var q = document.getElementById('hb-q');
     
    3429  q.addEventListener('input', run);
    3530})();
    36 }
  • src/assets/js/mod/admin-paid.js

    ra39c9bd r7df47b6  
    88// er nu staat) en tegen een tweede aanroep te kunnen.
    99
    10 // Element-bedrading leeft zo lang als de pagina; de bootstrap roept init()
    11 // aan bij elke paginawissel waarop deze module actief is (shaer-5s1).
    12 export function init() { run(); }
    13 
    14 function run() {
    1510(function () {
    1611  var field = document.getElementById('pd-redirect');
     
    2520  });
    2621})();
    27 }
  • src/assets/js/mod/admin-push.js

    ra39c9bd r7df47b6  
    88// er nu staat) en tegen een tweede aanroep te kunnen.
    99
    10 // Element-bedrading leeft zo lang als de pagina; de bootstrap roept init()
    11 // aan bij elke paginawissel waarop deze module actief is (shaer-5s1).
    12 export function init() { run(); }
    13 
    14 function run() {
    1510(function () {
    1611  var cfg = JSON.parse(document.getElementById('np-data').textContent);
     
    114109  });
    115110})();
    116 }
  • src/assets/js/mod/admin-settings.js

    ra39c9bd r7df47b6  
    88// er nu staat) en tegen een tweede aanroep te kunnen.
    99
    10 // Element-bedrading leeft zo lang als de pagina; de bootstrap roept init()
    11 // aan bij elke paginawissel waarop deze module actief is (shaer-5s1).
    12 export function init() { run(); }
    13 
    14 function run() {
    1510    (function () {
    1611      var f = document.getElementById('mode-form');
     
    2318      });
    2419    })();
    25 }
     20   
  • src/assets/js/mod/admin-site-edit.js

    ra39c9bd r7df47b6  
    88// er nu staat) en tegen een tweede aanroep te kunnen.
    99
    10 // Element-bedrading leeft zo lang als de pagina; de bootstrap roept init()
    11 // aan bij elke paginawissel waarop deze module actief is (shaer-5s1).
    12 export function init() { run(); }
    13 
    14 function run() {
    1510    (function(){
    1611      if (window.__themePreviewWired) return; window.__themePreviewWired = true;
     
    134129  }
    135130})();
    136 }
  • src/assets/js/mod/auth-register.js

    ra39c9bd r7df47b6  
    88// er nu staat) en tegen een tweede aanroep te kunnen.
    99
    10 // Element-bedrading leeft zo lang als de pagina; de bootstrap roept init()
    11 // aan bij elke paginawissel waarop deze module actief is (shaer-5s1).
    12 export function init() { run(); }
    13 
    14 function run() {
    1510(function () {
    1611  var u = document.getElementById('setup-username'), out = document.getElementById('setup-handle');
     
    2318  upd();
    2419})();
    25 }
  • src/assets/js/mod/authorize-interaction.js

    ra39c9bd r7df47b6  
    88// er nu staat) en tegen een tweede aanroep te kunnen.
    99
    10 // Element-bedrading leeft zo lang als de pagina; de bootstrap roept init()
    11 // aan bij elke paginawissel waarop deze module actief is (shaer-5s1).
    12 export function init() { run(); }
    13 
    14 function run() {
    1510    (function () {
    16       // Element-vlag, geen window-vlag: na een swap is de knop een NIEUW element
    17       // en moet hij opnieuw bedraad; een window-vlag zou dat voorgoed blokkeren.
    18       var a = document.getElementById('fedi-bm-btn'); if (!a || a.__wired) return; a.__wired = true;
     11      if (window.__fediBmWired) return; window.__fediBmWired = true;
     12      var a = document.getElementById('fedi-bm-btn'); if (!a) return;
    1913      a.setAttribute('href', "javascript:void(window.open('" + location.origin + "/authorize_interaction?uri='+encodeURIComponent(window.location.href)))");
    2014      a.addEventListener('click', function (e) { e.preventDefault(); a.classList.add('nudge'); setTimeout(function(){ a.classList.remove('nudge'); }, 600); });
     
    6660  });
    6761})();
    68 }
  • src/assets/js/mod/download.js

    ra39c9bd r7df47b6  
    77import { pageData } from './lib.js';
    88
    9 // Element-bedrading leeft zo lang als de pagina; de bootstrap roept init()
    10 // aan bij elke paginawissel waarop deze module actief is (shaer-5s1).
    11 export function init() { run(); }
    12 
    13 function run() {
    149        // Auto-start de download (zelfde-origin attachment-link).
    1510        setTimeout(function(){ try { window.location.href = (pageData().fileUrl || ''); } catch(e){} }, 600);
    16 }
     11     
  • src/assets/js/mod/news.js

    ra39c9bd r7df47b6  
    66
    77import { pageData } from './lib.js';
    8 
    9 // De twee gedelegeerde blokken dragen een window-vlag en zijn bij een tweede
    10 // init een no-op; de twee SCANNERS (gif-video's, lees-meer) moeten juist wel
    11 // elke render opnieuw over de verse elementen lopen (shaer-5s1). Element-
    12 // vlaggen (data-gif-wired, data-rm) houden dubbel bedraden tegen.
    13 export function init() { run(); }
    14 
    15 function run() {
    168
    179  (function () {
     
    8577/* Short feed videos (gif/cover loops like an animated cover) autoplay + loop muted like a GIF;
    8678   longer real videos keep their controls. Decided on the actual duration once metadata loads. */
    87 wireGifVideos();
     79(function(){
     80  document.querySelectorAll('.tl-media-video').forEach(function(v){
     81    if (v.dataset.gifWired) return; v.dataset.gifWired = '1';
     82    var decide = function(){
     83      if (v.duration && v.duration <= 30) {
     84        v.removeAttribute('controls'); v.loop = true; v.muted = true; v.play().catch(function(){});
     85      }
     86    };
     87    if (v.readyState >= 1) decide(); else v.addEventListener('loadedmetadata', decide, { once: true });
     88  });
     89})();
    8890
    8991/* Like/Boost toggle in place — POST via fetch, flip the button, stay on the page (no reload, no banner). */
     
    111113// actually overflows. Runs on every /news render (full load + htmx swap); a per-element flag
    112114// prevents double-wiring.
    113 wireReadMore();
    114 }
    115 
    116 /* Short feed videos: zie de opmerking bij de aanroep in run(). */
    117 function wireGifVideos(){
    118   document.querySelectorAll('.tl-media-video').forEach(function(v){
    119     if (v.dataset.gifWired) return; v.dataset.gifWired = '1';
    120     var decide = function(){
    121       if (v.duration && v.duration <= 30) {
    122         v.removeAttribute('controls'); v.loop = true; v.muted = true; v.play().catch(function(){});
    123       }
    124     };
    125     if (v.readyState >= 1) decide(); else v.addEventListener('loadedmetadata', decide, { once: true });
    126   });
    127 }
    128 
    129 function wireReadMore(){
     115(function(){
    130116  var _d = pageData(); var RM = _d.readMore || 'Lees meer', SL = _d.showLess || 'Toon minder';
    131117  document.querySelectorAll('.tl-content:not(.nsfw-media):not([data-rm])').forEach(function(c){
     
    141127    }
    142128  });
    143 }
    144 
    145 // Paginering: items die de feed later binnenhaalt zouden de scanners missen --
    146 // init() draait per NAVIGATIE, en een pagineer-swap is er geen. Een keer,
    147 // gedelegeerd; op andere pagina's vinden de scanners niets en doen ze niets.
    148 document.body.addEventListener('htmx:afterSettle', function () { wireGifVideos(); wireReadMore(); });
     129})();
  • src/assets/js/mod/paid-gate.js

    ra39c9bd r7df47b6  
    77import { pageData } from './lib.js';
    88
    9 // Element-bedrading leeft zo lang als de pagina; de bootstrap roept init()
    10 // aan bij elke paginawissel waarop deze module actief is (shaer-5s1).
    11 export function init() { run(); }
    12 
    13 function run() {
    149(function () {
    1510  var _d = pageData();
     
    6560  });
    6661})();
    67 }
  • src/assets/js/mod/paid-passkey.js

    ra39c9bd r7df47b6  
    77import { pageData } from './lib.js';
    88
    9 // Element-bedrading leeft zo lang als de pagina; de bootstrap roept init()
    10 // aan bij elke paginawissel waarop deze module actief is (shaer-5s1).
    11 export function init() { run(); }
    12 
    13 function run() {
    149(function () {
    1510  var _d = pageData();
     
    4540  });
    4641})();
    47 }
Note: See TracChangeset for help on using the changeset viewer.