init
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
/**
|
||||
* Register a service worker for the Progressive Web App
|
||||
*/
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker
|
||||
.register(SW_URI)
|
||||
.then(e => navigator.serviceWorker.ready)
|
||||
.then((r) => {
|
||||
console.log('Service Worker Registered');
|
||||
});
|
||||
|
||||
let refreshing = false;
|
||||
navigator.serviceWorker.addEventListener('controllerchange', () => {
|
||||
if (refreshing) return;
|
||||
refreshing = true;
|
||||
window.location.reload();
|
||||
});
|
||||
|
||||
const channel = new BroadcastChannel('messages');
|
||||
channel.addEventListener('message', event => {
|
||||
Notif.snackbarClear();
|
||||
window.focus();
|
||||
|
||||
switch (event.data.type) {
|
||||
case 'call':
|
||||
break;
|
||||
case 'call_reject':
|
||||
VisioUtils.cancelLobby(event.data.data.fullJid, event.data.data.callId);
|
||||
break;
|
||||
case 'space_chat':
|
||||
MovimUtils.reload(event.data.data.server, event.data.data.node, event.data.data.room);
|
||||
break;
|
||||
case 'chat':
|
||||
Search.chat(event.data.data.jid, event.data.data.muc);
|
||||
break;
|
||||
default:
|
||||
if (event.data.data.url) {
|
||||
MovimUtils.reload(event.data.data.url);
|
||||
}
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
MovimEvents.registerWindow('loaded', 'movimbase', () => {
|
||||
const pwaButton = document.querySelector('#pwa');
|
||||
|
||||
if (pwaButton) {
|
||||
window.addEventListener('beforeinstallprompt', (e) => {
|
||||
e.preventDefault();
|
||||
deferredPrompt = e;
|
||||
pwaButton.style.display = 'initial';
|
||||
|
||||
pwaButton.addEventListener('click', () => {
|
||||
deferredPrompt.prompt();
|
||||
|
||||
deferredPrompt.userChoice.then((choiceResult) => {
|
||||
if (choiceResult.outcome === 'accepted') {
|
||||
console.log('Movim App installed');
|
||||
}
|
||||
|
||||
deferredPrompt = null;
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user