<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <title>Mindspace</title>
    <meta name="description" content="Mindspace - AI Voice Assistant by GoodMind" />
    <meta name="author" content="GoodMind" />

    <!-- Favicon / Icons -->
    <link rel="icon" href="/mindspace_icon.jpg" type="image/jpeg" />
    <link rel="apple-touch-icon" href="/mindspace_icon.jpg" />

    <meta property="og:title" content="Mindspace" />
    <meta property="og:description" content="Mindspace - AI Voice Assistant by GoodMind" />
    <meta property="og:type" content="website" />
    <meta property="og:image" content="/mindspace_icon.jpg" />

    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:site" content="@goodmind" />
    <meta name="twitter:image" content="/mindspace_icon.jpg" />

    <!-- PWA Meta Tags -->
    <!-- Note: apple-mobile-web-app-capable is deprecated but kept for iOS compatibility -->
    <meta name="theme-color" content="#556B2F" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="default" />
    <meta name="apple-mobile-web-app-title" content="Mindspace" />
    <meta name="mobile-web-app-capable" content="yes" />
    <meta name="msapplication-TileColor" content="#556B2F" />
    <meta name="msapplication-tap-highlight" content="no" />
    
    <!-- PWA Icons -->
    <link rel="apple-touch-icon" href="/mindspace_icon.jpg" />
    <link rel="icon" type="image/jpeg" sizes="192x192" href="/mindspace_icon.jpg" />
    <link rel="icon" type="image/jpeg" sizes="512x512" href="/mindspace_icon.jpg" />
    
    <!-- PWA Manifest -->
    <link rel="manifest" href="/manifest.json" />
    
    <!-- WebView specific meta tags -->
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
    
    <!-- Security and compatibility -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="format-detection" content="telephone=no" />
    
    <!-- Cross-Origin headers for Firebase Auth popup compatibility -->
    <meta http-equiv="Cross-Origin-Opener-Policy" content="same-origin-allow-popups" />
    <meta http-equiv="Cross-Origin-Embedder-Policy" content="unsafe-none" />
    
    <!-- Content Security Policy for WebView compatibility -->
    <meta http-equiv="Content-Security-Policy" content="
      default-src 'self' 'unsafe-inline' 'unsafe-eval' data: blob:;
      script-src 'self' 'unsafe-inline' 'unsafe-eval' blob: data: https://*.11labs.io https://*.vercel.app https://*.googleapis.com https://apis.google.com https://checkout.razorpay.com https://cal.id https://*.cal.id https://cal.com https://*.cal.com https://www.googletagmanager.com https://cdn.onesignal.com https://onesignal.com https://api.onesignal.com https://datafa.st https://bat.bing.com;
      style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://cal.id https://*.cal.id https://cal.com https://*.cal.com https://onesignal.com https://*.onesignal.com;
      font-src 'self' https://fonts.gstatic.com https://cal.id https://*.cal.id https://cal.com https://*.cal.com;
      img-src 'self' data: blob: https:;
      media-src 'self' blob: https:;
      connect-src 'self' https://*.11labs.io https://*.vercel.app https://*.googleapis.com https://identitytoolkit.googleapis.com https://securetoken.googleapis.com https://apis.google.com https://checkout.razorpay.com https://*.razorpay.com https://api.razorpay.com https://api.groq.com https://cal.id https://*.cal.id https://cal.com https://*.cal.com https://www.googletagmanager.com https://www.google-analytics.com https://onesignal.com https://*.onesignal.com https://datafa.st https://bat.bing.com wss: ws:;
      frame-src 'self' https: https://checkout.razorpay.com https://cal.id https://*.cal.id https://cal.com https://*.cal.com;
    " />
    
    <!-- Datafa.st Analytics -->
    <script
      defer
      data-website-id="dfid_ubgfiJC6KNKaNcfuUWyyK"
      data-domain="www.mindspace.ai"
      src="https://datafa.st/js/script.js">
    </script>
    <script type="module" crossorigin src="/assets/index-CNYwA3BG.js"></script>
    <link rel="modulepreload" crossorigin href="/assets/vendor-B9B04VyU.js">
    <link rel="stylesheet" crossorigin href="/assets/index-CBeyWRzM.css">
  </head>

  <body>
    <!-- Google tag (gtag.js) -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-BCW4ZF87Q3"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
      gtag('config', 'G-BCW4ZF87Q3');
    </script>

    <!-- OneSignal SDK -->
    <script>
      (function() {
        const hostname = window.location.hostname;
        // Only load OneSignal on mindspace.ai (non-www)
        const isMindspaceDomain = hostname === 'mindspace.ai';
        
        if (isMindspaceDomain) {
          // Load OneSignal SDK only on mindspace.ai
          const script = document.createElement('script');
          script.src = 'https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js';
          script.defer = true;
          document.head.appendChild(script);
          
          // Initialize OneSignal after SDK loads
          window.OneSignalDeferred = window.OneSignalDeferred || [];
          OneSignalDeferred.push(async function(OneSignal) {
            await OneSignal.init({
              appId: "bfbe95c9-2549-4a54-846a-ad9f08e83228",
            });
            
            // Explicitly register OneSignal service worker (like Flutter app)
            if ('serviceWorker' in navigator) {
              try {
                const registration = await navigator.serviceWorker.register('/OneSignalSDKWorker.js', {
                  updateViaCache: 'none',
                  scope: '/'
                });
                console.log('✅ OneSignal Service Worker registered successfully:', registration.scope);
                
                // Check for updates periodically (every hour)
                setInterval(() => {
                  registration.update();
                }, 60 * 60 * 1000);
                
                // Handle service worker updates
                registration.addEventListener('updatefound', () => {
                  const newWorker = registration.installing;
                  if (newWorker) {
                    newWorker.addEventListener('statechange', () => {
                      if (newWorker.state === 'installed' && navigator.serviceWorker.controller) {
                        console.log('🔄 New OneSignal service worker available');
                      }
                    });
                  }
                });
              } catch (error) {
                console.warn('⚠️ OneSignal Service Worker registration failed:', error);
              }
            }
          });
        } else {
          // Create a mock OneSignal object to prevent errors on other domains
          window.OneSignal = {
            isPushNotificationsEnabled: () => Promise.resolve(false),
            getUserId: () => Promise.resolve(null),
            sendTags: () => Promise.resolve(),
            setEmail: () => Promise.resolve(),
            setExternalUserId: () => Promise.resolve(),
            removeExternalUserId: () => Promise.resolve(),
            registerForPushNotifications: () => Promise.resolve(),
            setSubscription: () => Promise.resolve(),
            on: () => {},
            Slidedown: {
              promptPush: () => Promise.resolve(false)
            }
          };
        }
      })();
    </script>

    <div id="root"></div>
    
    <!-- PWA Service Worker Registration -->
    <script>
      if ('serviceWorker' in navigator) {
        // Only register service worker in production
        const isProduction = window.location.hostname !== 'localhost' && 
                            window.location.hostname !== '127.0.0.1' &&
                            !window.location.hostname.includes('localhost');
        
        if (isProduction) {
          window.addEventListener('load', () => {
            navigator.serviceWorker.register('/sw.js')
              .then((registration) => {
                console.log('✅ PWA Service Worker registered successfully:', registration.scope);
              })
              .catch((error) => {
                console.warn('⚠️ Service Worker registration failed:', error);
              });
          });
        } else {
          // Unregister any existing service workers in development
          navigator.serviceWorker.getRegistrations().then((registrations) => {
            registrations.forEach((registration) => {
              registration.unregister();
            });
          });
        }
      }
    </script>
  </body>
</html>
