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

Merge pull request #169 from ascribe/AG-112-visual-changes-to-23vivi

Ag 112 visual changes to 23vivi
This commit is contained in:
Tim Daubenschütz 2016-03-07 14:14:11 +01:00
commit 5e6b483149
18 changed files with 210 additions and 225 deletions

View File

@ -21,6 +21,7 @@ let AscribeApp = React.createClass({
render() { render() {
const { activeRoute, children, currentUser, routes, whitelabel } = this.props; const { activeRoute, children, currentUser, routes, whitelabel } = this.props;
const Footer = activeRoute && activeRoute.footer;
return ( return (
<div className="ascribe-app ascribe-default-app"> <div className="ascribe-app ascribe-default-app">
@ -34,7 +35,7 @@ let AscribeApp = React.createClass({
{/* Routes are injected here */} {/* Routes are injected here */}
{children} {children}
</AppRouteWrapper> </AppRouteWrapper>
<Footer activeRoute={activeRoute} /> {Footer ? <Footer /> : null}
</div> </div>
); );
} }

View File

@ -22,7 +22,8 @@ let LoginForm = React.createClass({
propTypes: { propTypes: {
headerMessage: React.PropTypes.string, headerMessage: React.PropTypes.string,
submitMessage: React.PropTypes.string, submitMessage: React.PropTypes.string,
location: React.PropTypes.object location: React.PropTypes.object,
whitelabelName: React.PropTypes.string
}, },
mixins: [History], mixins: [History],
@ -46,7 +47,8 @@ let LoginForm = React.createClass({
render() { render() {
const { headerMessage, const { headerMessage,
location: { query: { email: emailQuery } }, location: { query: { email: emailQuery } },
submitMessage } = this.props; submitMessage,
whitelabelName } = this.props;
return ( return (
<Form <Form
@ -67,7 +69,7 @@ let LoginForm = React.createClass({
</span> </span>
}> }>
<div className="ascribe-form-header"> <div className="ascribe-form-header">
<h3>{headerMessage}</h3> <h3>{whitelabelName ? `Welcome to ${whitelabelName}` : headerMessage}</h3>
</div> </div>
<Property <Property
name='email' name='email'

View File

@ -28,7 +28,8 @@ let SignupForm = React.createClass({
React.PropTypes.arrayOf(React.PropTypes.element), React.PropTypes.arrayOf(React.PropTypes.element),
React.PropTypes.element, React.PropTypes.element,
React.PropTypes.string React.PropTypes.string
]) ]),
whitelabelName: React.PropTypes.string
}, },
mixins: [History], mixins: [History],
@ -61,11 +62,8 @@ let SignupForm = React.createClass({
const { children, const { children,
headerMessage, headerMessage,
location: { query: { email: emailQuery } }, location: { query: { email: emailQuery } },
submitMessage } = this.props; submitMessage,
whitelabelName } = this.props;
const tooltipPassword = getLangText('Your password must be at least 10 characters') + '.\n ' +
getLangText('This password is securing your digital property like a bank account') + '.\n ' +
getLangText('Store it in a safe place') + '!';
return ( return (
<Form <Form
@ -85,7 +83,7 @@ let SignupForm = React.createClass({
</span> </span>
}> }>
<div className="ascribe-form-header"> <div className="ascribe-form-header">
<h3>{headerMessage}</h3> <h3>{whitelabelName ? `Welcome to ${whitelabelName}` : headerMessage}</h3>
</div> </div>
<Property <Property
name='email' name='email'
@ -99,18 +97,16 @@ let SignupForm = React.createClass({
</Property> </Property>
<Property <Property
name='password' name='password'
label={getLangText('Password')} label={getLangText('Password')}>
tooltip={tooltipPassword}>
<input <input
type="password" type="password"
placeholder={getLangText('Use a combination of minimum 10 chars and numbers')} placeholder={getLangText('Use a combination of minimum 10 characters and numbers')}
autoComplete="on" autoComplete="on"
required/> required/>
</Property> </Property>
<Property <Property
name='password_confirm' name='password_confirm'
label={getLangText('Confirm Password')} label={getLangText('Confirm Password')}>
tooltip={tooltipPassword}>
<input <input
type="password" type="password"
placeholder={getLangText('Enter your password once again')} placeholder={getLangText('Enter your password once again')}

View File

@ -4,13 +4,10 @@ import React from 'react';
import { getLangText } from '../utils/lang_utils'; import { getLangText } from '../utils/lang_utils';
let Footer = React.createClass({
propTypes: {
activeRoute: React.PropTypes.object.isRequired
},
const Footer = React.createClass({
render() { render() {
return !this.props.activeRoute.hideFooter ? ( return (
<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 />
@ -28,7 +25,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

@ -82,16 +82,12 @@ let Header = React.createClass({
getPoweredBy() { getPoweredBy() {
return ( return (
<AclProxy
aclObject={this.props.whitelabel}
aclName="acl_view_powered_by">
<li> <li>
<a className="pull-right ascribe-powered-by" href="https://www.ascribe.io/" target="_blank"> <a className="pull-right ascribe-powered-by" href="https://www.ascribe.io/" target="_blank">
<span id="powered">{getLangText('powered by')} </span> <span id="powered">{getLangText('powered by')} </span>
<span className="icon-ascribe-logo"></span> <span className="icon-ascribe-logo"></span>
</a> </a>
</li> </li>
</AclProxy>
); );
}, },
@ -130,7 +126,7 @@ let Header = React.createClass({
}, },
render() { render() {
const { currentUser, routes } = this.props; const { currentUser, routes, whitelabel } = this.props;
const { unfilteredPieceListCount } = this.state; const { unfilteredPieceListCount } = this.state;
let account; let account;
@ -211,7 +207,11 @@ let Header = React.createClass({
className="hidden-print"> className="hidden-print">
<CollapsibleNav eventKey={0}> <CollapsibleNav eventKey={0}>
<Nav navbar left> <Nav navbar left>
<AclProxy
aclObject={whitelabel}
aclName="acl_view_powered_by">
{this.getPoweredBy()} {this.getPoweredBy()}
</AclProxy>
</Nav> </Nav>
<Nav navbar right> <Nav navbar right>
<HeaderNotificationDebug show={false} /> <HeaderNotificationDebug show={false} />

View File

@ -20,13 +20,18 @@ let LoginContainer = React.createClass({
}, },
render() { render() {
const { whitelabel: { name: whitelabelName },
location } = this.props;
setDocumentTitle(getLangText('Log in')); setDocumentTitle(getLangText('Log in'));
return ( return (
<div className="ascribe-login-wrapper"> <div className="ascribe-login-wrapper">
<LoginForm location={this.props.location} /> <LoginForm
location={location}
whitelabelName={whitelabelName} />
<div className="ascribe-login-text"> <div className="ascribe-login-text">
{getLangText('Not an ascribe user')}&#63; <Link to="/signup">{getLangText('Sign up')}...</Link><br/> {getLangText(`Not a ${whitelabelName || 'ascribe'} user`)}&#63; <Link to="/signup">{getLangText('Sign up')}...</Link><br/>
{getLangText('Forgot my password')}&#63; <Link to="/password_reset">{getLangText('Rescue me')}...</Link> {getLangText('Forgot my password')}&#63; <Link to="/password_reset">{getLangText('Rescue me')}...</Link>
</div> </div>
</div> </div>

View File

@ -34,7 +34,8 @@ let SignupContainer = React.createClass({
}, },
render() { render() {
const { location } = this.props; const { location,
whitelabel: { name: whitelabelName } } = this.props;
const { message, submitted } = this.state; const { message, submitted } = this.state;
setDocumentTitle(getLangText('Sign up')); setDocumentTitle(getLangText('Sign up'));
@ -53,9 +54,10 @@ let SignupContainer = React.createClass({
<div className="ascribe-login-wrapper"> <div className="ascribe-login-wrapper">
<SignupForm <SignupForm
handleSuccess={this.handleSuccess} handleSuccess={this.handleSuccess}
whitelabelName={whitelabelName}
location={location}/> location={location}/>
<div className="ascribe-login-text"> <div className="ascribe-login-text">
{getLangText('Already an ascribe user')}&#63; <Link to="/login">{getLangText('Log in')}...</Link><br/> {getLangText(`Already a ${whitelabelName || 'ascribe'} user`)}&#63; <Link to="/login">{getLangText('Log in')}...</Link><br/>
</div> </div>
</div> </div>

View File

@ -12,7 +12,6 @@ import Hero from './components/pr_hero';
import AppBase from '../../../app_base'; import AppBase from '../../../app_base';
import AppRouteWrapper from '../../../app_route_wrapper'; import AppRouteWrapper from '../../../app_route_wrapper';
import Footer from '../../../footer';
import Header from '../../../header'; import Header from '../../../header';
import { getSubdomain } from '../../../../utils/general_utils'; import { getSubdomain } from '../../../../utils/general_utils';
@ -35,6 +34,7 @@ let PRApp = React.createClass({
const { activeRoute, children, currentUser, history, routes, whitelabel } = this.props; const { activeRoute, children, currentUser, history, routes, whitelabel } = this.props;
const subdomain = getSubdomain(); const subdomain = getSubdomain();
const path = activeRoute && activeRoute.path; const path = activeRoute && activeRoute.path;
const Footer = activeRoute && activeRoute.footer;
let style = {}; let style = {};
let header; let header;
@ -64,7 +64,7 @@ let PRApp = React.createClass({
{/* Routes are injected here */} {/* Routes are injected here */}
{children} {children}
</AppRouteWrapper> </AppRouteWrapper>
<Footer activeRoute={activeRoute} /> {Footer ? <Footer /> : null}
</div> </div>
); );
} }

View File

@ -35,115 +35,91 @@ const ROUTES = {
sluice: ( sluice: (
<Route path='/' component={SPApp}> <Route path='/' component={SPApp}>
<IndexRoute <IndexRoute
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SPLanding)} component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(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={getLangText('+ NEW WORK')} headerTitle={getLangText('+ 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={getLangText('COLLECTION')} headerTitle={getLangText('COLLECTION')} />
hideFooter />
<Route <Route
path='pieces/:pieceId' path='pieces/:pieceId'
component={SluicePieceContainer} component={SluicePieceContainer} />
hideFooter />
<Route <Route
path='editions/:editionId' path='editions/:editionId'
component={EditionContainer} component={EditionContainer} />
hideFooter />
<Route <Route
path='coa_verify' path='coa_verify'
component={CoaVerifyContainer} component={CoaVerifyContainer} />
hideFooter />
<Route <Route
path='*' path='*'
component={ErrorNotFoundPage} component={ErrorNotFoundPage} />
hideFooter />
</Route> </Route>
), ),
portfolioreview: ( portfolioreview: (
<Route path='/' component={PRApp}> <Route path='/' component={PRApp}>
<IndexRoute <IndexRoute
component={ProxyHandler(AuthPrizeRoleRedirect({ to: '/collection', when: ['is_admin', 'is_judge', 'is_jury'] }))(PRLanding)} 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={getLangText('SUBMISSIONS')} headerTitle={getLangText('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)} />
hideFooter />
<Route <Route
path='pieces/:pieceId' path='pieces/:pieceId'
component={SPPieceContainer} component={SPPieceContainer} />
hideFooter />
<Route <Route
path='editions/:editionId' path='editions/:editionId'
component={EditionContainer} component={EditionContainer} />
hideFooter />
<Route <Route
path='coa_verify' path='coa_verify'
component={CoaVerifyContainer} component={CoaVerifyContainer} />
hideFooter />
<Route <Route
path='*' path='*'
component={ErrorNotFoundPage} component={ErrorNotFoundPage} />
hideFooter />
</Route> </Route>
) )
}; };

View File

@ -7,7 +7,6 @@ import Hero from './components/prize_hero';
import AppBase from '../../../app_base'; import AppBase from '../../../app_base';
import AppRouteWrapper from '../../../app_route_wrapper'; import AppRouteWrapper from '../../../app_route_wrapper';
import Footer from '../../../footer';
import Header from '../../../header'; import Header from '../../../header';
import { getSubdomain } from '../../../../utils/general_utils'; import { getSubdomain } from '../../../../utils/general_utils';
@ -29,6 +28,7 @@ let PrizeApp = React.createClass({
const { activeRoute, children, currentUser, history, routes, whitelabel } = this.props; const { activeRoute, children, currentUser, history, routes, whitelabel } = this.props;
const subdomain = getSubdomain(); const subdomain = getSubdomain();
const path = activeRoute && activeRoute.path; const path = activeRoute && activeRoute.path;
const Footer = activeRoute && activeRoute.footer;
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
@ -52,7 +52,7 @@ let PrizeApp = React.createClass({
{/* Routes are injected here */} {/* Routes are injected here */}
{children} {children}
</AppRouteWrapper> </AppRouteWrapper>
<Footer activeRoute={activeRoute} /> {Footer ? <Footer /> : null}
</div> </div>
); );
} }

View File

@ -36,7 +36,7 @@ let Vivi23Landing = React.createClass({
src={this.props.whitelabel.logo} src={this.props.whitelabel.logo}
height="75" /> height="75" />
<div> <div>
{getLangText('23VIVI Marketplace is powered by') + ' '} {getLangText('23VIVI digital wallet is powered by') + ' '}
<span className="icon-ascribe-logo" /> <span className="icon-ascribe-logo" />
</div> </div>
</div> </div>

View File

@ -0,0 +1,27 @@
'use strict';
import React from 'react';
import { getLangText } from '../../../../../utils/lang_utils';
const MarketFooter = React.createClass({
render() {
return (
<div className="container hidden-print">
<div className="row">
<div className="whitelabel-footer">
<hr/>
<span id="powered">{getLangText('Digital wallet powered by')} </span>
<a className="ascribe-powered-by" href="https://www.ascribe.io/" target="_blank">
<span className="icon-ascribe-logo"></span>
</a>
</div>
</div>
</div>
);
}
});
export default MarketFooter;

View File

@ -5,7 +5,6 @@ import classNames from 'classnames';
import AppBase from '../../app_base'; import AppBase from '../../app_base';
import AppRouteWrapper from '../../app_route_wrapper'; import AppRouteWrapper from '../../app_route_wrapper';
import Footer from '../../footer';
import Header from '../../header'; import Header from '../../header';
import { getSubdomain } from '../../../utils/general_utils'; import { getSubdomain } from '../../../utils/general_utils';
@ -27,6 +26,7 @@ let WalletApp = React.createClass({
const { activeRoute, children, currentUser, history, routes, whitelabel } = this.props; const { activeRoute, children, currentUser, history, routes, whitelabel } = this.props;
const subdomain = getSubdomain(); const subdomain = getSubdomain();
const path = activeRoute && activeRoute.path; const path = activeRoute && activeRoute.path;
const Footer = activeRoute && activeRoute.footer;
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
@ -53,7 +53,7 @@ let WalletApp = React.createClass({
{/* Routes are injected here */} {/* Routes are injected here */}
{children} {children}
</AppRouteWrapper> </AppRouteWrapper>
<Footer activeRoute={activeRoute} /> {Footer ? <Footer /> : null}
</div> </div>
); );
} }

View File

@ -17,6 +17,7 @@ import EditionContainer from '../../../components/ascribe_detail/edition_contain
import SettingsContainer from '../../../components/ascribe_settings/settings_container'; import SettingsContainer from '../../../components/ascribe_settings/settings_container';
import ContractSettings from '../../../components/ascribe_settings/contract_settings'; import ContractSettings from '../../../components/ascribe_settings/contract_settings';
import ErrorNotFoundPage from '../../../components/error_not_found_page'; import ErrorNotFoundPage from '../../../components/error_not_found_page';
import Footer from '../../../components/footer.js';
import CCRegisterPiece from './components/cc/cc_register_piece'; import CCRegisterPiece from './components/cc/cc_register_piece';
@ -36,6 +37,7 @@ import MarketPieceList from './components/market/market_piece_list';
import MarketRegisterPiece from './components/market/market_register_piece'; import MarketRegisterPiece from './components/market/market_register_piece';
import MarketPieceContainer from './components/market/market_detail/market_piece_container'; import MarketPieceContainer from './components/market/market_detail/market_piece_container';
import MarketEditionContainer from './components/market/market_detail/market_edition_container'; import MarketEditionContainer from './components/market/market_detail/market_edition_container';
import MarketFooter from './components/market/market_footer';
import LumenusLanding from './components/lumenus/lumenus_landing'; import LumenusLanding from './components/lumenus/lumenus_landing';
@ -57,301 +59,247 @@ let ROUTES = {
'cyland': ( 'cyland': (
<Route path='/' component={WalletApp}> <Route path='/' component={WalletApp}>
<IndexRoute <IndexRoute
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(CylandLanding)} component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(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={getLangText('+ NEW WORK')} headerTitle={getLangText('+ 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={getLangText('COLLECTION')} headerTitle={getLangText('COLLECTION')}
disableOn='noPieces' disableOn='noPieces' />
hideFooter />
<Route <Route
path='editions/:editionId' path='editions/:editionId'
component={EditionContainer} component={EditionContainer} />
hideFooter />
<Route <Route
path='coa_verify' path='coa_verify'
component={CoaVerifyContainer} component={CoaVerifyContainer} />
hideFooter />
<Route <Route
path='pieces/:pieceId' path='pieces/:pieceId'
component={CylandPieceContainer} component={CylandPieceContainer} />
hideFooter />
<Route <Route
path='*' path='*'
component={ErrorNotFoundPage} 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={getLangText('+ NEW WORK')} headerTitle={getLangText('+ 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={getLangText('COLLECTION')} headerTitle={getLangText('COLLECTION')}
disableOn='noPieces' disableOn='noPieces' />
hideFooter />
<Route <Route
path='pieces/:pieceId' path='pieces/:pieceId'
component={PieceContainer} component={PieceContainer} />
hideFooter />
<Route <Route
path='editions/:editionId' path='editions/:editionId'
component={EditionContainer} component={EditionContainer} />
hideFooter />
<Route <Route
path='coa_verify' path='coa_verify'
component={CoaVerifyContainer} component={CoaVerifyContainer} />
hideFooter />
<Route <Route
path='*' path='*'
component={ErrorNotFoundPage} component={ErrorNotFoundPage} />
hideFooter />
</Route> </Route>
), ),
'ikonotv': ( 'ikonotv': (
<Route path='/' component={WalletApp}> <Route path='/' component={WalletApp}>
<IndexRoute <IndexRoute
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(IkonotvLanding)} component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(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={getLangText('SEND NEW CONTRACT')} headerTitle={getLangText('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={getLangText('+ NEW WORK')} headerTitle={getLangText('+ 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={getLangText('COLLECTION')} headerTitle={getLangText('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)} />
hideFooter />
<Route <Route
path='pieces/:pieceId' path='pieces/:pieceId'
component={IkonotvPieceContainer} component={IkonotvPieceContainer} />
hideFooter />
<Route <Route
path='editions/:editionId' path='editions/:editionId'
component={EditionContainer} component={EditionContainer} />
hideFooter />
<Route <Route
path='coa_verify' path='coa_verify'
component={CoaVerifyContainer} component={CoaVerifyContainer} />
hideFooter />
<Route <Route
path='*' path='*'
component={ErrorNotFoundPage} component={ErrorNotFoundPage} />
hideFooter />
</Route> </Route>
), ),
'lumenus': ( 'lumenus': (
<Route path='/' component={WalletApp}> <Route path='/' component={WalletApp}>
<IndexRoute <IndexRoute
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(LumenusLanding)} 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={getLangText('+ NEW WORK')} headerTitle={getLangText('+ 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={getLangText('COLLECTION')} headerTitle={getLangText('COLLECTION')}
disableOn='noPieces' disableOn='noPieces' />
hideFooter />
<Route <Route
path='pieces/:pieceId' path='pieces/:pieceId'
component={MarketPieceContainer} component={MarketPieceContainer} />
hideFooter />
<Route <Route
path='editions/:editionId' path='editions/:editionId'
component={MarketEditionContainer} component={MarketEditionContainer} />
hideFooter />
<Route <Route
path='coa_verify' path='coa_verify'
component={CoaVerifyContainer} component={CoaVerifyContainer} />
hideFooter />
<Route <Route
path='*' path='*'
component={ErrorNotFoundPage} 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 /> footer={MarketFooter} />
<Route <Route
path='logout' path='logout'
component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)} component={ProxyHandler(AuthRedirect({to: '/', when: 'loggedOut'}))(LogoutContainer)}
hideFooter /> footer={MarketFooter} />
<Route <Route
path='signup' path='signup'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)} component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)}
hideFooter /> footer={MarketFooter} />
<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 /> footer={MarketFooter} />
<Route <Route
path='settings' path='settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)}
hideFooter /> footer={MarketFooter} />
<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 /> footer={MarketFooter} />
<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={getLangText('+ NEW WORK')} headerTitle={getLangText('+ NEW WORK')}
aclName='acl_wallet_submit' aclName='acl_wallet_submit'
hideFooter /> footer={MarketFooter} />
<Route <Route
path='collection' path='collection'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(Vivi23PieceList)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(Vivi23PieceList)}
headerTitle={getLangText('COLLECTION')} headerTitle={getLangText('COLLECTION')}
disableOn='noPieces' disableOn='noPieces'
hideFooter /> footer={MarketFooter} />
<Route <Route
path='pieces/:pieceId' path='pieces/:pieceId'
component={MarketPieceContainer} component={MarketPieceContainer}
hideFooter /> footer={MarketFooter} />
<Route <Route
path='editions/:editionId' path='editions/:editionId'
component={MarketEditionContainer} component={MarketEditionContainer}
hideFooter /> footer={MarketFooter} />
<Route <Route
path='coa_verify' path='coa_verify'
component={CoaVerifyContainer} component={CoaVerifyContainer}
hideFooter /> footer={MarketFooter} />
<Route <Route
path='*' path='*'
component={ErrorNotFoundPage} component={ErrorNotFoundPage}
hideFooter /> footer={MarketFooter} />
</Route> </Route>
), ),
'polline': ( 'polline': (

View File

@ -25,6 +25,8 @@ import ErrorNotFoundPage from './components/error_not_found_page';
import RegisterPiece from './components/register_piece'; import RegisterPiece from './components/register_piece';
import Footer from './components/footer';
import { ProxyHandler, AuthRedirect } from './components/ascribe_routes/proxy_handler'; import { ProxyHandler, AuthRedirect } from './components/ascribe_routes/proxy_handler';
import { getLangText } from './utils/lang_utils'; import { getLangText } from './utils/lang_utils';
@ -34,35 +36,47 @@ const COMMON_ROUTES = (
<Route path='/' component={AscribeApp}> <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)}
footer={Footer} />
<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={getLangText('+ NEW WORK')} /> headerTitle={getLangText('+ NEW WORK')}
footer={Footer} />
<Route <Route
path='collection' path='collection'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(PieceList)} component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(PieceList)}
headerTitle={getLangText('COLLECTION')} headerTitle={getLangText('COLLECTION')}
disableOn='noPieces' /> disableOn='noPieces'
footer={Footer} />
<Route <Route
path='signup' path='signup'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(SignupContainer)}
footer={Footer} />
<Route <Route
path='logout' path='logout'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(LogoutContainer)}/> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(LogoutContainer)}
<Route path='pieces/:pieceId' component={PieceContainer} /> footer={Footer} />
<Route path='editions/:editionId' component={EditionContainer} /> <Route path='pieces/:pieceId' component={PieceContainer}
footer={Footer} />
<Route path='editions/:editionId' component={EditionContainer}
footer={Footer} />
<Route <Route
path='password_reset' path='password_reset'
component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)} /> component={ProxyHandler(AuthRedirect({to: '/collection', when: 'loggedIn'}))(PasswordResetContainer)}
footer={Footer} />
<Route <Route
path='settings' path='settings'
component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)} /> component={ProxyHandler(AuthRedirect({to: '/login', when: 'loggedOut'}))(SettingsContainer)}
footer={Footer} />
<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} /> footer={Footer} />
<Route path='*' component={ErrorNotFoundPage} /> <Route path='coa_verify' component={CoaVerifyContainer}
footer={Footer} />
<Route path='*' component={ErrorNotFoundPage}
footer={Footer} />
</Route> </Route>
); );

View File

@ -5,6 +5,7 @@
@import 'polline/polline_custom_style'; @import 'polline/polline_custom_style';
@import 'artcity/artcity_custom_style'; @import 'artcity/artcity_custom_style';
@import 'demo/demo_custom_style'; @import 'demo/demo_custom_style';
@import 'market/index';
.ascribe-wallet-app { .ascribe-wallet-app {
border-radius: 0; border-radius: 0;

View File

@ -0,0 +1 @@
@import 'market_footer';

View File

@ -0,0 +1,15 @@
.whitelabel-footer {
text-align: center;
margin-top: 4em;
padding: 1em 0 1em 0;
hr {
background-color: rgba(0, 0, 0, 0);
//border: 0;
margin-bottom: 1.5em;
}
.ascribe-powered-by {
font-weight: 300 !important;
}
}