File size: 722 Bytes
3e35265
 
918c0c2
3e35265
918c0c2
3e35265
 
918c0c2
3e35265
918c0c2
3e35265
918c0c2
3e35265
918c0c2
 
 
3e35265
 
 
918c0c2
 
3e35265
 
 
918c0c2
3e35265
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
const status = document.getElementById("status");
const radios = document.querySelectorAll('input[name="mode"]');

async function request(method, body) {
    try {
        const resp = await fetch("/mode", {
            method,
            headers: { "Content-Type": "application/json" },
            body: body && JSON.stringify(body),
        });
        showMode((await resp.json()).mode);
    } catch (e) {
        status.textContent = "Backend error";
    }
}

function showMode(mode) {
    radios.forEach((r) => (r.checked = r.value === mode));
    status.textContent = `Tracking with: ${mode}`;
}

radios.forEach((r) =>
    r.addEventListener("change", () => request("POST", { mode: r.value }))
);

request("GET");