UNPKG

everywherebible

Version:

A Bible app for slow connections

45 lines (36 loc) 1.47 kB
import createHistory from 'history/createBrowserHistory'; import React from 'react'; import {render} from 'react-dom'; import {createStore} from 'redux'; import {enableFocusMode} from './actions'; import {locationToReference} from './data/model'; import {updateStoreWithPassageText} from './data/fetcher'; import preferenceTracker, {populateStoreWithPreferences} from './data/preferences'; import recentReferenceTracker from './data/recent-reference-tracker'; import reducer, {DEFAULT} from './reducer'; import registerServiceWorker from './service-worker/register'; import App from './ui/app'; import {READ_PATH_RE} from './ui/nav'; import './ui/normalize.css'; import './ui/index.css'; const store = createStore(reducer, DEFAULT); const history = createHistory(); if (sessionStorage.redirect) { history.replace(sessionStorage.redirect); delete sessionStorage.redirect; } history.listen((location, action) => READ_PATH_RE.exec(location.pathname)? updateStoreWithPassageText(store, locationToReference(location)) : store.dispatch(enableFocusMode(false))); populateStoreWithPreferences(store.dispatch).then(preferences => { render( <App store={store} history={history}/>, document.getElementById('root')); if (READ_PATH_RE.exec(window.location.pathname)) updateStoreWithPassageText(store, locationToReference(window.location)); preferenceTracker(store, preferences); }); recentReferenceTracker(store); registerServiceWorker();