-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
87 lines (77 loc) · 3.2 KB
/
index.html
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<html>
<body>
<div id="content" style="padding:5px; font-size:0.9em; border:1px solid black;box-shadow:0px 0px 1px 1px black; font-family:'Courier New', Courier, monospace;width:600px;height:500px;margin:0 auto;margin-top:50px;overflow-y:scroll">
</div>
</body>
<style>
.profileImage {
width:20px;
height:20px;
background-repeat:none;
display: inline-block;
}
</style>
<script>
container = document.getElementById('content');
var blockString = '';
function getProfileImageHTMLFromProfileMap(name, profileMap){
if(profileMap[e.Name] != null){
x = profileMap[e.Name]['x'];
y = profileMap[e.Name]['y'];
console.log(x + ',' + y);
imgHTML = '<div class="profileImage" style="background-image:url(out.jpg);background-position:' + x + 'px ' + y + 'px"></div>';
return imgHTML;
}else {
console.log('ProfileMap for ' + e.Name + ' does not exist.');
}
return '';
}
function handleLikeEvent(e, profileMap){
imgHTML = getProfileImageHTMLFromProfileMap(e.Name, profileMap);
return '<br/>' + imgHTML + e.Name + ' gave ' + e.Count + ' Likes.';
}
function handleLikeReceivedEvent(e, profileMap){
imgHTML = getProfileImageHTMLFromProfileMap(e.Name, profileMap);
l = '<br/>' + imgHTML + '<a href="https://www.bitclout.com/u/'+e.Name+'">' + e.Name + '</a> ⬅️ ';
for(var i=0;i<e.Count;i++)
l += '❤️';
return l;
}
async function loadcontent(callback){
console.log('loading');
var resp = await fetch('sum.json');
const content = await resp.json();
console.log('loaded');
const events = content['Events'];
const profiles = content['Profiles'];
//Go through all the profiles and create image texture map
profileMap = {};
for(i=0;i<profiles.length;i++){
n = profiles[i]['Name'];
k = profiles[i]['Key'];
x = profiles[i]['x'];
y = profiles[i]['y'];
profileMap[n] = {'Key':k, 'x':x, 'y':y};
}
console.log(profileMap);
for(i=0;i<events.length;i++){
e = events[i];
callback(e, profileMap);
}
callback(null, null);
//document.getElementById('content').innerText = JSON.stringify(content);
}
loadcontent(function(e, profileMap){
if(e == null){
d = document.createElement('div');
d.innerHTML = blockString;
blockString = '';
container.appendChild(d);
}else if(e.type == 'LIKE'){
blockString += handleLikeEvent(e, profileMap);
}else if(e.type == 'LIKE_RECIEVED'){
blockString += handleLikeReceivedEvent(e, profileMap);
}
});
</script>
</html>