-
Notifications
You must be signed in to change notification settings - Fork 4
/
index.js
46 lines (32 loc) · 1.07 KB
/
index.js
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
const url = Khajana.buildApiUrl({ random: true });
const $viewer = document.querySelector('.shabad-viewer');
fetch(url)
.then(r => r.json())
.then(r => {
if (r.error) {
return Promise.reject(r);
}
$viewer.dataset.error = "";
$viewer.dataset.loading = "true";
const {
shabadinfo: { pageno: ang, source: { english: granth }, writer: { english: author } },
gurbani: lines
} = r;
$viewer.querySelector('.author').innerText = author;
$viewer.querySelector('.ang').innerText = ang;
$viewer.querySelector('.granth').innerText = granth;
$viewer.querySelector('.bani').innerHTML = lines
.map(({ shabad }) => `
<div class='shabad-line'>
<p>${shabad.gurbani.unicode}</p>
<blockquote>${shabad.translation.english.ssk}</blockquote>
</div>
`)
.join('');
$viewer.dataset.loading = "false";
})
.catch(err => {
console.error(err);
$viewer.dataset.loading = "false";
$viewer.dataset.error = `Sorry, we are facing troubles in getting your shabad`;
});