1
0
mirror of https://github.com/ascribe/onion.git synced 2024-06-28 08:37:59 +02:00
onion/js/routes.js

96 lines
3.5 KiB
JavaScript
Raw Normal View History

'use strict';
import React from 'react';
2015-10-02 09:48:51 +02:00
import { Route } from 'react-router';
2015-05-18 09:56:16 +02:00
import getPrizeRoutes from './components/whitelabel/prize/prize_routes';
import getWalletRoutes from './components/whitelabel/wallet/wallet_routes';
import App from './components/ascribe_app';
import PieceList from './components/piece_list';
2015-07-08 22:54:07 +02:00
import PieceContainer from './components/ascribe_detail/piece_container';
import EditionContainer from './components/ascribe_detail/edition_container';
2015-06-20 16:43:18 +02:00
import LoginContainer from './components/login_container';
2015-07-17 15:02:44 +02:00
import LogoutContainer from './components/logout_container';
2015-06-20 16:43:18 +02:00
import SignupContainer from './components/signup_container';
2015-06-15 16:56:17 +02:00
import PasswordResetContainer from './components/password_reset_container';
2015-06-20 16:43:18 +02:00
import ContractSettings from './components/ascribe_settings/contract_settings';
import SettingsContainer from './components/ascribe_settings/settings_container';
2015-06-25 14:39:39 +02:00
import CoaVerifyContainer from './components/coa_verify_container';
import ErrorNotFoundPage from './components/error_not_found_page';
2015-06-17 17:48:52 +02:00
import RegisterPiece from './components/register_piece';
2015-10-06 10:20:36 +02:00
import ProxyRoute from './components/ascribe_routes/proxy_route';
import RedirectProxyHandler from './components/ascribe_routes/proxy_routes/redirect_proxy_handler';
2015-10-06 10:20:36 +02:00
import AppConstants from './constants/application_constants';
2015-05-18 09:56:16 +02:00
let baseUrl = AppConstants.baseUrl;
let COMMON_ROUTES = (
<Route path={baseUrl} component={App}>
<ProxyRoute
path="login"
proxyHandler={RedirectProxyHandler({to: '/collection', when: 'loggedIn'})}
component={LoginContainer} />
2015-10-07 09:39:30 +02:00
<ProxyRoute
path="register_piece"
proxyHandler={RedirectProxyHandler({to: '/login', when: 'loggedOut'})}
component={RegisterPiece}
headerTitle="+ NEW WORK"/>
<ProxyRoute
path="collection"
proxyHandler={RedirectProxyHandler({to: '/login', when: 'loggedOut'})}
component={PieceList}
headerTitle="COLLECTION"/>
2015-10-07 09:39:30 +02:00
<ProxyRoute
path="signup"
proxyHandler={RedirectProxyHandler({to: '/collection', when: 'loggedIn'})}
component={SignupContainer} />
<ProxyRoute
path="logout"
proxyHandler={RedirectProxyHandler({to: '/', when: 'loggedOut'})}
component={LogoutContainer}/>
<Route path="pieces/:pieceId" component={PieceContainer} />
<Route path="editions/:editionId" component={EditionContainer} />
2015-10-07 09:39:30 +02:00
<ProxyRoute
path="password_reset"
proxyHandler={RedirectProxyHandler({to: '/collection', when: 'loggedIn'})}
component={PasswordResetContainer} />
<ProxyRoute
path="settings"
proxyHandler={RedirectProxyHandler({to: '/login', when: 'loggedOut'})}
component={SettingsContainer}/>
<ProxyRoute
path="contract_settings"
proxyHandler={RedirectProxyHandler({to: '/login', when: 'loggedOut'})}
component={ContractSettings}/>
<Route path="coa_verify" component={CoaVerifyContainer} />
<Route path="*" component={ErrorNotFoundPage} />
2015-05-18 18:00:12 +02:00
</Route>
);
function getRoutes(type, subdomain) {
let routes = null;
2015-07-14 17:41:57 +02:00
if (type === 'prize') {
routes = getPrizeRoutes(COMMON_ROUTES, subdomain);
} else if(type === 'wallet') {
routes = getWalletRoutes(COMMON_ROUTES, subdomain);
} else {
routes = COMMON_ROUTES;
}
return routes;
}
export default getRoutes;