Changeset b0ccd0d in Klonkt for src/assets/js/shared/post-music-type.js
- Timestamp:
- 08/22/2026 08:14:01 AM (3 weeks ago)
- Branches:
- main
- Children:
- 25dd08f
- Parents:
- 8ed36de
- File:
-
- 1 edited
-
src/assets/js/shared/post-music-type.js (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/assets/js/shared/post-music-type.js
r8ed36de rb0ccd0d 21 21 * een collectie -> die soort metadata van de post geleend 22 22 * een collectie + losse tracks -> album de losse zijn BONUS-TRACKS 23 * een MIXTAPE + losse tracks -> mixtape de losse zijn BONUS-TRACKS 23 24 * twee of meer collecties -> post NIETS geleend 25 * 26 * Die vierde regel is de uitzondering op de derde en staat er met opzet naast: 27 * bonustracks maken van een uitgave een album, maar een bandje is geen uitgave. 24 28 * 25 29 * Waarom de lening bij de laatste vervalt: die bestaat omdat een collectie soms … … 39 43 // insluit, telt hier niet mee. Anders zou een shortcode die niets oplevert wel 40 44 // het type van de post kunnen bepalen. 45 // De soorten die een playlist kan zijn, en dit is de ENIGE lijst. PlaylistService 46 // en music/index.js halen hem hier op, precies omdat het andersom niet kan: 47 // deze module draait ook in de browser en mag niets van de database weten. 48 // 49 // Waarom dat uitmaakt: bij twee soorten stond de keuze vijf keer als 50 // `x === 'playlist' ? 'playlist' : 'album'` verspreid over drie bestanden. Zo'n 51 // vorm valt niet om bij een derde soort, hij slikt hem -- een mixtape werd 52 // stilzwijgend een album en ging als Album de deur uit. 53 export const SOORTEN = ['album', 'playlist', 'mixtape']; 54 41 55 const RE_PLAYLIST = /\[\[playlist:([a-z0-9][a-z0-9-]*)\]\]/gi; 42 56 const RE_ALBUM = /\[\[album:([^\]]+)\]\]/g; … … 64 78 const uitPlaylists = playlists.map((id) => { 65 79 const kind = zoek(id); 66 if ( kind !== 'album' && kind !== 'playlist') { onbekend.push(id); return null; }80 if (!SOORTEN.includes(kind)) { onbekend.push(id); return null; } 67 81 return { soort: kind, id }; 68 82 }).filter(Boolean); … … 87 101 if (collecties.length === 1) { 88 102 const c0 = collecties[0]; 103 // EEN MIXTAPE BLIJFT EEN MIXTAPE, ook met losse tracks erbij. De regel 104 // hieronder maakt van collectie + losse tracks een album met bonustracks, en 105 // dat klopt voor een uitgave: extra nummers bij een plaat zijn bonus. Een 106 // bandje is geen uitgave. Er een album van maken omdat er een los nummer 107 // naast staat zou het ding hernoemen op grond van iets wat er niet bij 108 // hoort. Album en playlist houden bewust hun oude gedrag: dat zijn 109 // bestaande posts en die mogen hier niet stilletjes van soort wisselen. 110 if (c0.soort === 'mixtape') { 111 return { type: 'mixtape', collectie: c0, tracks: [], bonus: tracks, leentMetadata: true }; 112 } 89 113 // Losse tracks naast een collectie zijn geen rommelrestje maar bonus-tracks, 90 114 // en dat maakt het geheel een album.
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)