aboutsummaryrefslogtreecommitdiff
path: root/deploy/index.html
blob: b469c703288fc92b7c7abb5c149ad350a8aa456c (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<!doctype html>
<html style="overflow: hidden">
    <head>
        <title>Dash</title>
        <script src="https://api.mapbox.com/mapbox-gl-js/v3.0.1/mapbox-gl.js"></script>
        <link href="https://api.tiles.mapbox.com/mapbox-gl-js/v3.0.1/mapbox-gl.css" rel="stylesheet" />
        <link rel="preconnect" href="https://fonts.googleapis.com" />
        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
        <link
            href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Merriweather:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Roboto:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Nunito:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;0,1000;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900;1,1000&family=Roboto+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap"
            rel="stylesheet"
        />
        <link rel="shortcut icon" type="image/jpg" href="./assets/favicon.png" />
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous" />
        <script src="https://cdnjs.cloudflare.com/ajax/libs/typescript/3.3.1/typescript.min.js"></script>

        <script>
            function getCookie(cname) {
                var name = cname + '=';
                var ca = document.cookie.split(';');
                for (var i = 0; i < ca.length; i++) {
                    var c = ca[i];
                    while (c.charAt(0) == ' ') {
                        c = c.substring(1);
                    }
                    if (c.indexOf(name) == 0) {
                        return Number(c.substring(name.length, c.length));
                    }
                }
                return 3000;
            }
        </script>
        <style>
            .dash-loader {
                display: flex;
                align-content: center;
                justify-content: center;
                background-color: #bdddf5;
                transition: 0.3s;
                z-index: 10;
                z-index: 10;
                width: 100%;
                height: 100%;
            }

            .dash-loader-container {
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                align-content: center;
            }

            .dash-progress-bar {
                width: 200px;
                height: 5px;
                align-self: center;
                margin-top: 20px;
                background-color: #ececec;
                border-radius: 5px;
                overflow: hidden;
            }

            .dash-progress {
                width: 0%;
                height: 20px;
                background-color: #4476f7;
                transition: 0.1s;
            }

            .dash-animation-container {
                width: fit-content;
                height: fit-content;
                padding: 20px;
                display: flex;
                align-items: center;
                justify-content: center;
                border-radius: 100%;
                background-color: #4476f7;
                justify-self: center;
            }

            .dash-loader-text {
                font-size: 15px;
                font-family: 'Roboto';
                font-weight: 400;
                text-align: center;
                color: #4476f7;
                user-select: none;
                -webkit-user-select: none;
            }

            .dash-d-path {
                stroke-dasharray: 1000;
                stroke-dashoffset: 1000;
                animation: dash-d-path 3s linear infinite;
            }

            @keyframes dash-d-path {
                0% {
                    stroke-dashoffset: 1000;
                }

                20% {
                    stroke-dashoffset: 0;
                }

                70% {
                    stroke-dashoffset: 0;
                }

                90% {
                    stroke-dashoffset: 1000;
                }

                100% {
                    stroke-dashoffset: 1000;
                }
            }
        </style>
    </head>

    <body style="display: flex; user-select: none" id="dash-body">
        <div class="dash-loader" id="loader">
            <div class="dash-loader-container">
                <div class="dash-animation-container">
                    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100px" height="100px" viewBox="0 0 250 350">
                        <path
                            class="dash-d-path"
                            fill-rule="evenodd"
                            stroke="#ececec"
                            stroke-width="30px"
                            stroke-linecap="butt"
                            stroke-linejoin="miter"
                            fill="none"
                            d="M196.500,18.500 C195.888,79.462 194.655,160.273 197.500,195.500 C198.117,203.144 199.664,225.773 189.500,246.500 C183.949,257.819 175.192,268.535 163.500,277.500 C147.404,289.842 133.006,294.212 121.500,295.500 C106.618,297.166 92.057,294.673 79.500,288.500 C68.970,283.324 58.384,274.780 49.500,261.500 C39.958,247.237 35.188,230.375 35.500,213.500 C35.760,199.463 39.572,185.692 46.500,173.500 C55.433,157.780 65.945,148.829 75.500,143.500 C85.352,138.005 98.187,134.141 114.500,134.500 C128.982,134.819 143.177,139.076 155.500,146.500 C186.160,164.973 196.208,196.242 197.500,216.500 C197.663,219.061 197.578,222.985 197.500,226.500 C197.092,244.967 195.719,262.030 195.500,280.500 C195.460,283.898 195.500,293.783 195.500,300.500 C195.500,304.834 195.500,309.189 195.500,313.500 "
                        />
                    </svg>
                </div>
                <div class="dash-progress-bar">
                    <div id="dash-progress" class="dash-progress"></div>
                    <script>
                        let load = getCookie('loadtime');
                        document.startLoad = Date.now();
                        console.log('Last Load = ' + load);
                        let dashmesg = (width, msg) => {
                            if (document.getElementById('dash-progress')) document.getElementById('dash-progress').style.width = width;
                            if (document.getElementById('dash-progress')) document.getElementById('dash-loader-text').innerHTML = msg;
                        };
                        // setTimeout(() => dashmesg("10%", "Loading Dash..."), load / 10);
                        // setTimeout(() => dashmesg("33%", "Preparing dashboards..."), load / 3);
                        // setTimeout(() => dashmesg("50%", "Initializing scripts..."), load / 2);
                        // setTimeout(() => dashmesg("75%", "Fetching documents..."), load / 4 * 3);
                        // setTimeout(() => dashmesg("100%", "Finalising setup..."), load);
                    </script>
                </div>
                <div id="dash-loader-text" class="dash-loader-text">Loading Dash...</div>
            </div>
        </div>
        <!-- <script src="https://hypothes.is/embed.js" async></script> -->
        <div id="root" style="position: absolute; width: 100%; height: 100%; overflow: hidden"></div>
        <script src="/bundle.js"></script>
    </body>
</html>