skubakdj 68e5972a03 Sign & Verify Message (#315)
* add route and nav tab for new module

* add new module to tabs index

* add signMessage to wallet interface

* add signed message verification, normalize pkey sign

* init Sign & Verify Message tab

* reorder imports

* mock out Trezor

* cast to bool instead of length check

* normalize ledger sign message

* fix broken this context

* add commented message signing to trezor wallet

* correct var to start on sign tab

* remove unused state var

* clean up SignMessage classes

* clean up VerifyMessage classes, remove unnecessary log

* correct event variable types

* remove unnecessary exports

* remove empty classname

* use implicit return

* shorten signMessage method

* remove unnecessary disable

* tweak variable name

* make better use of destructuring, remove console log

* use destructured var

* flatten if statement

* add signMessage method to wallet reducer test
2017-10-30 12:10:25 -07:00

60 lines
1.6 KiB
TypeScript

import React, { Component } from 'react';
import translate from 'translations';
import SignMessage from './components/SignMessage';
import VerifyMessage from './components/VerifyMessage';
import TabSection from 'containers/TabSection';
import './index.scss';
interface State {
activeTab: string;
}
export default class SignAndVerifyMessage extends Component<{}, State> {
public state: State = {
activeTab: 'sign'
};
public changeTab = activeTab => () => this.setState({ activeTab });
public render() {
const { activeTab } = this.state;
let content;
let signActive = '';
let verifyActive = '';
if (activeTab === 'sign') {
content = <SignMessage />;
signActive = 'is-active';
} else {
content = <VerifyMessage />;
verifyActive = 'is-active';
}
return (
<TabSection>
<section className="Tab-content SignAndVerifyMsg">
<div className="Tab-content-pane">
<h1 className="SignAndVerifyMsg-header">
<button
className={`SignAndVerifyMsg-header-tab ${signActive}`}
onClick={this.changeTab('sign')}
>
{translate('Sign Message')}
</button>{' '}
<span>or</span>{' '}
<button
className={`SignAndVerifyMsg-header-tab ${verifyActive}`}
onClick={this.changeTab('verify')}
>
{translate('Verify Message')}
</button>
</h1>
</div>
<main role="main">{content}</main>
</section>
</TabSection>
);
}
}