aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/js/arching-kaos-modules-mixtapes.js62
1 files changed, 62 insertions, 0 deletions
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);
+ }
+}