import React from "react"
import { render } from "react-dom"
import { Provider } from "react-redux"
import { Switch, Route} from 'react-router-dom'
import { createStore, combineReducers, applyMiddleware } from 'redux'
import thunk from "redux-thunk"
import {createLogger} from "redux-logger"
//import { ConnectedRouter, routerReducer, routerMiddleware, push } from 'react-router-redux'
import { routerMiddleware } from 'connected-react-router'
import { ConnectedRouter } from 'connected-react-router'
import isNode from "detect-node"
//import rootReducer from "./reducers"
import createRootReducer from './reducers'
import { createHashHistory } from 'history'
import createHistory from 'history/createBrowserHistory'
import App from "./components/container/App"
import LoginContainer from "./User/LoginContainer"
import RegisterContainer from "./User/RegisterContainer"
import ProfileContainer from "./User/ProfileContainer"
import BillingContainer from "./Billing/BillingContainer"
import Default from "./components/pure/Default"
import NavigationContainer from "./components/container/NavigationContainer"
import ConfirmEmailContainer from "./User/ConfirmEmailContainer"
import WaitConfirmEmailContainer from "./User/WaitConfirmEmailContainer"
import SentConfirmEmailContainer from "./User/SentConfirmEmailContainer"
import SendResetPasswordContainer from "./User/SendResetPasswordContainer"
import ResetPasswordContainer from "./User/ResetPasswordContainer"
import Restricted from "./components/container/Restricted"
import TermsContainer from "./User/TermsContainer"
import UpdatePlans from "./Plan/UpdatePlansContainer"
// Create a history of your choosing (we're using a browser history in this case)
const history = createHistory()
// Build the middleware for intercepting and dispatching navigation actions
const historyMiddleware = routerMiddleware(history)
let middleware = [
thunk,
historyMiddleware
]
// only add Redux-Logger on the client-side because it causes problems server-side.
if (!isNode) {
middleware.push(createLogger())
}
// Add the reducer to your store on the `router` key
// Also apply our middleware for navigating
const store = createStore(
createRootReducer(history),
applyMiddleware(thunk,
historyMiddleware, createLogger())
)
/*
*/
render(
, document.getElementById("app"))