From 0d04f296f37548a926003ea775e0936348aa7909 Mon Sep 17 00:00:00 2001 From: kaotisk Date: Sun, 17 Mar 2024 03:27:54 +0200 Subject: Modulized mixtapes --- src/js/arching-kaos-modules-mixtapes.js | 62 +++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/js/arching-kaos-modules-mixtapes.js (limited to 'src/js/arching-kaos-modules-mixtapes.js') diff --git a/src/js/arching-kaos-modules-mixtapes.js b/src/js/arching-kaos-modules-mixtapes.js new file mode 100644 index 0000000..f12e2ea --- /dev/null +++ b/src/js/arching-kaos-modules-mixtapes.js @@ -0,0 +1,62 @@ + +function akModuleMixtapes(zblockIPFSHash, zblockObject, blockObject, json){ + if(!document.querySelector('#mixtape-'+zblockIPFSHash)){ + var divs = document.querySelector('#mixtapes-section'); + var art = document.createElement("article"); + art.id = 'mixtape-'+zblockIPFSHash; + if(json.title){ + var h3 = document.createElement("h3"); + h3.innerText = json.title; + art.appendChild(h3); + } + if(json.artist){ + var h4 = document.createElement("h4"); + h4.innerText = json.artist; + art.appendChild(h4); + } + if(json.timestamp){ + var small = document.createElement("h5"); + small.innerText="Published: " + new Date(json.timestamp*1000); + art.appendChild(small); + } + if(json.ipfs){ + var audio = document.createElement("audio"); + audio.setAttribute('controls',''); + audio.id = 'mixtape-player-'+zblockIPFSHash; + mixtapeIds.push(audio.id); + var source = document.createElement("source"); + source.src = getIPFSURL(json.ipfs); + var rs = source.cloneNode(true); + audio.appendChild(source); + radio.appendChild(rs); + art.appendChild(audio); + audio.addEventListener( "loadedmetadata", ()=>{ + if ( mixtapes[zblockIPFSHash] === undefined ){ + mixtapes[zblockIPFSHash]={ + zblock:zblockIPFSHash, + block:zblockObject.block, + block_signature:zblockObject.block_signature, + action:blockObject.action, + previous:blockObject.previous, + data:blockObject.data, + dataExpansion:json, + detach:blockObject.detach, + gpg:blockObject.gpg, + timestamp:blockObject.timestamp, + audioDuration:audio.duration + }; + } + /* console.log( + zblockIPFSHash+"'s duration is: "+ + audio.duration + + " Ceiled: " + Math.ceil(audio.duration) + + " added on " + blockObject.timestamp + " or " + + json.timestamp + + " DIFF: " + (blockObject.timestamp - json.timestamp) + ); */ + }, false ); + } + if (document.querySelector("#mixtapes-sec-not-found")) document.querySelector("#mixtapes-sec-not-found").hidden=true; + divs.appendChild(art); + } +} -- cgit v1.2.3