aboutsummaryrefslogtreecommitdiff
path: root/src/js/arching-kaos-modules-mixtapes.js
blob: f12e2ea8520d2332087951631138011db050307a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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);
    }
}