index.html 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <link rel="icon" type="image/svg+xml" href="/favicon.svg?v=pd1" />
  6. <link rel="icon" type="image/png" href="/favicon.png?v=pd1" />
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, viewport-fit=cover" />
  8. <title>PilotDeck</title>
  9. <!-- PWA Manifest -->
  10. <link rel="manifest" href="/manifest.json" crossorigin="use-credentials" />
  11. <!-- iOS Safari PWA Meta Tags -->
  12. <meta name="mobile-web-app-capable" content="yes" />
  13. <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
  14. <meta name="apple-mobile-web-app-title" content="PilotDeck" />
  15. <!-- iOS Safari Icons -->
  16. <link rel="apple-touch-icon" sizes="152x152" href="/icons/icon-152x152.png?v=pd1" />
  17. <link rel="apple-touch-icon" sizes="180x180" href="/icons/icon-192x192.png?v=pd1" />
  18. <!-- Theme Color -->
  19. <meta name="theme-color" content="#ffffff" />
  20. <meta name="msapplication-TileColor" content="#ffffff" />
  21. <!-- Prevent zoom on iOS -->
  22. <meta name="format-detection" content="telephone=no" />
  23. </head>
  24. <body>
  25. <div id="root"></div>
  26. <script type="module" src="/src/main.jsx"></script>
  27. <!-- Service Worker Registration -->
  28. <script>
  29. if ('serviceWorker' in navigator) {
  30. window.addEventListener('load', () => {
  31. navigator.serviceWorker.register('/sw.js')
  32. .then(registration => {
  33. console.log('SW registered: ', registration);
  34. })
  35. .catch(registrationError => {
  36. console.log('SW registration failed: ', registrationError);
  37. });
  38. });
  39. }
  40. </script>
  41. </body>
  42. </html>