import {setGlobal, useGlobal} from "reactn"; import {fetchGet} from "../Helpers/fetcher"; import {useEffect} from "react"; setGlobal({ lights: null, }); function useLights() { const [lights, setLights] = useGlobal("lights"); function reloadLights() { setLights(null); fetchGet("/light/").then(({error, data}) => { if (error !== null) { console.error(error); return; } setLights(data); }); } useEffect(() => { if (lights === null) { reloadLights(); } }, []); function lightsByBridge(bridgeId) { if (lights === null) { return null; } return lights.filter(light => light.bridgeId === bridgeId); } return {lights, lightsByBridge, reloadLights}; } export default useLights;