Changes in / [7df47b6:a39c9bd] in Klonkt
- Location:
- src/assets/js/mod
- Files:
-
- 12 edited
-
admin-epk.js (modified) (2 diffs)
-
admin-help.js (modified) (2 diffs)
-
admin-paid.js (modified) (2 diffs)
-
admin-push.js (modified) (2 diffs)
-
admin-settings.js (modified) (2 diffs)
-
admin-site-edit.js (modified) (2 diffs)
-
auth-register.js (modified) (2 diffs)
-
authorize-interaction.js (modified) (2 diffs)
-
download.js (modified) (1 diff)
-
news.js (modified) (4 diffs)
-
paid-gate.js (modified) (2 diffs)
-
paid-passkey.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/assets/js/mod/admin-epk.js
r7df47b6 ra39c9bd 8 8 // er nu staat) en tegen een tweede aanroep te kunnen. 9 9 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() { 10 15 (function () { 11 16 var box = document.querySelector('.epk-track-pick'); … … 20 25 sync(); 21 26 })(); 27 } -
src/assets/js/mod/admin-help.js
r7df47b6 ra39c9bd 8 8 // er nu staat) en tegen een tweede aanroep te kunnen. 9 9 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() { 10 15 (function () { 11 16 var q = document.getElementById('hb-q'); … … 29 34 q.addEventListener('input', run); 30 35 })(); 36 } -
src/assets/js/mod/admin-paid.js
r7df47b6 ra39c9bd 8 8 // er nu staat) en tegen een tweede aanroep te kunnen. 9 9 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() { 10 15 (function () { 11 16 var field = document.getElementById('pd-redirect'); … … 20 25 }); 21 26 })(); 27 } -
src/assets/js/mod/admin-push.js
r7df47b6 ra39c9bd 8 8 // er nu staat) en tegen een tweede aanroep te kunnen. 9 9 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() { 10 15 (function () { 11 16 var cfg = JSON.parse(document.getElementById('np-data').textContent); … … 109 114 }); 110 115 })(); 116 } -
src/assets/js/mod/admin-settings.js
r7df47b6 ra39c9bd 8 8 // er nu staat) en tegen een tweede aanroep te kunnen. 9 9 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() { 10 15 (function () { 11 16 var f = document.getElementById('mode-form'); … … 18 23 }); 19 24 })(); 20 25 } -
src/assets/js/mod/admin-site-edit.js
r7df47b6 ra39c9bd 8 8 // er nu staat) en tegen een tweede aanroep te kunnen. 9 9 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() { 10 15 (function(){ 11 16 if (window.__themePreviewWired) return; window.__themePreviewWired = true; … … 129 134 } 130 135 })(); 136 } -
src/assets/js/mod/auth-register.js
r7df47b6 ra39c9bd 8 8 // er nu staat) en tegen een tweede aanroep te kunnen. 9 9 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() { 10 15 (function () { 11 16 var u = document.getElementById('setup-username'), out = document.getElementById('setup-handle'); … … 18 23 upd(); 19 24 })(); 25 } -
src/assets/js/mod/authorize-interaction.js
r7df47b6 ra39c9bd 8 8 // er nu staat) en tegen een tweede aanroep te kunnen. 9 9 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() { 10 15 (function () { 11 if (window.__fediBmWired) return; window.__fediBmWired = true; 12 var a = document.getElementById('fedi-bm-btn'); if (!a) return; 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; 13 19 a.setAttribute('href', "javascript:void(window.open('" + location.origin + "/authorize_interaction?uri='+encodeURIComponent(window.location.href)))"); 14 20 a.addEventListener('click', function (e) { e.preventDefault(); a.classList.add('nudge'); setTimeout(function(){ a.classList.remove('nudge'); }, 600); }); … … 60 66 }); 61 67 })(); 68 } -
src/assets/js/mod/download.js
r7df47b6 ra39c9bd 7 7 import { pageData } from './lib.js'; 8 8 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() { 9 14 // Auto-start de download (zelfde-origin attachment-link). 10 15 setTimeout(function(){ try { window.location.href = (pageData().fileUrl || ''); } catch(e){} }, 600); 11 16 } -
src/assets/js/mod/news.js
r7df47b6 ra39c9bd 6 6 7 7 import { 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() { 8 16 9 17 (function () { … … 77 85 /* Short feed videos (gif/cover loops like an animated cover) autoplay + loop muted like a GIF; 78 86 longer real videos keep their controls. Decided on the actual duration once metadata loads. */ 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 })(); 87 wireGifVideos(); 90 88 91 89 /* Like/Boost toggle in place — POST via fetch, flip the button, stay on the page (no reload, no banner). */ … … 113 111 // actually overflows. Runs on every /news render (full load + htmx swap); a per-element flag 114 112 // prevents double-wiring. 115 (function(){ 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(){ 116 130 var _d = pageData(); var RM = _d.readMore || 'Lees meer', SL = _d.showLess || 'Toon minder'; 117 131 document.querySelectorAll('.tl-content:not(.nsfw-media):not([data-rm])').forEach(function(c){ … … 127 141 } 128 142 }); 129 })(); 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(); }); -
src/assets/js/mod/paid-gate.js
r7df47b6 ra39c9bd 7 7 import { pageData } from './lib.js'; 8 8 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() { 9 14 (function () { 10 15 var _d = pageData(); … … 60 65 }); 61 66 })(); 67 } -
src/assets/js/mod/paid-passkey.js
r7df47b6 ra39c9bd 7 7 import { pageData } from './lib.js'; 8 8 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() { 9 14 (function () { 10 15 var _d = pageData(); … … 40 45 }); 41 46 })(); 47 }
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)