]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/index.html
Remove suppressImplicitAnyIndexErrors
[github/Chocobozzz/PeerTube.git] / client / src / index.html
index 83f4cc8f09d26700bf7efcb19cabb1e9996b850a..3c42114b0e1e75b38fc8d5f47cb993c64ccf56cc 100644 (file)
@@ -1,17 +1,90 @@
+<!DOCTYPE html>
 <html>
   <head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <meta name="theme-color" content="#fff" />
+    <meta property="og:platform" content="PeerTube" />
+    <!-- Web Manifest file -->
+    <link rel="manifest" href="/manifest.webmanifest?[manifestContentHash]">
+
+    <link rel="icon" type="image/png" href="/client/assets/images/favicon.png?[faviconContentHash]" />
+    <link rel="apple-touch-icon" href="/client/assets/images/icons/icon-144x144.png" sizes="144x144" />
+    <link rel="apple-touch-icon" href="/client/assets/images/icons/icon-192x192.png" sizes="192x192" />
+
+    <!-- logo background-image -->
+    <style type="text/css">
+      .icon-logo {
+        background-image: url(/client/assets/images/logo.svg?[logoContentHash]);
+      }
+    </style>
+
+    <!-- base url -->
     <base href="/">
 
-    <title>PeerTube</title>
+    <!-- /!\ The following comment is used by the server to prerender some tags /!\ -->
 
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <!-- title tag -->
+    <!-- description tag -->
+    <!-- custom css tag -->
+    <!-- meta tags -->
+    <!-- server config -->
 
-    <link rel="icon" href="/client/assets/favicon.ico" />
+    <!-- /!\ Do not remove it /!\ -->
   </head>
 
   <!-- 3. Display the application -->
-  <body>
-    <my-app>Loading...</my-app>
+  <body id="custom-css">
+
+    <noscript class="alert alert-light" role="alert">
+      <h1 class="alert-heading">PeerTube</h1>
+      <h2 class="mb-3">JavaScript required</h2>
+
+      <p>It seems JavaScript is either blocked or disabled in your web browser. We totally get that. However, this page will not work without it.</p>
+      <p>If you are concerned about the security and privacy (or lack thereof) of JavaScript web applications, you might want to review the source code of the instance you are trying to access, or look for security audits.</p>
+
+      <hr>
+
+      <h2 class="mb-3">Your options</h2>
+
+      <ul>
+        <li>Allow JavaScript in your browser</li>
+        <li>Use one of the <a class="link-orange" href="https://framagit.org/framasoft/peertube/documentation/-/raw/master/use-third-party-application.md" target="_blank">third-party applications</a> to browse this instance</li>
+        <li>Review the source code on <a class="link-orange" href="https://github.com/Chocobozzz/PeerTube" target="_blank">GitHub</a> or <a class="link-orange" href="https://framagit.org/framasoft/peertube/PeerTube" target="_blank">Framasoft's GitLab</a>, and ask for modifications from the instance owner.
+      </ul>
+    </noscript>
+
+    <div id="incompatible-browser" class="alert alert-light" role="alert" style="display: none">
+      <h1 class="alert-heading">PeerTube</h1>
+      <h2 class="mb-3">Incompatible browser</h2>
+
+      <p>We are sorry but it seems that PeerTube is not compatible with your web browser.</p>
+
+      <hr>
+      <p>Please try with the latest version of <a class="link-orange" href="https://www.mozilla.org" target="_blank">Mozilla Firefox</a>.</p>
+      <p class="mb-0">If you think this is a mistake, please <a class="link-orange" href="https://github.com/Chocobozzz/PeerTube/issues/new" target="_blank">report it</a>.</p>
+    </div>
+
+    <script type="text/javascript">
+      function displayIncompatibleBrowser () {
+        var elem = document.getElementById('incompatible-browser')
+        if (elem.className.indexOf('browser-ok') === -1) {
+          elem.style.display = 'block'
+        }
+      }
+
+      window.onerror = function () {
+        displayIncompatibleBrowser()
+      }
+
+      if (/MSIE|Trident/.test(window.navigator.userAgent) ) {
+        displayIncompatibleBrowser()
+      }
+    </script>
+
+    <my-app role="main">
+    </my-app>
+
   </body>
 </html>