<!DOCTYPE html>
<html>

  <head>
    <% if (process.env.IS_ANDROID) { %>
      <!-- 🔧🐒 -->
      <script>
        window.ofetch = window.fetch
        window.fetch = async (...args) => {
          if (typeof args[0] === 'string' && args[0].startsWith('file://')) {
            // forward to xml http request
            const response = await new Promise((resolve, reject) => {
              const req = new XMLHttpRequest()
              req.responseType = 'arraybuffer'
              req.onload = () => {
                resolve(new Response(req.response, { status: req.status, headers: { 'Content-Type': req.getResponseHeader('content-type') } }))
              }
              req.onerror = (error) => {
                reject(error)
              }
              req.open('GET', args[0])
              req.send()
            })
            return response
          }
          return await window.ofetch(...args)
        }
      </script>
    <% } %>
    <meta charset="utf-8" />
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0" />
    <% if (!process.env.IS_ELECTRON && !process.env.IS_ANDROID) { %>
    <link rel="manifest" href="./static/manifest.webmanifest" />
    <link rel="shortcut icon" href="static/icon.ico" />
    <% } %>
    <title></title>
  </head>

  <body>
    <div id="app"></div>
    <% if (process.env.IS_ELECTRON) { %>
    <iframe
      id="sigFrame"
      src="<%= sigFrameSrc %>"
      csp="default-src 'none'; script-src '<%= sigFrameCspHash %>' 'unsafe-eval'"
      sandbox="allow-scripts"
      height="1"
      width="1"
      style="display: none; pointer-events: none"
      tabindex="-1"
    ></iframe>
    <% } else { %>
    <script>
    // This is the service worker with the Advanced caching

    // Add this below content to your HTML page, or add the js file to your page at the very top to register service worker

    // Check compatibility for the browser we're running this in
    if ("serviceWorker" in navigator) {
      if (navigator.serviceWorker.controller) {
        console.log("[PWA Builder] active service worker found, no need to register");
      } else {
        // Register the service worker
        navigator.serviceWorker
          .register("pwabuilder-sw.js", {
            scope: "./"
          })
          .then(function (reg) {
            console.log("[PWA Builder] Service worker has been registered for scope: " + reg.scope);
          });
      }
    }
    </script>
    <% } %>
    <!-- webpack builds are automatically injected -->
  </body>

</html>
