import React from 'react'; import classNames from 'classnames'; import AppBase from '../../app_base'; import withContext from '../../context/with_context'; import Header from '../../header'; import { routerShape } from '../../prop_types'; import { getCurrentSubdomain } from '../../../utils/url'; let WalletApp = React.createClass({ propTypes: { activeRoute: React.PropTypes.object.isRequired, children: React.PropTypes.element.isRequired, routes: React.PropTypes.arrayOf(React.PropTypes.object).isRequired, // Injected through HOCs router: routerShape.isRequired // eslint-disable-line react/sort-prop-types }, render() { const { activeRoute, children, router, routes } = this.props; const subdomain = getCurrentSubdomain(); const path = activeRoute && activeRoute.path; const RouteFooterType = activeRoute && activeRoute.footer; let header = null; // if the path of the current activeRoute is not defined, then this is the IndexRoute if ((!path || router.isActive('/login') || router.isActive('/signup') || router.isActive('/contract_notifications')) && (['cyland', 'ikonotv', 'lumenus', '23vivi', 'polline', 'artcity', 'demo', 'liquidgallery']).includes(subdomain)) { header = (
); } else { header = (
); } // In react-router 1.0, Routes have no 'name' property anymore. To keep functionality however, // we split the path by the first occurring slash and take the first splitter. return (
{header}
{/* Routes are injected here */} {children}
{RouteFooterType ? : null}
); } }); export default AppBase(withContext(WalletApp, 'router'));