-
Notifications
You must be signed in to change notification settings - Fork 0
/
transparency.html
56 lines (50 loc) · 1.55 KB
/
transparency.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
---
title: Transparency
permalink: /transparency/
layout: single
---
<script async>
const data = (async function() {
const r = await fetch('https://api.douile.com/api/gamestatus/transparency');
return r.json();
})();
window.addEventListener('DOMContentLoaded', async function() {
const d = await data;
const table = document.querySelector('#expense-table');
const earnings = table.querySelector('#earnings');
const expenses = table.querySelector('#expenses');
const total = table.querySelector('#total');
const formatter = new Intl.NumberFormat(undefined, {
currency: 'USD',
style: 'currency',
});
let totalAmount = 0;
for (const earning of d.earnings) {
const row = earnings.insertRow();
row.insertCell().innerText = earning.name;
row.insertCell().innerText = formatter.format(earning.amount_cents/100);
totalAmount += earning.amount_cents;
}
for (const expense of d.costs) {
const row = expenses.insertRow();
row.insertCell().innerText = expense.name;
row.insertCell().innerText = formatter.format(expense.amount_cents/100);
totalAmount -= expense.amount_cents;
}
total.innerText = formatter.format(totalAmount/100);
}, { once: true });
</script>
<p>Listed are our earnings/expenses for the last month (tax not included).</p>
<table id="expense-table">
<thead>
<tr><th>Earning</th><th>Amount</th></tr>
</thead>
<tbody id="earnings"/>
<thead>
<tr><th>Expense</th><th>Amount</th></tr>
</thead>
<tbody id="expenses"/>
<thead>
<tr><th>Total</th><th id="total"/></tr>
</thead>
</table>