owncast/web/components/workers/PushNotificationServiceWorker/PushNotificationServiceWorker.tsx

28 lines
669 B
TypeScript
Raw Permalink Normal View History

/* eslint-disable react/no-danger */
import { FC, useEffect } from 'react';
export const PushNotificationServiceWorker: FC = () => {
const add = () => {
navigator.serviceWorker.register('/serviceWorker.js').then(
registration => {
console.debug('Service Worker registration successful with scope: ', registration.scope);
},
err => {
console.error('Service Worker registration failed: ', err);
},
);
};
useEffect(() => {
if ('serviceWorker' in navigator) {
window.addEventListener('load', add);
}
return () => {
window.removeEventListener('load', add);
};
}, []);
return null;
};