aboutsummaryrefslogtreecommitdiff
path: root/script.js
blob: 920b63953ae5fdff104da8943e7d751a4b7cfdef (plain)
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
/// <reference lib="dom" />

let idle_timer
function reset_idle() {
    if (idle_timer) clearTimeout(idle_timer)
    idle_timer = setTimeout(() => {
        if (window.location.pathname != "/" || window.location.search != "")
            window.location.href = "/"
        idle_timer = undefined
    }, 30 * 1000)
}

document.addEventListener("DOMContentLoaded", () => {
    reset_idle()
})
document.addEventListener("keydown", ev => {
    reset_idle()
    if (ev.ctrlKey || ev.altKey) return
    if (ev.code == "F5" || (ev.ctrlKey && ev.code == "KeyR"))
        return window.location.reload() // reimplement reload for electron usage
    if (!(document.activeElement instanceof HTMLInputElement)) {
        if (ev.code.startsWith("Digit")) {
            if (document.forms.buy_product)
                return document.forms.buy_product.pcode.value += ev.code.substring(5)
        } else if (ev.code == "Enter") {
            if (document.forms.buy_product)
                return document.forms.buy_product.submit()
            if (document.forms.user_creation)
                return document.forms.user_creation.submit()
        } else if (ev.code.startsWith("Key") || ev.code == "Space") {
            if (document.forms.user_creation)
                return document.forms.user_creation.create_user.value += ev.key
        } else if (ev.code == "Backspace") {
            if (document.forms.user_creation)
                return document.forms.user_creation.create_user.value = ""
        } else if (ev.code == "Escape") {
            window.location.href = "/"
            ev.preventDefault()
        }
    }
})
document.addEventListener("mousemove", () => reset_idle())
document.addEventListener("mousedown", () => reset_idle())