1window.BandcampWidget = (function() { 2 'use strict'; 3 4 function render(element, bandcampUrl, albumId, trackId, title, creator) { 5 if (!element) return; 6 var container = element.querySelector('.bandcamp-widget-container'); 7 if (!container) { 8 container = document.createElement('div'); 9 container.className = 'bandcamp-widget-container'; 10 element.appendChild(container); 11 } 12 13 var isSmall = window.innerWidth <= 360; 14 var sizeParam = isSmall ? 'size=small' : 'size=large'; 15 var iframeHeight = isSmall ? '42px' : '120px'; 16 var iframeSrc = ''; 17 if (albumId) { 18 iframeSrc = 'https://bandcamp.com/EmbeddedPlayer/album=' + albumId + '/' + sizeParam + '/bgcol=ffffff/linkcol=0687f5/tracklist=false/artwork=small/transparent=true/'; 19 } else if (trackId) { 20 iframeSrc = 'https://bandcamp.com/EmbeddedPlayer/track=' + trackId + '/' + sizeParam + '/bgcol=ffffff/linkcol=0687f5/tracklist=false/artwork=small/transparent=true/'; 21 } 22 23 if (iframeSrc) { 24 var linkText = (title && creator) ? (title + ' by ' + creator) : (title || 'Bandcamp'); 25 container.innerHTML = '<iframe style="border: 0; width: 100%; height: ' + iframeHeight + ';" src="' + iframeSrc + '" seamless credentialless><a href="' + (bandcampUrl || '#') + '">' + linkText + '</a></iframe>'; 26 } else if (bandcampUrl) { 27 container.innerHTML = '<div class="bandcamp-link-chip"><a href="' + bandcampUrl + '" target="_blank" class="accolade-link-btn" title="Open on Bandcamp"><span class="stat-icon" style="-webkit-mask-image: url(\'/icons/bandcamp.svg\'); mask-image: url(\'/icons/bandcamp.svg\');"></span> <span>LISTEN ON BANDCAMP</span></a></div>'; 28 } 29 } 30 31 function init() { 32 var elements = document.querySelectorAll('[data-bandcamp-url], [data-bandcamp-album-id], [data-bandcamp-track-id]'); 33 elements.forEach(function(el) { 34 if (el.classList.contains('fav-collection-item-chip') || (el.closest && el.closest('.fav-collection-item-chip'))) return; 35 var url = el.getAttribute('data-bandcamp-url'); 36 var albumId = el.getAttribute('data-bandcamp-album-id'); 37 var trackId = el.getAttribute('data-bandcamp-track-id'); 38 var title = el.getAttribute('data-bandcamp-title'); 39 var creator = el.getAttribute('data-bandcamp-creator'); 40 if (url || albumId || trackId) { 41 render(el, url, albumId, trackId, title, creator); 42 } 43 }); 44 } 45 46 return { init: init, render: render }; 47})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.