import { Route, IndexRoute } from 'react-router';
import React from 'react';
import PropTypes from 'prop-types';
import MediaQuery from 'react-responsive';
import App from './modules/App/App';
import IDEView from './modules/IDE/pages/IDEView';
import MobileIDEView from './modules/IDE/pages/MobileIDEView';
import MobileSketchView from './modules/Mobile/MobileSketchView';
import MobilePreferences from './modules/Mobile/MobilePreferences';
import FullView from './modules/IDE/pages/FullView';
import LoginView from './modules/User/pages/LoginView';
import SignupView from './modules/User/pages/SignupView';
import ResetPasswordView from './modules/User/pages/ResetPasswordView';
import EmailVerificationView from './modules/User/pages/EmailVerificationView';
import NewPasswordView from './modules/User/pages/NewPasswordView';
import AccountView from './modules/User/pages/AccountView';
import CollectionView from './modules/User/pages/CollectionView';
import DashboardView from './modules/User/pages/DashboardView';
import createRedirectWithUsername from './components/createRedirectWithUsername';
import MobileDashboardView from './modules/Mobile/MobileDashboardView';
import { getUser } from './modules/User/actions';
import { stopSketch } from './modules/IDE/actions/ide';
import { userIsAuthenticated, userIsNotAuthenticated, userIsAuthorized } from './utils/auth';
const checkAuth = (store) => {
store.dispatch(getUser());
};
// const MobileFirstRoute = props => (
//
//
// {matches => (matches
// ? props.component(props)
// : props.fallback(props))}
//
// );
// MobileFirstRoute.propTypes = {
// path: PropTypes.string.isRequired,
// component: PropTypes.any.isRequired, // eslint-disable-line
// fallback: PropTypes.any.isRequired // eslint-disable-line
// };
// TODO: This short-circuit seems unnecessary - using the mobile navigator (future) should prevent this from being called
const onRouteChange = (store) => {
const path = window.location.pathname;
if (path.includes('/mobile/preview')) return;
store.dispatch(stopSketch());
};
const routes = store => (
{ onRouteChange(store); }}>
(
{matches => (matches
?
: )}
)}
/>
);
export default routes;