-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
102 lines (87 loc) · 2.72 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Resonance JS SDK example</title>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0" />
<style>
body {
font-size: 16pt;
}
.nearby-item {
height: 50px;
background: #6ce1a5;
margin-bottom: 5px;
border-radius: 10px;
padding-left: 10px;
font-size: 16pt;
line-height: 50px;
}
#status {
margin-bottom: 15px;
}
</style>
</head>
<body>
<div id='payload'></div>
<div id='status'></div>
<div id='nearby'></div>
<script>
let nearbySet = {};
window.resonanceAsyncInit = function() {
if(!Resonance.isCompatible()) {
printStatus('Your browser is not supported.');
return;
}
var payload = null;
while (!payload) {
payload = localStorage.getItem('payload') || null;
payload = prompt('Enter device name:', payload || undefined);
}
localStorage.setItem('payload', payload);
startSearch(payload);
};
function printStatus(text) {
var resultEl = document.getElementById('status');
resultEl.innerText = text;
}
function printPayload(text) {
var resultEl = document.getElementById('payload');
resultEl.innerText = text;
}
function updateNearby(payloads) {
var resultEl = document.getElementById('nearby');
resultEl.innerHTML = "<div>Nearby devices:</div>"
for(let payload of payloads) {
resultEl.innerHTML += '<div class="nearby-item">' + payload + '</div>';
}
}
function startSearch(payload) {
var resonance = new Resonance('7c6dc857-94f6-434f-ab5c-98b46fdb1049');
resonance.startSearch(payload, function(error) {
if(error) {
printStatus('Error: ' + error);
} else {
printPayload('Current device name: \"' + payload + '\"')
printStatus('Search in progress...\n');
}
});
resonance.on('nearbyFound', function(nearby) {
nearbySet[nearby.payload] = nearby;
updateNearby(Object.keys(nearbySet));
});
resonance.on('nearbyLost', function (nearby) {
// TODO: handle removal
});
resonance.on('searchStopped', function(error) {
if(error) {
printStatus('Error: ' + error);
} else {
printStatus('Search stopped');
}
});
}
</script>
<script async defer src='https://cdn.getresonance.net/sdk/js/resonance-1.0.2.js'></script>
</body>
</html>