Duffer Derek

Current Path : /var/www/sitesecurity.bitkit.dk/httpdocs/src/lib/
Upload File :
Current File : /var/www/sitesecurity.bitkit.dk/httpdocs/src/lib/pwaInstall.ts

// PWA Installation Utility
// Global handler for beforeinstallprompt event

let globalDeferredPrompt: any = null;

// Global event listener for beforeinstallprompt
if (typeof window !== 'undefined') {
  window.addEventListener('beforeinstallprompt', (e: any) => {
    // console.log('Global beforeinstallprompt event fired', e);
    e.preventDefault();
    globalDeferredPrompt = e;
    
    // Dispatch custom event to notify components
    window.dispatchEvent(new CustomEvent('pwaInstallPromptAvailable', { detail: e }));
  });

  // Handle app installed event
  window.addEventListener('appinstalled', () => {
    // console.log('PWA was installed globally');
    globalDeferredPrompt = null;
    localStorage.setItem('pwa_installed', 'true');
    
    // Dispatch custom event
    window.dispatchEvent(new CustomEvent('pwaInstalled'));
  });
}

export const getGlobalDeferredPrompt = () => globalDeferredPrompt;

export const clearGlobalDeferredPrompt = () => {
  globalDeferredPrompt = null;
};

export const isPWAInstallSupported = (): boolean => {
  if (typeof window === 'undefined') return false;
  return 'onbeforeinstallprompt' in window;
};

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists