aboutsummaryrefslogtreecommitdiff
path: root/web/ui/src/app.html
blob: beb1a428d7a96d96d5e0c51900270925924b9f44 (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
<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="description" content="Tidy Index — dashboard" />
    <link rel="icon" type="image/svg+xml" href="%sveltekit.assets%/favicon.svg" />

    <!-- Preload the three self-hosted webfonts so the browser fetches
         them in parallel with the CSS, not after it. -->
    <link rel="preload" href="%sveltekit.assets%/fonts/fraunces-latin.woff2" as="font" type="font/woff2" crossorigin />
    <link rel="preload" href="%sveltekit.assets%/fonts/inter-latin.woff2" as="font" type="font/woff2" crossorigin />
    <link rel="preload" href="%sveltekit.assets%/fonts/jetbrains-mono-latin.woff2" as="font" type="font/woff2" crossorigin />

    <!-- Prevent FOUT: hide the body until webfonts are loaded, with a
         1500ms safety timeout so the page never stays blank forever. -->
    <style>html.fonts-pending body { visibility: hidden; }</style>
    <script>
      (function () {
        var d = document;
        d.documentElement.classList.add('fonts-pending');
        var done = false;
        function reveal() {
          if (done) return;
          done = true;
          d.documentElement.classList.remove('fonts-pending');
        }
        if (d.fonts && d.fonts.ready && typeof d.fonts.ready.then === 'function') {
          d.fonts.ready.then(reveal);
        } else {
          reveal();
        }
        setTimeout(reveal, 1500);
      })();
    </script>

    %sveltekit.head%
  </head>
  <body data-sveltekit-preload-data="hover">
    <div style="display: contents">%sveltekit.body%</div>
  </body>
</html>