Changeset b2646cc in Klonkt for src/assets/js/guardian.js
- Timestamp:
- 08/07/2026 11:58:49 PM (5 weeks ago)
- Branches:
- main
- Children:
- a9bc6ab
- Parents:
- 9ce14b8
- git-author:
- Robin <roboburr@…> (08/07/2026 11:58:47 PM)
- git-committer:
- roboburr <roboburr@…> (08/07/2026 11:58:49 PM)
- File:
-
- 1 edited
-
src/assets/js/guardian.js (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/assets/js/guardian.js
r9ce14b8 rb2646cc 285 285 .replace('{who}', handleOf(g.proposer || '')) 286 286 .replace('{ward}', handleOf(g.ward)))); 287 // Wat het betekent als dit doorgaat, VOOR de knoppen (shaer-nf9). Alleen bij 288 // openzetten -- dichtzetten laat niets nieuws door. 289 // 290 // En eerlijk over wat wij niet zien: de stemmen worden geteld op de server 291 // van het kind, niet hier. Er zijn geen lokale wards, dus gatedProgress komt 292 // voor deze kaart altijd op null uit. Een verzonnen "1 van 2" zou hier het 293 // gevaarlijkste getal op het scherm zijn -- het leest als "er kan nog iemand 294 // na mij". Wat we wel weten en wat de waarschuwing draagt: jouw ja kan de 295 // doorslag geven, want de telling settelt op het moment dat de drempel 296 // gehaald is. 297 if (g.consequence) { 298 var warn = el('div', 'g-warn'); 299 warn.appendChild(el('p', 'small', warnText(g.consequence))); 300 warn.appendChild(el('p', 'small g-dim', T.warn_tally_elsewhere || '')); 301 card.appendChild(warn); 302 } 303 287 304 var row = el('div', 'row'); 288 305 var yes = el('button', 'small', T.gated_agree || 'Agree'); … … 341 358 } 342 359 343 function gateButton(w, feature, current, proposeLabel, onLabel, offLabel ) {360 function gateButton(w, feature, current, proposeLabel, onLabel, offLabel, consequence) { 344 361 var known = current === true || current === false; 345 362 var btn = el('button', 'quiet small', (known ? (current ? onLabel : offLabel) : proposeLabel) || feature); 363 var allow = known ? !current : true; 364 365 // ALLEEN BIJ OPENZETTEN waarschuwen (shaer-nf9). Dichtzetten laat niets 366 // nieuws door, en een waarschuwing die overal staat wordt nergens gelezen. 367 // Geen window.confirm: dat verstopt de uitleg achter een OK die mensen 368 // wegklikken. Zelfde vorm als het loslaten van een ward. 346 369 btn.addEventListener('click', function () { 370 if (!allow) return doPropose(); 371 btn.hidden = true; 372 var ask = el('div', 'g-confirm'); 373 ask.appendChild(el('p', 'small', warnText(consequence))); 374 var ja = el('button', 'small', T.warn_go || 'Yes, propose this'); 375 ja.addEventListener('click', function () { ask.remove(); btn.hidden = false; doPropose(); }); 376 var nee = el('button', 'quiet small', T.warn_back || 'No, go back'); 377 nee.addEventListener('click', function () { ask.remove(); btn.hidden = false; }); 378 ask.appendChild(ja); ask.appendChild(nee); 379 btn.parentNode.appendChild(ask); 380 }); 381 382 function doPropose() { 347 383 btn.disabled = true; 348 384 fetch('/guardian/wards/embeds', { 349 385 method: 'POST', headers: { 'Content-Type': 'application/json' }, 350 body: JSON.stringify({ uri: w.other_uri, feature: feature, allow: known ? !current : true}),386 body: JSON.stringify({ uri: w.other_uri, feature: feature, allow: allow }), 351 387 }).then(function (r) { return r.json(); }) 352 388 .then(function (j) { … … 359 395 }) 360 396 .catch(function () { btn.disabled = false; }); 361 } );397 } 362 398 return btn; 399 } 400 401 /** De juiste waarschuwing bij een gevolg. Onbekend krijgt de zwaarste: een 402 * gate die wij niet kennen kunnen we ook niet geruststellend beschrijven. */ 403 function warnText(consequence) { 404 if (consequence === 'irreversible') return T.warn_irreversible || ''; 405 if (consequence === 'unknown') return T.warn_unknown || ''; 406 return T.warn_reversible || ''; 363 407 } 364 408 … … 553 597 var openzetten = T.gate_propose_open || T.gate_propose || 'Propose'; 554 598 var dichtzetten = T.gate_propose_close || T.gate_propose || 'Propose'; 555 row.appendChild(gateButton(w, g.feature, g.value, openzetten, dichtzetten, openzetten)); 599 row.appendChild(gateButton(w, g.feature, g.value, openzetten, dichtzetten, openzetten, 600 g.reversible === false ? 'irreversible' : 'reversible')); 556 601 } 557 602 return row;
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)