1
0
mirror of https://github.com/ascribe/onion.git synced 2024-12-22 17:33:14 +01:00

Merge with main AD-1396 branch

This commit is contained in:
Brett Sun 2016-02-03 12:34:44 +01:00
commit 946d80e94f
17 changed files with 317 additions and 186 deletions

View File

@ -4,7 +4,6 @@ import React from 'react';
import classNames from 'classnames'; import classNames from 'classnames';
import { History } from 'react-router'; import { History } from 'react-router';
import Footer from './footer';
import GlobalNotification from './global_notification'; import GlobalNotification from './global_notification';
import AppConstants from '../constants/application_constants'; import AppConstants from '../constants/application_constants';
@ -15,14 +14,10 @@ export default function AppBase(App) {
displayName: 'AppBase', displayName: 'AppBase',
propTypes: { propTypes: {
children: React.PropTypes.element.isRequired,
history: React.PropTypes.object.isRequired, history: React.PropTypes.object.isRequired,
location: React.PropTypes.object.isRequired, location: React.PropTypes.object.isRequired,
routes: React.PropTypes.arrayOf(React.PropTypes.object).isRequired, routes: React.PropTypes.arrayOf(React.PropTypes.object).isRequired
children: React.PropTypes.oneOfType([
React.PropTypes.arrayOf(React.PropTypes.element),
React.PropTypes.element
])
}, },
mixins: [History], mixins: [History],
@ -42,10 +37,17 @@ export default function AppBase(App) {
}, },
render() { render() {
const { routes } = this.props;
// The second element of the routes prop given to us by react-router is always the
// active second-level component object (ie. after App).
const activeRoute = routes[1];
return ( return (
<div> <div>
<App {...this.props} /> <App
<Footer /> {...this.props}
activeRoute={activeRoute} />
<GlobalNotification /> <GlobalNotification />
<div id="modal" className="container" /> <div id="modal" className="container" />
</div> </div>

View File

@ -3,21 +3,19 @@
import React from 'react'; import React from 'react';
import AppBase from './app_base'; import AppBase from './app_base';
import Footer from './footer';
import Header from './header'; import Header from './header';
let AscribeApp = React.createClass({ let AscribeApp = React.createClass({
propTypes: { propTypes: {
routes: React.PropTypes.arrayOf(React.PropTypes.object).isRequired, activeRoute: React.PropTypes.object.isRequired,
children: React.PropTypes.element.isRequired,
children: React.PropTypes.oneOfType([ routes: React.PropTypes.arrayOf(React.PropTypes.object).isRequired
React.PropTypes.arrayOf(React.PropTypes.element),
React.PropTypes.element
])
}, },
render() { render() {
const { children, routes } = this.props; const { activeRoute, children, routes } = this.props;
return ( return (
<div className="ascribe-default-app"> <div className="ascribe-default-app">
@ -26,6 +24,7 @@ let AscribeApp = React.createClass({
{/* Routes are injected here */} {/* Routes are injected here */}
{children} {children}
</div> </div>
<Footer activeRoute={activeRoute} />
</div> </div>
); );
} }

View File

@ -5,8 +5,12 @@ import React from 'react';
import { getLangText } from '../utils/lang_utils'; import { getLangText } from '../utils/lang_utils';
let Footer = React.createClass({ let Footer = React.createClass({
propTypes: {
activeRoute: React.PropTypes.object.isRequired
},
render() { render() {
return ( return !this.props.activeRoute.hideFooter ? (
<div className="ascribe-footer hidden-print"> <div className="ascribe-footer hidden-print">
<p className="ascribe-sub-sub-statement"> <p className="ascribe-sub-sub-statement">
<br /> <br />
@ -24,7 +28,7 @@ let Footer = React.createClass({
<a href="https://www.linkedin.com/company/4816284?trk=vsrp_companies_res_name&trkInfo=VSRPsearchId%3A122827941425632318075%2CVSRPtargetId%3A4816284%2CVSRPcmpt%3Aprimary" className="social social-linked-in" target="_blank"></a> <a href="https://www.linkedin.com/company/4816284?trk=vsrp_companies_res_name&trkInfo=VSRPsearchId%3A122827941425632318075%2CVSRPtargetId%3A4816284%2CVSRPcmpt%3Aprimary" className="social social-linked-in" target="_blank"></a>
</p> </p>
</div> </div>
); ) : null;
} }
}); });

View File

@ -11,6 +11,7 @@ import UserActions from '../../../../actions/user_actions';
import Hero from './components/pr_hero'; import Hero from './components/pr_hero';
import AppBase from '../../../app_base'; import AppBase from '../../../app_base';
import Footer from '../../../footer';
import Header from '../../../header'; import Header from '../../../header';
import { getSubdomain } from '../../../../utils/general_utils'; import { getSubdomain } from '../../../../utils/general_utils';
@ -19,13 +20,10 @@ import { getCookie } from '../../../../utils/fetch_api_utils';
let PRApp = React.createClass({ let PRApp = React.createClass({
propTypes: { propTypes: {
activeRoute: React.PropTypes.object.isRequired,
children: React.PropTypes.element.isRequired,
history: React.PropTypes.object.isRequired, history: React.PropTypes.object.isRequired,
routes: React.PropTypes.arrayOf(React.PropTypes.object).isRequired, routes: React.PropTypes.arrayOf(React.PropTypes.object).isRequired
children: React.PropTypes.oneOfType([
React.PropTypes.arrayOf(React.PropTypes.element),
React.PropTypes.element
])
}, },
getInitialState() { getInitialState() {
@ -60,7 +58,7 @@ let PRApp = React.createClass({
render() { render() {
const { children, history, routes } = this.props; const { activeRoute, children, history, routes } = this.props;
const { currentUser } = this.state; const { currentUser } = this.state;
const subdomain = getSubdomain(); const subdomain = getSubdomain();
@ -88,6 +86,7 @@ let PRApp = React.createClass({
{/* Routes are injected here */} {/* Routes are injected here */}
{children} {children}
</div> </div>
<Footer activeRoute={activeRoute} />
</div> </div>
); );
} }

View File

@ -31,74 +31,116 @@ import { AuthPrizeRoleRedirect } from './portfolioreview/components/pr_routes/pr
const ROUTES = { const ROUTES = {
sluice: ( sluice: (
<Route path='/' component={SPApp}> <Route path='/' component={SPApp}>
<IndexRoute component={SPLanding} /> <IndexRoute
component={SPLanding}
hideFooter />
<Route <Route
path='login' path='login'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SPLoginContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SPLoginContainer)}
hideFooter />
<Route <Route
path='logout' path='logout'
component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)}/> component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)}
hideFooter />
<Route <Route
path='signup' path='signup'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SPSignupContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SPSignupContainer)}
hideFooter />
<Route <Route
path='password_reset' path='password_reset'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)}
hideFooter />
<Route <Route
path='settings' path='settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SPSettingsContainer)}/> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SPSettingsContainer)}
hideFooter />
<Route <Route
path='register_piece' path='register_piece'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SPRegisterPiece)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SPRegisterPiece)}
headerTitle='+ NEW WORK'/> headerTitle='+ NEW WORK'
hideFooter />
<Route <Route
path='collection' path='collection'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SPPieceList)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SPPieceList)}
headerTitle='COLLECTION'/> headerTitle='COLLECTION'
<Route path='pieces/:pieceId' component={SluicePieceContainer} /> hideFooter />
<Route path='editions/:editionId' component={EditionContainer} /> <Route
<Route path='verify' component={CoaVerifyContainer} /> path='pieces/:pieceId'
<Route path='*' component={ErrorNotFoundPage} /> component={SluicePieceContainer}
hideFooter />
<Route
path='editions/:editionId'
component={EditionContainer}
hideFooter />
<Route
path='verify'
component={CoaVerifyContainer}
hideFooter />
<Route
path='*'
component={ErrorNotFoundPage}
hideFooter />
</Route> </Route>
), ),
portfolioreview: ( portfolioreview: (
<Route path='/' component={PRApp}> <Route path='/' component={PRApp}>
<IndexRoute component={ProxyHandler(AuthPrizeRoleRedirect({ to: '/collection', when: ['is_admin', 'is_judge', 'is_jury'] }))(PRLanding)} /> <IndexRoute
component={ProxyHandler(AuthPrizeRoleRedirect({ to: '/collection', when: ['is_admin', 'is_judge', 'is_jury'] }))(PRLanding)}
hideFooter />
<Route <Route
path='register_piece' path='register_piece'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(PRRegisterPiece)}/> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(PRRegisterPiece)}
hideFooter />
<Route <Route
path='collection' path='collection'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SPPieceList)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SPPieceList)}
headerTitle='SUBMISSIONS'/> headerTitle='SUBMISSIONS'
hideFooter />
<Route <Route
path='login' path='login'
component={ProxyHandler( component={ProxyHandler(
AuthPrizeRoleRedirect({ to: '/collection', when: ['is_admin', 'is_judge', 'is_jury'] }), AuthPrizeRoleRedirect({ to: '/collection', when: ['is_admin', 'is_judge', 'is_jury'] }),
AuthRedirect({to: '/register_piece', when: 'loggedIn'}) AuthRedirect({to: '/register_piece', when: 'loggedIn'})
)(SPLoginContainer)} /> )(SPLoginContainer)}
hideFooter />
<Route <Route
path='logout' path='logout'
component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)} /> component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)}
hideFooter />
<Route <Route
path='signup' path='signup'
component={ProxyHandler( component={ProxyHandler(
AuthPrizeRoleRedirect({ to: '/collection', when: ['is_admin', 'is_judge', 'is_jury'] }), AuthPrizeRoleRedirect({ to: '/collection', when: ['is_admin', 'is_judge', 'is_jury'] }),
AuthRedirect({to: '/register_piece', when: 'loggedIn'}) AuthRedirect({to: '/register_piece', when: 'loggedIn'})
)(SPSignupContainer)} /> )(SPSignupContainer)}
hideFooter />
<Route <Route
path='password_reset' path='password_reset'
component={ProxyHandler( component={ProxyHandler(
AuthPrizeRoleRedirect({ to: '/collection', when: ['is_admin', 'is_judge', 'is_jury'] }), AuthPrizeRoleRedirect({ to: '/collection', when: ['is_admin', 'is_judge', 'is_jury'] }),
AuthRedirect({to: '/register_piece', when: 'loggedIn'}) AuthRedirect({to: '/register_piece', when: 'loggedIn'})
)(PasswordResetContainer)} /> )(PasswordResetContainer)}
hideFooter />
<Route <Route
path='settings' path='settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SPSettingsContainer)}/> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SPSettingsContainer)}
<Route path='pieces/:pieceId' component={SPPieceContainer} /> hideFooter />
<Route path='editions/:editionId' component={EditionContainer} /> <Route
<Route path='verify' component={CoaVerifyContainer} /> path='pieces/:pieceId'
<Route path='*' component={ErrorNotFoundPage} /> component={SPPieceContainer}
hideFooter />
<Route
path='editions/:editionId'
component={EditionContainer}
hideFooter />
<Route
path='verify'
component={CoaVerifyContainer}
hideFooter />
<Route
path='*'
component={ErrorNotFoundPage}
hideFooter />
</Route> </Route>
) )
}; };

View File

@ -6,6 +6,7 @@ import classNames from 'classnames';
import Hero from './components/prize_hero'; import Hero from './components/prize_hero';
import AppBase from '../../../app_base'; import AppBase from '../../../app_base';
import Footer from '../../../footer';
import Header from '../../../header'; import Header from '../../../header';
import { getSubdomain } from '../../../../utils/general_utils'; import { getSubdomain } from '../../../../utils/general_utils';
@ -13,17 +14,14 @@ import { getSubdomain } from '../../../../utils/general_utils';
let PrizeApp = React.createClass({ let PrizeApp = React.createClass({
propTypes: { propTypes: {
activeRoute: React.PropTypes.object.isRequired,
children: React.PropTypes.element.isRequired,
history: React.PropTypes.object.isRequired, history: React.PropTypes.object.isRequired,
routes: React.PropTypes.arrayOf(React.PropTypes.object).isRequired, routes: React.PropTypes.arrayOf(React.PropTypes.object).isRequired
children: React.PropTypes.oneOfType([
React.PropTypes.arrayOf(React.PropTypes.element),
React.PropTypes.element
])
}, },
render() { render() {
const { children, history, routes } = this.props; const { activeRoute, children, history, routes } = this.props;
const subdomain = getSubdomain(); const subdomain = getSubdomain();
// The second element of routes is always the active component object, where we can // The second element of routes is always the active component object, where we can
@ -45,6 +43,7 @@ let PrizeApp = React.createClass({
{/* Routes are injected here */} {/* Routes are injected here */}
{children} {children}
</div> </div>
<Footer activeRoute={activeRoute} />
</div> </div>
); );
} }

View File

@ -4,6 +4,7 @@ import React from 'react';
import classNames from 'classnames'; import classNames from 'classnames';
import AppBase from '../../app_base'; import AppBase from '../../app_base';
import Footer from '../../footer';
import Header from '../../header'; import Header from '../../header';
import { getSubdomain } from '../../../utils/general_utils'; import { getSubdomain } from '../../../utils/general_utils';
@ -11,17 +12,14 @@ import { getSubdomain } from '../../../utils/general_utils';
let WalletApp = React.createClass({ let WalletApp = React.createClass({
propTypes: { propTypes: {
activeRoute: React.PropTypes.object.isRequired,
children: React.PropTypes.element.isRequired,
history: React.PropTypes.object.isRequired, history: React.PropTypes.object.isRequired,
routes: React.PropTypes.arrayOf(React.PropTypes.object).isRequired, routes: React.PropTypes.arrayOf(React.PropTypes.object).isRequired
children: React.PropTypes.oneOfType([
React.PropTypes.arrayOf(React.PropTypes.element),
React.PropTypes.element
])
}, },
render() { render() {
const { children, history, routes } = this.props; const { activeRoute, children, history, routes } = this.props;
const subdomain = getSubdomain(); const subdomain = getSubdomain();
// The second element of routes is always the active component object, where we can // The second element of routes is always the active component object, where we can
@ -30,8 +28,9 @@ let WalletApp = React.createClass({
let header = null; let header = null;
// if the path of the current activeRoute is not defined, then this is the IndexRoute // if the path of the current activeRoute is not defined, then this is the IndexRoute
if ((!path || history.isActive('/login') || history.isActive('/signup') || history.isActive('/contract_notifications')) if ((!path || history.isActive('/login') || history.isActive('/signup') ||
&& (['cyland', 'ikonotv', 'lumenus', '23vivi']).indexOf(subdomain) > -1) { history.isActive('/contract_notifications')) &&
(['cyland', 'ikonotv', 'lumenus', '23vivi']).includes(subdomain)) {
header = (<div className="hero" />); header = (<div className="hero" />);
} else { } else {
header = (<Header routes={routes} />); header = (<Header routes={routes} />);
@ -46,6 +45,7 @@ let WalletApp = React.createClass({
{/* Routes are injected here */} {/* Routes are injected here */}
{children} {children}
</div> </div>
<Footer activeRoute={activeRoute} />
</div> </div>
); );
} }

View File

@ -48,193 +48,302 @@ import WalletApp from './wallet_app';
let ROUTES = { let ROUTES = {
'cyland': ( 'cyland': (
<Route path='/' component={WalletApp}> <Route path='/' component={WalletApp}>
<IndexRoute component={CylandLanding} /> <IndexRoute
component={CylandLanding}
hideFooter />
<Route <Route
path='login' path='login'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LoginContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LoginContainer)}
hideFooter />
<Route <Route
path='logout' path='logout'
component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)} /> component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)}
hideFooter />
<Route <Route
path='signup' path='signup'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)}
hideFooter />
<Route <Route
path='password_reset' path='password_reset'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)}
hideFooter />
<Route <Route
path='settings' path='settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)} /> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)}
hideFooter />
<Route <Route
path='contract_settings' path='contract_settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(ContractSettings)} /> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(ContractSettings)}
hideFooter />
<Route <Route
path='register_piece' path='register_piece'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(CylandRegisterPiece)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(CylandRegisterPiece)}
headerTitle='+ NEW WORK' headerTitle='+ NEW WORK'
aclName='acl_wallet_submit' /> aclName='acl_wallet_submit'
hideFooter />
<Route <Route
path='collection' path='collection'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(CylandPieceList)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(CylandPieceList)}
headerTitle='COLLECTION' headerTitle='COLLECTION'
disableOn='noPieces' /> disableOn='noPieces'
<Route path='editions/:editionId' component={EditionContainer} /> hideFooter />
<Route path='coa_verify' component={CoaVerifyContainer} /> <Route
<Route path='pieces/:pieceId' component={CylandPieceContainer} /> path='editions/:editionId'
<Route path='*' component={ErrorNotFoundPage} /> component={EditionContainer}
hideFooter />
<Route
path='coa_verify'
component={CoaVerifyContainer}
hideFooter />
<Route
path='pieces/:pieceId'
component={CylandPieceContainer}
hideFooter />
<Route
path='*'
component={ErrorNotFoundPage}
hideFooter />
</Route> </Route>
), ),
'cc': ( 'cc': (
<Route path='/' component={WalletApp}> <Route path='/' component={WalletApp}>
<Route <Route
path='login' path='login'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LoginContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LoginContainer)}
hideFooter />
<Route <Route
path='logout' path='logout'
component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)} /> component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)}
hideFooter />
<Route <Route
path='signup' path='signup'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)}
hideFooter />
<Route <Route
path='password_reset' path='password_reset'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)}
hideFooter />
<Route <Route
path='settings' path='settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)} /> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)}
hideFooter />
<Route <Route
path='contract_settings' path='contract_settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(ContractSettings)} /> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(ContractSettings)}
hideFooter />
<Route <Route
path='register_piece' path='register_piece'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(CCRegisterPiece)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(CCRegisterPiece)}
headerTitle='+ NEW WORK' /> headerTitle='+ NEW WORK'
hideFooter />
<Route <Route
path='collection' path='collection'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(PieceList)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(PieceList)}
headerTitle='COLLECTION' headerTitle='COLLECTION'
disableOn='noPieces' /> disableOn='noPieces'
<Route path='pieces/:pieceId' component={PieceContainer} /> hideFooter />
<Route path='editions/:editionId' component={EditionContainer} /> <Route
<Route path='coa_verify' component={CoaVerifyContainer} /> path='pieces/:pieceId'
<Route path='*' component={ErrorNotFoundPage} /> component={PieceContainer}
hideFooter />
<Route
path='editions/:editionId'
component={EditionContainer}
hideFooter />
<Route
path='coa_verify'
component={CoaVerifyContainer}
hideFooter />
<Route
path='*'
component={ErrorNotFoundPage}
hideFooter />
</Route> </Route>
), ),
'ikonotv': ( 'ikonotv': (
<Route path='/' component={WalletApp}> <Route path='/' component={WalletApp}>
<IndexRoute component={IkonotvLanding} /> <IndexRoute
component={IkonotvLanding}
hideFooter />
<Route <Route
path='login' path='login'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LoginContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LoginContainer)}
hideFooter />
<Route <Route
path='logout' path='logout'
component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)} /> component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)}
hideFooter />
<Route <Route
path='signup' path='signup'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)}
hideFooter />
<Route <Route
path='password_reset' path='password_reset'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)}
hideFooter />
<Route <Route
path='settings' path='settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)} /> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)}
hideFooter />
<Route <Route
path='contract_settings' path='contract_settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(ContractSettings)} /> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(ContractSettings)}
hideFooter />
<Route <Route
path='request_loan' path='request_loan'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SendContractAgreementForm)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SendContractAgreementForm)}
headerTitle='SEND NEW CONTRACT' headerTitle='SEND NEW CONTRACT'
aclName='acl_create_contractagreement' /> aclName='acl_create_contractagreement'
hideFooter />
<Route <Route
path='register_piece' path='register_piece'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(IkonotvRegisterPiece)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(IkonotvRegisterPiece)}
headerTitle='+ NEW WORK' headerTitle='+ NEW WORK'
aclName='acl_wallet_submit' /> aclName='acl_wallet_submit'
hideFooter />
<Route <Route
path='collection' path='collection'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(IkonotvPieceList)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(IkonotvPieceList)}
headerTitle='COLLECTION' headerTitle='COLLECTION'
disableOn='noPieces' /> disableOn='noPieces'
hideFooter />
<Route <Route
path='contract_notifications' path='contract_notifications'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(IkonotvContractNotifications)} /> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(IkonotvContractNotifications)}
<Route path='pieces/:pieceId' component={IkonotvPieceContainer} /> hideFooter />
<Route path='editions/:editionId' component={EditionContainer} /> <Route
<Route path='coa_verify' component={CoaVerifyContainer} /> path='pieces/:pieceId'
<Route path='*' component={ErrorNotFoundPage} /> component={IkonotvPieceContainer}
hideFooter />
<Route
path='editions/:editionId'
component={EditionContainer}
hideFooter />
<Route
path='coa_verify'
component={CoaVerifyContainer}
hideFooter />
<Route
path='*'
component={ErrorNotFoundPage}
hideFooter />
</Route> </Route>
), ),
'lumenus': ( 'lumenus': (
<Route path='/' component={WalletApp}> <Route path='/' component={WalletApp}>
<IndexRoute component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LumenusLanding)} /> <IndexRoute
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LumenusLanding)}
hideFooter />
<Route <Route
path='login' path='login'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LoginContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LoginContainer)}
hideFooter />
<Route <Route
path='logout' path='logout'
component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)} /> component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)}
hideFooter />
<Route <Route
path='signup' path='signup'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)}
hideFooter />
<Route <Route
path='password_reset' path='password_reset'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)}
hideFooter />
<Route <Route
path='settings' path='settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)} /> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)}
hideFooter />
<Route <Route
path='contract_settings' path='contract_settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(ContractSettings)} /> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(ContractSettings)}
hideFooter />
<Route <Route
path='register_piece' path='register_piece'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(MarketRegisterPiece)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(MarketRegisterPiece)}
headerTitle='+ NEW WORK' headerTitle='+ NEW WORK'
aclName='acl_wallet_submit' /> aclName='acl_wallet_submit'
hideFooter />
<Route <Route
path='collection' path='collection'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(MarketPieceList)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(MarketPieceList)}
headerTitle='COLLECTION' headerTitle='COLLECTION'
disableOn='noPieces' /> disableOn='noPieces'
<Route path='pieces/:pieceId' component={MarketPieceContainer} /> hideFooter />
<Route path='editions/:editionId' component={MarketEditionContainer} /> <Route
<Route path='coa_verify' component={CoaVerifyContainer} /> path='pieces/:pieceId'
<Route path='*' component={ErrorNotFoundPage} /> component={MarketPieceContainer}
hideFooter />
<Route
path='editions/:editionId'
component={MarketEditionContainer}
hideFooter />
<Route
path='coa_verify'
component={CoaVerifyContainer}
hideFooter />
<Route
path='*'
component={ErrorNotFoundPage}
hideFooter />
</Route> </Route>
), ),
'23vivi': ( '23vivi': (
<Route path='/' component={WalletApp}> <Route path='/' component={WalletApp}>
<IndexRoute component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(Vivi23Landing)} /> <IndexRoute component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(Vivi23Landing)}
hideFooter />
<Route <Route
path='login' path='login'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LoginContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LoginContainer)}
hideFooter />
<Route <Route
path='logout' path='logout'
component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)} /> component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)}
hideFooter />
<Route <Route
path='signup' path='signup'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)}
hideFooter />
<Route <Route
path='password_reset' path='password_reset'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)}
hideFooter />
<Route <Route
path='settings' path='settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)} /> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)}
hideFooter />
<Route <Route
path='contract_settings' path='contract_settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(ContractSettings)} /> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(ContractSettings)}
hideFooter />
<Route <Route
path='register_piece' path='register_piece'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(MarketRegisterPiece)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(MarketRegisterPiece)}
headerTitle='+ NEW WORK' headerTitle='+ NEW WORK'
aclName='acl_wallet_submit' /> aclName='acl_wallet_submit'
hideFooter />
<Route <Route
path='collection' path='collection'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(Vivi23PieceList)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(Vivi23PieceList)}
headerTitle='COLLECTION' headerTitle='COLLECTION'
disableOn='noPieces' /> disableOn='noPieces'
<Route path='pieces/:pieceId' component={MarketPieceContainer} /> hideFooter />
<Route path='editions/:editionId' component={MarketEditionContainer} /> <Route
<Route path='coa_verify' component={CoaVerifyContainer} /> path='pieces/:pieceId'
<Route path='*' component={ErrorNotFoundPage} /> component={MarketPieceContainer}
hideFooter />
<Route
path='editions/:editionId'
component={MarketEditionContainer}
hideFooter />
<Route
path='coa_verify'
component={CoaVerifyContainer}
hideFooter />
<Route
path='*'
component={ErrorNotFoundPage}
hideFooter />
</Route> </Route>
) )
}; };

View File

@ -6,7 +6,7 @@ import { Route } from 'react-router';
import getPrizeRoutes from './components/whitelabel/prize/prize_routes'; import getPrizeRoutes from './components/whitelabel/prize/prize_routes';
import getWalletRoutes from './components/whitelabel/wallet/wallet_routes'; import getWalletRoutes from './components/whitelabel/wallet/wallet_routes';
import App from './components/ascribe_app'; import AscribeApp from './components/ascribe_app';
import PieceList from './components/piece_list'; import PieceList from './components/piece_list';
import PieceContainer from './components/ascribe_detail/piece_container'; import PieceContainer from './components/ascribe_detail/piece_container';
@ -29,14 +29,14 @@ import { ProxyHandler, AuthRedirect } from './components/ascribe_routes/proxy_ha
const COMMON_ROUTES = ( const COMMON_ROUTES = (
<Route path='/' component={App}> <Route path='/' component={AscribeApp}>
<Route <Route
path='login' path='login'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LoginContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LoginContainer)} />
<Route <Route
path='register_piece' path='register_piece'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(RegisterPiece)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(RegisterPiece)}
headerTitle='+ NEW WORK'/> headerTitle='+ NEW WORK' />
<Route <Route
path='collection' path='collection'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(PieceList)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(PieceList)}
@ -55,10 +55,10 @@ const COMMON_ROUTES = (
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)} />
<Route <Route
path='settings' path='settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)}/> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)} />
<Route <Route
path='contract_settings' path='contract_settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(ContractSettings)}/> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(ContractSettings)} />
<Route path='coa_verify' component={CoaVerifyContainer} /> <Route path='coa_verify' component={CoaVerifyContainer} />
<Route path='*' component={ErrorNotFoundPage} /> <Route path='*' component={ErrorNotFoundPage} />
</Route> </Route>

View File

@ -2,7 +2,6 @@ $pr--nav-fg-prim-color: black;
$pr--button-color: $pr--nav-fg-prim-color; $pr--button-color: $pr--nav-fg-prim-color;
.client--portfolioreview { .client--portfolioreview {
.btn-wide, .btn-wide,
.btn-default { .btn-default {
background-color: $pr--button-color; background-color: $pr--button-color;

View File

@ -68,5 +68,3 @@
padding: 0.7em; padding: 0.7em;
} }

View File

@ -51,16 +51,12 @@
} }
} }
.client--sluice .ascribe-footer {
display: none;
}
.client--sluice .icon-ascribe-search {
.client--sluice .icon-ascribe-search{
color: $simple-prize--button-color; color: $simple-prize--button-color;
} }
.client--sluice .ascribe-piece-list-toolbar .btn-ascribe-add{ .client--sluice .ascribe-piece-list-toolbar .btn-ascribe-add {
display: none; display: none;
} }

View File

@ -13,6 +13,7 @@ $vivi23--highlight-color: #de2600;
/** Landing page **/ /** Landing page **/
.route--landing { .route--landing {
display: table; display: table;
min-height: 100vh;
> .container { > .container {
display: table-cell; display: table-cell;
@ -252,10 +253,6 @@ $vivi23--highlight-color: #de2600;
display: none; display: none;
} }
.ascribe-footer {
display: none;
}
.ascribe-accordion-list-table-toggle:hover { .ascribe-accordion-list-table-toggle:hover {
color: $vivi23--fg-color; color: $vivi23--fg-color;
} }

View File

@ -55,16 +55,11 @@ $cc--button-color: $cc--nav-fg-prim-color;
} }
} }
.client--cc .ascribe-footer { .client--cc .icon-ascribe-search {
display: none;
}
.client--cc .icon-ascribe-search{
color: $cc--button-color; color: $cc--button-color;
} }
.client--cc .ascribe-piece-list-toolbar .btn-ascribe-add{ .client--cc .ascribe-piece-list-toolbar .btn-ascribe-add {
display: none; display: none;
} }
@ -223,4 +218,4 @@ $cc--button-color: $cc--nav-fg-prim-color;
.client--cc .upload-button-wrapper > span { .client--cc .upload-button-wrapper > span {
color: $cc--button-color; color: $cc--button-color;
} }

View File

@ -56,10 +56,6 @@ $cyland--button-sec-color: #515151;
} }
} }
.client--cyland .ascribe-footer {
display: none;
}
.client--cyland .icon-ascribe-search { .client--cyland .icon-ascribe-search {
color: $cyland--button-color; color: $cyland--button-color;
} }
@ -171,6 +167,7 @@ $cyland--button-sec-color: #515151;
.client--cyland { .client--cyland {
.route--landing { .route--landing {
display: table; display: table;
min-height: 100vh;
> .container { > .container {
display: table-cell; display: table-cell;

View File

@ -108,24 +108,36 @@ $ikono--font: 'Helvetica Neue', 'Helvetica', sans-serif !important;
} }
.client--ikonotv {
.route--landing,
.route--login,
.route--signup {
background-color: $ikono--landing-bg-color;
min-height: 100vh;
}
.route--login,
.route--signup {
.ascribe-form-bordered {
border: none;
}
}
}
.client--ikonotv .route--landing { .client--ikonotv .route--landing {
background-color: $ikono--landing-bg-color;
animation: color-loop 20s; animation: color-loop 20s;
-o-animation: color-loop 20s infinite; -o-animation: color-loop 20s infinite;
-ms-animation: color-loop 20s infinite; -ms-animation: color-loop 20s infinite;
-moz-animation: color-loop 20s infinite; -moz-animation: color-loop 20s infinite;
-webkit-animation: color-loop 20s infinite; -webkit-animation: color-loop 20s infinite;
margin: 0; margin: 0;
width: 100%; width: 100%;
padding: 5em 1em; padding: 5em 1em;
} }
.client--ikonotv .route--login, .client--ikonotv .route--login,
.client--ikonotv .route--signup { .client--ikonotv .route--signup {
background-color: $ikono--landing-bg-color;
.btn-wide { .btn-wide {
display: block; display: block;
margin: 50px auto 0; margin: 50px auto 0;
@ -209,27 +221,11 @@ $ikono--font: 'Helvetica Neue', 'Helvetica', sans-serif !important;
} }
.client--ikonotv { .client--ikonotv .icon-ascribe-search {
.route--login,
.route--signup {
.ascribe-form-bordered {
border: none;
}
}
}
.client--ikonotv .ascribe-login-wrapper {
}
.client--ikonotv .ascribe-footer {
display: none;
}
.client--ikonotv .icon-ascribe-search{
color: $ikono--button-color; color: $ikono--button-color;
} }
.client--ikonotv .ascribe-piece-list-toolbar .btn-ascribe-add{ .client--ikonotv .ascribe-piece-list-toolbar .btn-ascribe-add {
display: none; display: none;
} }
@ -560,4 +556,4 @@ $ikono--font: 'Helvetica Neue', 'Helvetica', sans-serif !important;
.client--ikonotv .upload-button-wrapper > span { .client--ikonotv .upload-button-wrapper > span {
color: $ikono--button-color; color: $ikono--button-color;
} }

View File

@ -5,7 +5,6 @@
.ascribe-wallet-app { .ascribe-wallet-app {
border-radius: 0; border-radius: 0;
min-height: 100vh;
padding-top: 70px; padding-top: 70px;
padding-bottom: 10px; padding-bottom: 10px;
} }