Merge pull request #103 from vbaranov/sokol-design

(Feature) Sokol theme
This commit is contained in:
Victor Baranov 2018-03-21 09:38:04 +03:00 committed by GitHub
commit 2c80777d9d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 79 additions and 31 deletions

View File

@ -6,7 +6,7 @@ import './assets/App.css';
import Loading from './Loading'; import Loading from './Loading';
import { inject, observer } from 'mobx-react'; import { inject, observer } from 'mobx-react';
@inject("commonStore") @inject("commonStore","contractsStore")
@observer @observer
class App extends Component { class App extends Component {
onBallotsRender = () => { onBallotsRender = () => {
@ -42,8 +42,8 @@ class App extends Component {
} }
render() { render() {
const { commonStore } = this.props; const { commonStore, contractsStore } = this.props;
const loading = commonStore.loading ? <Loading /> : '' const loading = commonStore.loading ? <Loading netId={contractsStore.netId} /> : ''
const nav = this.shouldShowNavPan() ? <div className="search"> const nav = this.shouldShowNavPan() ? <div className="search">
<div className="container flex-container"> <div className="container flex-container">
<div className="nav"> <div className="nav">
@ -56,14 +56,14 @@ class App extends Component {
return ( return (
<div> <div>
{loading} {loading}
<Header /> <Header netId={contractsStore.netId} />
{nav} {nav}
<Route exact path={`/`} render={this.onBallotsRender}/> <Route exact path={`/`} render={this.onBallotsRender}/>
<Route exact path={`${commonStore.rootPath}/`} render={this.onBallotsRender}/> <Route exact path={`${commonStore.rootPath}/`} render={this.onBallotsRender}/>
<Route exact path={`${commonStore.rootPath}/active`} render={this.onActiveBallotsRender}/> <Route exact path={`${commonStore.rootPath}/active`} render={this.onActiveBallotsRender}/>
<Route path={`${commonStore.rootPath}/new`} render={this.onNewBallotRender}/> <Route path={`${commonStore.rootPath}/new`} render={this.onNewBallotRender}/>
{/*<Route path={`${commonStore.rootPath}/settings`} render={this.onSettingsRender}/>*/} {/*<Route path={`${commonStore.rootPath}/settings`} render={this.onSettingsRender}/>*/}
<Footer /> <Footer netId={contractsStore.netId} />
</div> </div>
); );
} }

View File

@ -1,6 +1,22 @@
import React from 'react'; import React from 'react';
const Loading = () => ( const styles = (netId) => {
<div className="loading-container"> const core = {
backgroundColor: 'rgba(35, 29, 115, 0.8)'
};
const sokol = {
backgroundColor: 'rgba(47, 109, 99, 0.8)'
}
switch(netId) {
case '77':
return sokol;
case '99':
return core;
default:
return {};
}
}
const Loading = ({netId}) => (
<div className="loading-container" style={styles(netId)}>
<div className="loading"> <div className="loading">
<div className="loading-i"></div> <div className="loading-i"></div>
<div className="loading-i"></div> <div className="loading-i"></div>

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -10,6 +10,11 @@
padding: 20px 10px 0; padding: 20px 10px 0;
} }
&.sokol {
background-color: #6ac9b9;
}
.container { .container {
position: relative; position: relative;

View File

@ -15,6 +15,11 @@
overflow: hidden; overflow: hidden;
} }
&.sokol {
background-image: none;
background-color: #6ac9b9;
}
&-logo { &-logo {
@extend %logos; @extend %logos;
float: left; float: left;
@ -23,6 +28,16 @@
background-position: 0 -24px; background-position: 0 -24px;
} }
&-logo-sokol {
@include image-2x('./images/logo_sokol@2x.png', 146px, 35px);
display: inline-block;
width: 146px;
height: 35px;
background-image: url('./images/logo_sokol.png');
background-position: 0 0;
background-repeat: no-repeat;
}
&-settings, &-settings,
&-new-ballot { &-new-ballot {
@extend %button; @extend %button;

View File

@ -103,7 +103,11 @@ export class BallotKeysCard extends React.Component {
} catch(e) { } catch(e) {
console.log(e.message); console.log(e.message);
} }
if (metadata) {
this.miningKey = `${metadata.lastName} ${miningKey}`; this.miningKey = `${metadata.lastName} ${miningKey}`;
} else {
this.miningKey = `${miningKey}`;
}
} }
constructor(props) { constructor(props) {

View File

@ -2,8 +2,10 @@ import React from "react";
import moment from "moment"; import moment from "moment";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
export const Footer = () => ( export const Footer = ({netId}) => {
<footer className="footer"> const footerClassName = netId === '77' ? 'sokol' : '';
return (
<footer className={`footer ${footerClassName}`}>
<div className="container"> <div className="container">
<p className="footer-rights">{moment().format("YYYY")} POA Network. All rights reserved.</p> <p className="footer-rights">{moment().format("YYYY")} POA Network. All rights reserved.</p>
<Link to="/poa-dapps-voting" className="footer-logo"></Link> <Link to="/poa-dapps-voting" className="footer-logo"></Link>
@ -15,4 +17,5 @@ export const Footer = () => (
</div> </div>
</div> </div>
</footer> </footer>
); );
}

View File

@ -1,12 +1,17 @@
import React from 'react'; import React from 'react';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
export const Header = () => ( export const Header = ({netId}) => {
<header className="header"> console.log("netId: ", netId)
let headerClassName = netId === '77' ? 'sokol' : '';
const logoClassName = netId === '77' ? 'header-logo-sokol' : 'header-logo';
return(
<header className={`header ${headerClassName}`}>
<div className="container"> <div className="container">
<Link to="/poa-dapps-voting" className="header-logo"></Link> <Link to="/poa-dapps-voting" className={logoClassName}></Link>
<Link to="/poa-dapps-voting/new" className="header-new-ballot">New ballot</Link> <Link to="/poa-dapps-voting/new" className="header-new-ballot">New ballot</Link>
{/*<Link to="/poa-dapps-voting/settings" className="header-settings">Settings</Link>*/} {/*<Link to="/poa-dapps-voting/settings" className="header-settings">Settings</Link>*/}
</div> </div>
</header> </header>
); )
};