summaryrefslogtreecommitdiff
path: root/index.html
blob: d3e66aa67b53732b9e50e9933fc935a7ef4d51c8 (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
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
<!doctype html>
<html>
    <head>
        <title>Vainsocial backend status</title>
    </head>
    <body>
        <form id="update-form">
            <input type="text">
            <input type="submit" value="Update">
        </form>

        <ul id="updates"></ul>
        <script src="https://cdn.jsdelivr.net/sockjs/1/sockjs.min.js"></script>
        <script type="text/javascript" src="/js/webstomp.min.js"></script>
        <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
        <script>
            // fallback (TODO)
            //var sock = SockJS("http://localhost:15674/stomp");
            //var client = webstomp.over(sock);
            let client = webstomp.client("ws://localhost:15674/ws");
            client.connect("web", "web", () => {
                $("#updates").append(
                    $("<li>")
                    .text("connected to socket")
                    .css("color", "purple")
                );
            }, (err) => {
                $("#updates").append(
                    $("<li>")
                    .text("error connecting to socket: " + err)
                    .css("color", "red")
                );
            });
            $("#update-form").submit(function(e) {
                let name = $("input:first").val();
                $.get("/api/player/name/" + name).done(function() {
                    $("#updates").append(
                        $("<li>")
                        .text(name + ": found")
                        .css("color", "green")
                    );
                    client.subscribe("/topic/" + name, (msg) => {
                        $("#updates").append(
                            $("<li>")
                            .text(msg.body)
                            .css("color", "grey")
                        );

                        if (msg.body == "process_commit")  {
                            $("#updates").append(
                                $("<li>")
                                .text(name + ": new match(es) available")
                                .css("color", "orange")
                            );
                        }
                        if (msg.body == "compile_commit")  {
                            $("#updates").append(
                                $("<li>")
                                .text(name + ": player profile stats updated")
                                .css("color", "orange")
                            );
                        }

                        msg.ack();
                    }, {"ack": "client"});
                }).fail(function() {
                    $("#updates").append(
                        $("<li>")
                        .text(name + ": not found")
                        .css("color", "red")
                    );
                });
                e.preventDefault();
            });
        </script>
    </body>
</html>