service worker

This commit is contained in:
cupcakearmy
2019-05-27 20:18:26 +02:00
parent 4b566cce32
commit c299177f2c
4 changed files with 125 additions and 4 deletions

View File

@@ -1,4 +1,4 @@
import React, { useEffect } from 'react'
import React, { useEffect, useState } from 'react'
export const useLocalStorageWatcher = (fn) => {
@@ -9,4 +9,28 @@ export const useLocalStorageWatcher = (fn) => {
window.removeEventListener('storage', fn)
}
}, [])
}
export const editableWhenOnline = () => {
const [online, setOnline] = useState(window.navigator.onLine)
useEffect(() => {
const onlineHandler = () => setOnline(true)
const offlineHandler = () => setOnline(false)
window.addEventListener('online', onlineHandler)
window.addEventListener('offline', offlineHandler)
return () => {
window.removeEventListener('online', onlineHandler)
window.removeEventListener('offline', offlineHandler)
}
}, [])
useEffect(() => {
const elements = window.document.querySelectorAll('input, button')
for (const element of elements)
element.disabled = !online
}, [online])
return online
}