UNPKG

orb-ui-firebase

Version:

Firebase with redux

31 lines (27 loc) 890 B
import * as types from './types'; import { logError } from '../errors/actions'; export function onConnectionStateChange(isConnected) { return { type: types.ON_CONNECTION_STATE_CHANGED, payload: { isConnected: isConnected } }; } export function initConnection(firebaseApp, onChange) { return function (dispatch) { firebaseApp.database().ref('.info/connected').on('value', function (snapshot) { dispatch(onConnectionStateChange(snapshot.val())); if (onChange !== undefined && onChange instanceof Function) { onChange(snapshot.val()); } }, function (err) { console.error(err); dispatch(logError('.info/connected', err)); }); }; } export function unsubscribeConnection(firebaseApp) { return function (dispatch) { firebaseApp.database().ref('.info/connected').off(); dispatch(onConnectionStateChange(false)); }; }