Ignore:
Timestamp:
06/20/2026 05:23:08 AM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
d727e92
Parents:
459acd9
Message:

feat(audio): per-track "open in" Spotify/YouTube/SoundCloud links

New per-track fields link_spotify/link_youtube/link_soundcloud (audio_tracks),
editable in the track editor (https + correct host validated). Shown as small
brand icons per track row in standalone track embeds, albums and playlists —
click opens the track on that service (new tab). buster audio.css?v=8.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/views/partials/track-editor.ejs

    r459acd9 r183875b  
    430430
    431431            <div class="te-field">
     432              <span>Open in <small>(links naar dezelfde track elders)</small></span>
     433              <input type="url" id="te-link-spotify" inputmode="url" autocomplete="off" spellcheck="false"
     434                     placeholder="Spotify-URL (https://open.spotify.com/…)" value="${esc(track.link_spotify || '')}">
     435              <input type="url" id="te-link-youtube" inputmode="url" autocomplete="off" spellcheck="false"
     436                     placeholder="YouTube-URL (https://youtu.be/…)" value="${esc(track.link_youtube || '')}">
     437              <input type="url" id="te-link-soundcloud" inputmode="url" autocomplete="off" spellcheck="false"
     438                     placeholder="SoundCloud-URL (https://soundcloud.com/…)" value="${esc(track.link_soundcloud || '')}">
     439            </div>
     440
     441            <div class="te-field">
    432442              <span>Cover</span>
    433443              <div class="te-cover-row">
     
    664674          credit:  $('#te-credit').value.trim() || null,
    665675          license: $('#te-license').value.trim() || null,
     676          link_spotify:    $('#te-link-spotify').value.trim() || null,
     677          link_youtube:    $('#te-link-youtube').value.trim() || null,
     678          link_soundcloud: $('#te-link-soundcloud').value.trim() || null,
    666679          duration: $('#te-duration').value ? Number($('#te-duration').value) : null,
    667680          cover_url: urlInput.value.trim() || null,
Note: See TracChangeset for help on using the changeset viewer.