'use strict'; import React from 'react'; import { Route, IndexRoute } from 'react-router'; import SPLanding from './simple_prize/components/prize_landing'; import SPLoginContainer from './simple_prize/components/prize_login_container'; import SPSignupContainer from './simple_prize/components/prize_signup_container'; import SPRegisterPiece from './simple_prize/components/prize_register_piece'; import SPPieceList from './simple_prize/components/prize_piece_list'; import SPPieceContainer from './simple_prize/components/ascribe_detail/prize_piece_container'; import SPSettingsContainer from './simple_prize/components/prize_settings_container'; import SPApp from './simple_prize/prize_app'; import PRApp from './portfolioreview/pr_app'; import PRLanding from './portfolioreview/components/pr_landing'; import PRRegisterPiece from './portfolioreview/components/pr_register_piece'; import EditionContainer from '../../ascribe_detail/edition_container'; import LogoutContainer from '../../logout_container'; import PasswordResetContainer from '../../password_reset_container'; import CoaVerifyContainer from '../../coa_verify_container'; import ErrorNotFoundPage from '../../error_not_found_page'; import AuthProxyHandler from '../../../components/ascribe_routes/proxy_routes/auth_proxy_handler'; const ROUTES = { sluice: ( <Route path='/' component={SPApp}> <IndexRoute component={SPLanding} /> <Route path='login' component={AuthProxyHandler({to: '/collection', when: 'loggedIn'})(SPLoginContainer)} /> <Route path='logout' component={AuthProxyHandler({to: '/', when: 'loggedOut'})(LogoutContainer)}/> <Route path='signup' component={AuthProxyHandler({to: '/collection', when: 'loggedIn'})(SPSignupContainer)} /> <Route path='password_reset' component={AuthProxyHandler({to: '/collection', when: 'loggedIn'})(PasswordResetContainer)} /> <Route path='settings' component={AuthProxyHandler({to: '/login', when: 'loggedOut'})(SPSettingsContainer)}/> <Route path='register_piece' component={AuthProxyHandler({to: '/login', when: 'loggedOut'})(SPRegisterPiece)} headerTitle='+ NEW WORK'/> <Route path='collection' component={AuthProxyHandler({to: '/login', when: 'loggedOut'})(SPPieceList)} headerTitle='COLLECTION'/> <Route path='pieces/:pieceId' component={SPPieceContainer} /> <Route path='editions/:editionId' component={EditionContainer} /> <Route path='verify' component={CoaVerifyContainer} /> <Route path='*' component={ErrorNotFoundPage} /> </Route> ), portfolioreview: ( <Route path='/' component={PRApp}> <IndexRoute component={PRLanding} /> <Route path='register_piece' component={AuthProxyHandler({to: '/login', when: 'loggedOut'})(PRRegisterPiece)} headerTitle='+ NEW WORK'/> <Route path='login' component={AuthProxyHandler({to: '/register_piece', when: 'loggedIn'})(SPLoginContainer)} /> <Route path='logout' component={AuthProxyHandler({to: '/', when: 'loggedOut'})(LogoutContainer)} /> <Route path='signup' component={AuthProxyHandler({to: '/register_piece', when: 'loggedIn'})(SPSignupContainer)} /> <Route path='password_reset' component={AuthProxyHandler({to: '/register_piece', when: 'loggedIn'})(PasswordResetContainer)} /> <Route path='pieces/:pieceId' component={SPPieceContainer} /> <Route path='*' component={ErrorNotFoundPage} /> </Route> ) }; function getRoutes(commonRoutes, subdomain) { if(subdomain in ROUTES) { return ROUTES[subdomain]; } else { throw new Error('Subdomain wasn\'t specified in the wallet app.'); } } export default getRoutes;