Changeset 8e1af9c in Klonkt for src/services/AudioEmbedService.js


Ignore:
Timestamp:
08/22/2026 09:11:56 AM (3 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
16fd4fe
Parents:
25dd08f
git-author:
Robin <roboburr@…> (08/22/2026 09:11:36 AM)
git-committer:
Robin <roboburr@…> (08/22/2026 09:11:56 AM)
Message:

Mixtape als posttype, kiesbaar in de composer

Het bandje bestond wel als soort playlist, maar je kon er geen post van maken.
Nu wel: een eigen knop met een eigen teken, en het muziekpaneel deelt hij met
album en playlist -- het verschil zit in de playlist die je insluit, niet in
wat je uploadt.

KEUZE_TYPES en MUZIEK_TYPES in config/post-types.js waren de goede plek; dat
bestand bestaat precies omdat die lijst eerder drie keer los rondslingerde.

Nog twee keer dezelfde binaire vorm opgeruimd, en de tweede was een echte:

  • VOLGBAAR kende geen mixtape, dus het type volgde de muziek niet.
  • De editor zocht de soort op met de vorm p.kind === 'playlist' ? 'playlist' : 'album'. Het scherm zag dus album terwijl de server mixtape opsloeg: het type verspringt onder je handen bij het bewaren.
  • De renderer koos teken en woord met dezelfde tweewegkeuze, waardoor een ingesloten mixtape het jasje van een album droeg.

De SPELER is er nog niet -- een mixtape rendert voorlopig als de gewone lijst.
Wat af is, is dat hij overal zichzelf noemt.

Zes tests, waaronder de opslagweg door de echte route: kent de opslag een type
niet, dan wordt de post zonder melding een gewone post, en dat is precies de
fout waar config/post-types.js voor waarschuwt. Een van de tests riep eerst een
methode aan die niet bestaat en sloeg zichzelf over; die gaat nu door
embedPlaylistShortcodes heen en valt om als je de tweewegkeuze terugzet.

MOD_V naar 51.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/services/AudioEmbedService.js

    r25dd08f r8e1af9c  
    1010 * </figure>
    1111 */
     12
     13// Dezelfde lijst soorten als de server en de editor gebruiken. Zie
     14// assets/js/shared/post-music-type.js: die module is puur, dus hij mag hier.
     15import { SOORTEN } from '../assets/js/shared/post-music-type.js';
    1216
    1317// "Open in" icons (brand-colored via CSS .pat-link--).
     
    538542
    539543      const albumDomId = 'album-' + id;
    540       const kind = (pl.kind === 'playlist') ? 'playlist' : 'album';
    541       const kindLabel = kind === 'playlist' ? '📃 Playlist' : '💿 Album';
     544      // De soort zoals hij is opgeslagen. Stond hier als ternair met twee
     545      // uitkomsten, en dan draagt een mixtape het jasje en het woord van een
     546      // album -- dezelfde vorm die op vier andere plekken al misging.
     547      // DE SPELER IS ER NOG NIET. Een mixtape rendert voorlopig als de gewone
     548      // lijst; wat hier af is, is dat hij zichzelf goed noemt.
     549      const kind = SOORTEN.includes(pl.kind) ? pl.kind : 'album';
     550      const KIND_LABEL = { album: '💿 Album', playlist: '📃 Playlist', mixtape: '📼 Mixtape' };
     551      const kindLabel = KIND_LABEL[kind] || KIND_LABEL.album;
    542552      const titleH  = this.escape(pl.title || 'Naamloos');
    543553      const artistH = this.escape(pl.artist || '');
     
    638648            data-pcms-track-url="${firstUrl}"
    639649            data-pcms-album-id="${albumDomId}"
    640             aria-label="Speel ${kind === 'playlist' ? 'playlist' : 'album'}">
     650            aria-label="Speel ${kind}">
    641651      ${coverH
    642652        ? `<span class="post-album-cover" style="background-image:url('${coverH}')"></span>`
Note: See TracChangeset for help on using the changeset viewer.