feature: add console route

This commit is contained in:
George Lima 2018-12-05 13:32:13 -03:00
parent 3315554e50
commit 5112ac9948
4 changed files with 49 additions and 2 deletions

View File

@ -4,3 +4,4 @@ export const DASHBOARD_ROUTE = '/';
export const SEND_ROUTE = '/send';
export const RECEIVE_ROUTE = '/receive';
export const SETTINGS_ROUTE = '/settings';
export const CONSOLE_ROUTE = '/console';

View File

@ -1,7 +1,7 @@
// @flow
import {
DASHBOARD_ROUTE, SEND_ROUTE, RECEIVE_ROUTE, SETTINGS_ROUTE,
DASHBOARD_ROUTE, SEND_ROUTE, RECEIVE_ROUTE, SETTINGS_ROUTE, CONSOLE_ROUTE,
} from './routes';
export const MENU_OPTIONS = [
@ -17,6 +17,10 @@ export const MENU_OPTIONS = [
label: 'Receive',
route: RECEIVE_ROUTE,
},
{
label: 'Console',
route: CONSOLE_ROUTE,
},
{
label: 'Settings',
route: SETTINGS_ROUTE,

View File

@ -10,9 +10,11 @@ import { SendView } from '../views/send';
import { ReceiveView } from '../views/receive';
import { SettingsView } from '../views/settings';
import { NotFoundView } from '../views/not-found';
import { ConsoleView } from '../views/console';
import { LayoutComponent } from '../components/layout';
import {
DASHBOARD_ROUTE, SEND_ROUTE, RECEIVE_ROUTE, SETTINGS_ROUTE,
DASHBOARD_ROUTE, SEND_ROUTE, RECEIVE_ROUTE, SETTINGS_ROUTE, CONSOLE_ROUTE,
} from '../constants/routes';
export const RouterComponent = () => (
@ -26,6 +28,7 @@ export const RouterComponent = () => (
<Route path={SEND_ROUTE} component={SendView} />
<Route path={RECEIVE_ROUTE} component={ReceiveView} />
<Route path={SETTINGS_ROUTE} component={SettingsView} />
<Route path={CONSOLE_ROUTE} component={ConsoleView} />
<Route component={NotFoundView} />
</Switch>
</LayoutComponent>

39
app/views/console.js Normal file
View File

@ -0,0 +1,39 @@
// @flow
import React, { Component, Fragment } from 'react';
/* eslint-disable-next-line import/no-extraneous-dependencies */
import { ipcRenderer } from 'electron';
type Props = {};
type State = {
log: string | null,
};
export class ConsoleView extends Component<Props, State> {
state = {
log: null,
};
componentDidMount() {
ipcRenderer.on('zcashd-log', (event, message) => {
this.setState({
log: message,
});
});
}
render() {
return (
<div className='dashboard'>
{this.state.log
&& this.state.log.split('\n').map(item => (
<Fragment key={`${item.slice(0, 10)}`}>
{item}
<br />
</Fragment>
))}
</div>
);
}
}