Changeset 3188dfe in Klonkt for src/assets/js/mod/admin-seo.js


Ignore:
Timestamp:
08/13/2026 01:26:21 PM (4 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
0824351
Parents:
c3e736c
Message:

Kandidaten als kaartje, regel voor regel (shaer-mbz)

Een keuze en geen opsomming. Alles op een rij duwen maakte de toelichting --
juist het veld dat twee gelijknamige bands uit elkaar houdt -- tot bijzin achter
de naam. Nu: naam, toelichting, feiten, en een voet met de link en de knop.

Alleen wat er IS. Een lege bullet tussen twee punten leest als ontbrekende
informatie in plaats van als afwezige, dus soort, land en jaren worden pas
samengevoegd nadat de lege eruit zijn.

De zoekscore komt er alleen bij als hij ZWAK is (< 70). Bij een goede treffer is
een getal ruis; bij een zwakke is het een waarschuwing. Dat veld haalden we al
op met precies die bedoeling en het werd nog nergens gebruikt.

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

File:
1 edited

Legend:

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

    rc3e736c r3188dfe  
    121121    for (const k of kandidaten) {
    122122      const li = el('li', 'mb-kandidaat');
    123       li.appendChild(el('strong', null, k.naam));
     123
     124      // Regel voor regel, want dit is een KEUZE en geen opsomming. Alles op een
     125      // rij duwen maakt de toelichting -- juist het veld dat de bands uit
     126      // elkaar houdt -- tot bijzin achter de naam.
     127      li.appendChild(el('span', 'mb-naam', k.naam));
     128
    124129      // De toelichting is het hele punt: er zijn drie bands die Nirvana heten,
    125       // en zonder dit veld kiest iemand de verkeerde.
    126       const bij = [k.toelichting, k.soort, k.land, k.jaren].filter(Boolean).join(' · ');
    127       if (bij) li.appendChild(el('small', 'mb-bij', bij));
     130      // en zonder dit veld kiest iemand de verkeerde. Eigen regel dus.
     131      if (k.toelichting) li.appendChild(el('span', 'mb-toelichting', k.toelichting));
     132
     133      // De feiten eronder, en alleen wat er IS. Een lege bullet tussen twee
     134      // punten leest als ontbrekende informatie in plaats van als afwezige.
     135      const feiten = [k.soort, k.land, k.jaren].filter(Boolean).join(' · ');
     136      if (feiten) li.appendChild(el('span', 'mb-feiten', feiten));
     137
     138      const voet = el('div', 'mb-voet');
    128139      const open = el('a', 'mb-open', T.mb_open || 'Bekijk op MusicBrainz');
    129140      open.href = k.url; open.target = '_blank'; open.rel = 'noopener';
    130       li.appendChild(open);
    131       const b = el('button', 'btn', T.mb_pick || 'Dit ben ik');
     141      voet.appendChild(open);
     142      // Hun eigen score. Alleen tonen als hij ZWAK is: bij een goede treffer is
     143      // een getal ruis, bij een zwakke is het een waarschuwing.
     144      if (k.score && k.score < 70) voet.appendChild(el('span', 'mb-zwak', `${k.score}%`));
     145      const b = el('button', 'btn mb-kies', T.mb_pick || 'Dit ben ik');
    132146      b.type = 'button';
    133147      b.addEventListener('click', () => zet(k.mbid, k.naam));
    134       li.appendChild(b);
     148      voet.appendChild(b);
     149      li.appendChild(voet);
     150
    135151      lijst.appendChild(li);
    136152    }
Note: See TracChangeset for help on using the changeset viewer.