Changeset 25dd08f in Klonkt for src


Ignore:
Timestamp:
08/22/2026 08:24:13 AM (3 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
8e1af9c
Parents:
b0ccd0d
Message:

Mixtape kiezen kan nu ook echt, in het scherm

De soort was er wel maar nergens te kiezen. Drie plekken, en twee ervan waren
weer dezelfde vorm die een derde soort niet afwijst maar opslokt:

  • De keuzelijst kreeg een derde optie.
  • kind: kindEl.value === 'playlist' ? 'playlist' : 'album' sloeg een mixtape op als album. Nu gaat de waarde zelf mee; normKind() op de server beslist.
  • const album = kindEl.value !== 'playlist' toonde uitgavevelden bij een mixtape, die de server vervolgens leegmaakt -- een scherm dat iets anders belooft dan het doet. Nu expliciet === 'album'.
  • De lijstweergave koos teken en woord met een ternair die er twee kende; een mixtape kreeg daardoor het albumjasje. Nu een tabel per soort.

Labels in nl/en/de, en de sleutel doorgegeven vanuit de partial -- dat laatste
ving playlist-editor-i18n.test.js meteen, precies waarvoor die test bestaat.

MOD_V naar 50.

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

Location:
src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • src/assets/js/mod/playlist-editor.js

    rb0ccd0d r25dd08f  
    123123                    <option value="album"    ${initial.kind === 'album' ? 'selected' : ''}>💿 ${T('k_album')}</option>
    124124                    <option value="playlist" ${initial.kind === 'playlist' ? 'selected' : ''}>📃 ${T('k_playlist')}</option>
     125                    <option value="mixtape"  ${initial.kind === 'mixtape' ? 'selected' : ''}>📼 ${T('k_mixtape')}</option>
    125126                  </select>
    126127                </label>
     
    197198    // verdwijnen dus als je omschakelt, en de server maakt ze dan ook leeg;
    198199    // dit scherm is de uitleg, niet de bewaking.
     200    // ALLEEN een album, en niet "alles behalve playlist". Dat stond er eerst, en
     201    // met een derde soort erbij zou een mixtape ineens uitgavevelden tonen die
     202    // de server toch weggooit -- een scherm dat iets anders belooft dan het doet.
    199203    const toonUitgave = () => {
    200       const album = kindEl.value !== 'playlist';
     204      const album = kindEl.value === 'album';
    201205      for (const el of backdrop.querySelectorAll('.pl-uitgave')) el.hidden = !album;
    202206    };
     
    420424        year:   parseInt(yearEl.value, 10) || 0,
    421425        cover:  coverEl.value.trim(),
    422         kind:   kindEl.value === 'playlist' ? 'playlist' : 'album',
     426        // De waarde zelf. Deze regel was `=== 'playlist' ? 'playlist' : 'album'`,
     427        // en dat is precies de vorm die een nieuwe soort niet afwijst maar
     428        // opslokt: een mixtape werd hier stil een album. De server heeft het
     429        // laatste woord via normKind().
     430        kind:   kindEl.value,
    423431        release_date:  releaseEl.value.trim(),
    424432        mb_release_id: mbReleaseEl.value.trim(),
  • src/services/i18n.js

    rb0ccd0d r25dd08f  
    9191    'ple.type': 'Type',
    9292    'ple.k_album': 'Album (genummerd)',
    93     'ple.k_playlist': 'Playlist (track-covers)',
     93    'ple.k_playlist': 'Playlist (track-covers)', 'ple.k_mixtape': 'Mixtape (bandje: alleen vooruit en achteruit)',
    9494    'ple.uitgave': 'Uitgavedatum',
    9595    'ple.mb_release': 'MusicBrainz release-id',
     
    475475    'apl.none_sub': 'Maak er een via de knop hierboven, of via de 📃 knop in de post-editor.',
    476476    'apl.pill_playlist': 'playlist',
    477     'apl.pill_album': 'album',
     477    'apl.pill_album': 'album', 'apl.pill_mixtape': 'mixtape',
    478478    'apl.track': 'track',
    479479    'apl.tracks': 'tracks',
     
    11061106    'ple.type': 'Type',
    11071107    'ple.k_album': 'Album (numbered)',
    1108     'ple.k_playlist': 'Playlist (track covers)',
     1108    'ple.k_playlist': 'Playlist (track covers)', 'ple.k_mixtape': 'Mixtape (a tape: forwards and back only)',
    11091109    'ple.uitgave': 'Release date',
    11101110    'ple.mb_release': 'MusicBrainz release ID',
     
    14851485    'apl.none_sub': 'Create one with the button above, or via the 📃 button in the post editor.',
    14861486    'apl.pill_playlist': 'playlist',
    1487     'apl.pill_album': 'album',
     1487    'apl.pill_album': 'album', 'apl.pill_mixtape': 'mixtape',
    14881488    'apl.track': 'track',
    14891489    'apl.tracks': 'tracks',
     
    21152115    'ple.type': 'Typ',
    21162116    'ple.k_album': 'Album (nummeriert)',
    2117     'ple.k_playlist': 'Playlist (Titelbilder)',
     2117    'ple.k_playlist': 'Playlist (Titelbilder)', 'ple.k_mixtape': 'Mixtape (Kassette: nur vor und zurück)',
    21182118    'ple.uitgave': 'Veröffentlichungsdatum',
    21192119    'ple.mb_release': 'MusicBrainz-Release-ID',
     
    24942494    'apl.none_sub': 'Erstelle eine über die Schaltfläche oben oder über die 📃-Schaltfläche im Beitrags-Editor.',
    24952495    'apl.pill_playlist': 'Playlist',
    2496     'apl.pill_album': 'Album',
     2496    'apl.pill_album': 'Album', 'apl.pill_mixtape': 'Mixtape',
    24972497    'apl.track': 'Track',
    24982498    'apl.tracks': 'Tracks',
  • src/views/pages/admin-playlists.ejs

    rb0ccd0d r25dd08f  
    4242      var _aplPlaylist = t('apl.pill_playlist');
    4343      var _aplAlbum    = t('apl.pill_album');
     44      var _aplMixtape  = t('apl.pill_mixtape');
     45      // Een soort met een eigen teken en een eigen woord. De ternair die hier
     46      // stond kende er maar twee, en toonde een mixtape dus als album.
     47      var _aplTeken = { album: '💿', playlist: '📃', mixtape: '📼' };
     48      var _aplWoord = { album: _aplAlbum, playlist: _aplPlaylist, mixtape: _aplMixtape };
    4449      var _aplTrack    = t('apl.track');
    4550      var _aplTracks   = t('apl.tracks');
     
    5257        <li class="ax-track" data-id="<%= p.id %>">
    5358          <div class="ax-track-cover" <%- p.cover ? `style="background-image:url('${p.cover}'); background-size:cover; background-position:center"` : '' %>>
    54             <% if (!p.cover) { %><span><%= p.kind === 'playlist' ? '📃' : '💿' %></span><% } %>
     59            <% if (!p.cover) { %><span><%= _aplTeken[p.kind] || _aplTeken.album %></span><% } %>
    5560          </div>
    5661
     
    5863            <div class="ax-track-title">
    5964              <%= p.title %>
    60               <span class="ax-pill"><%= p.kind === 'playlist' ? '📃 ' + _aplPlaylist : '💿 ' + _aplAlbum %></span>
     65              <span class="ax-pill"><%= (_aplTeken[p.kind] || _aplTeken.album) + ' ' + (_aplWoord[p.kind] || _aplAlbum) %></span>
    6166            </div>
    6267            <div class="ax-track-sub">
  • src/views/partials/playlist-editor.ejs

    rb0ccd0d r25dd08f  
    297297<script type="application/json" data-playlist-editor-i18n><%- JSON.stringify({
    298298  titel: t('ple.titel'), artiest: t('ple.artiest'), jaar: t('ple.jaar'), type: t('ple.type'),
    299   k_album: t('ple.k_album'), k_playlist: t('ple.k_playlist'),
     299  k_album: t('ple.k_album'), k_playlist: t('ple.k_playlist'), k_mixtape: t('ple.k_mixtape'),
    300300  uitgave: t('ple.uitgave'), mb_release: t('ple.mb_release'),
    301301  cover: t('ple.cover'), cover_kies: t('ple.cover_kies'), cover_url: t('ple.cover_url'),
  • src/views/shell.ejs

    rb0ccd0d r25dd08f  
    505505  // Eén nummer voor de hele map. Te vaak bumpen kost één download; te weinig
    506506  // bumpen kost een bugfix die nooit aankomt.
    507   var MOD_V = 49;
     507  var MOD_V = 50;
    508508
    509509  // name -> 1 (aan het laden) of de module-namespace (geladen). Een module
Note: See TracChangeset for help on using the changeset viewer.