diff options
Diffstat (limited to 'ui/app/pages')
-rw-r--r-- | ui/app/pages/home/home.container.js | 2 | ||||
-rw-r--r-- | ui/app/pages/notice/notice.js | 203 | ||||
-rw-r--r-- | ui/app/pages/routes/index.js | 10 |
3 files changed, 1 insertions, 214 deletions
diff --git a/ui/app/pages/home/home.container.js b/ui/app/pages/home/home.container.js index 02ec4b9c6..7508654dc 100644 --- a/ui/app/pages/home/home.container.js +++ b/ui/app/pages/home/home.container.js @@ -7,7 +7,6 @@ import { unconfirmedTransactionsCountSelector } from '../../selectors/confirm-tr const mapStateToProps = state => { const { metamask, appState } = state const { - noActiveNotices, lostAccounts, seedWords, suggestedTokens, @@ -16,7 +15,6 @@ const mapStateToProps = state => { const { forgottenPassword } = appState return { - noActiveNotices, lostAccounts, forgottenPassword, seedWords, diff --git a/ui/app/pages/notice/notice.js b/ui/app/pages/notice/notice.js deleted file mode 100644 index d8274dfcb..000000000 --- a/ui/app/pages/notice/notice.js +++ /dev/null @@ -1,203 +0,0 @@ -const { Component } = require('react') -const h = require('react-hyperscript') -const { connect } = require('react-redux') -const PropTypes = require('prop-types') -const ReactMarkdown = require('react-markdown') -const linker = require('extension-link-enabler') -const generateLostAccountsNotice = require('../../../lib/lost-accounts-notice') -const findDOMNode = require('react-dom').findDOMNode -const actions = require('../../store/actions') -const { DEFAULT_ROUTE } = require('../../helpers/constants/routes') - -class Notice extends Component { - constructor (props) { - super(props) - - this.state = { - disclaimerDisabled: true, - } - } - - componentWillMount () { - if (!this.props.notice) { - this.props.history.push(DEFAULT_ROUTE) - } - } - - componentDidMount () { - // eslint-disable-next-line react/no-find-dom-node - var node = findDOMNode(this) - linker.setupListener(node) - if (document.getElementsByClassName('notice-box')[0].clientHeight < 310) { - this.setState({ disclaimerDisabled: false }) - } - } - - componentWillReceiveProps (nextProps) { - if (!nextProps.notice) { - this.props.history.push(DEFAULT_ROUTE) - } - } - - componentWillUnmount () { - // eslint-disable-next-line react/no-find-dom-node - var node = findDOMNode(this) - linker.teardownListener(node) - } - - handleAccept () { - this.setState({ disclaimerDisabled: true }) - this.props.onConfirm() - } - - render () { - const { notice = {} } = this.props - const { title, date, body } = notice - const { disclaimerDisabled } = this.state - - return ( - h('.flex-column.flex-center.flex-grow', { - style: { - width: '100%', - }, - }, [ - h('h3.flex-center.text-transform-uppercase.terms-header', { - style: { - background: '#EBEBEB', - color: '#AEAEAE', - width: '100%', - fontSize: '20px', - textAlign: 'center', - padding: 6, - }, - }, [ - title, - ]), - - h('h5.flex-center.text-transform-uppercase.terms-header', { - style: { - background: '#EBEBEB', - color: '#AEAEAE', - marginBottom: 24, - width: '100%', - fontSize: '20px', - textAlign: 'center', - padding: 6, - }, - }, [ - date, - ]), - - h('style', ` - - .markdown { - overflow-x: hidden; - } - - .markdown h1, .markdown h2, .markdown h3 { - margin: 10px 0; - font-weight: bold; - } - - .markdown strong { - font-weight: bold; - } - .markdown em { - font-style: italic; - } - - .markdown p { - margin: 10px 0; - } - - .markdown a { - color: #df6b0e; - } - - `), - - h('div.markdown', { - onScroll: (e) => { - var object = e.currentTarget - if (object.offsetHeight + object.scrollTop + 100 >= object.scrollHeight) { - this.setState({ disclaimerDisabled: false }) - } - }, - style: { - background: 'rgb(235, 235, 235)', - height: '310px', - padding: '6px', - width: '90%', - overflowY: 'scroll', - scroll: 'auto', - }, - }, [ - h(ReactMarkdown, { - className: 'notice-box', - source: body, - skipHtml: true, - }), - ]), - - h('button.primary', { - disabled: disclaimerDisabled, - onClick: () => this.handleAccept(), - style: { - marginTop: '18px', - }, - }, 'Accept'), - ]) - ) - } - -} - -const mapStateToProps = state => { - const { metamask } = state - const { noActiveNotices, nextUnreadNotice, lostAccounts } = metamask - - return { - noActiveNotices, - nextUnreadNotice, - lostAccounts, - } -} - -Notice.propTypes = { - notice: PropTypes.object, - onConfirm: PropTypes.func, - history: PropTypes.object, -} - -const mapDispatchToProps = dispatch => { - return { - markNoticeRead: nextUnreadNotice => dispatch(actions.markNoticeRead(nextUnreadNotice)), - markAccountsFound: () => dispatch(actions.markAccountsFound()), - } -} - -const mergeProps = (stateProps, dispatchProps, ownProps) => { - const { noActiveNotices, nextUnreadNotice, lostAccounts } = stateProps - const { markNoticeRead, markAccountsFound } = dispatchProps - - let notice - let onConfirm - - if (!noActiveNotices) { - notice = nextUnreadNotice - onConfirm = () => markNoticeRead(nextUnreadNotice) - } else if (lostAccounts && lostAccounts.length > 0) { - notice = generateLostAccountsNotice(lostAccounts) - onConfirm = () => markAccountsFound() - } - - return { - ...stateProps, - ...dispatchProps, - ...ownProps, - notice, - onConfirm, - } -} - -module.exports = connect(mapStateToProps, mapDispatchToProps, mergeProps)(Notice) diff --git a/ui/app/pages/routes/index.js b/ui/app/pages/routes/index.js index 460cec958..e06d88c90 100644 --- a/ui/app/pages/routes/index.js +++ b/ui/app/pages/routes/index.js @@ -31,7 +31,6 @@ const AddTokenPage = require('../add-token') const ConfirmAddTokenPage = require('../confirm-add-token') const ConfirmAddSuggestedTokenPage = require('../confirm-add-suggested-token') const CreateAccountPage = require('../create-account') -const NoticeScreen = require('../notice/notice') const Loading = require('../../components/ui/loading-screen') const LoadingNetwork = require('../../components/app/loading-network-screen').default @@ -67,7 +66,6 @@ import { CONFIRM_TRANSACTION_ROUTE, INITIALIZE_ROUTE, INITIALIZE_UNLOCK_ROUTE, - NOTICE_ROUTE, } from '../../helpers/constants/routes' // enums @@ -109,7 +107,6 @@ class Routes extends Component { <Authenticated path={REVEAL_SEED_ROUTE} component={RevealSeedConfirmation} exact /> <Authenticated path={MOBILE_SYNC_ROUTE} component={MobileSyncPage} exact /> <Authenticated path={SETTINGS_ROUTE} component={Settings} /> - <Authenticated path={NOTICE_ROUTE} component={NoticeScreen} exact /> <Authenticated path={`${CONFIRM_TRANSACTION_ROUTE}/:id?`} component={ConfirmTransaction} /> <Authenticated path={SEND_ROUTE} component={SendTransactionScreen} exact /> <Authenticated path={ADD_TOKEN_ROUTE} component={AddTokenPage} exact /> @@ -322,7 +319,6 @@ Routes.propTypes = { dispatch: PropTypes.func, toggleAccountMenu: PropTypes.func, selectedAddress: PropTypes.string, - noActiveNotices: PropTypes.bool, lostAccounts: PropTypes.array, isInitialized: PropTypes.bool, forgottenPassword: PropTypes.bool, @@ -360,10 +356,8 @@ function mapStateToProps (state) { address, keyrings, isInitialized, - noActiveNotices, seedWords, unapprovedTxs, - nextUnreadNotice, lostAccounts, unapprovedMsgCount, unapprovedPersonalMsgCount, @@ -380,14 +374,13 @@ function mapStateToProps (state) { alertMessage, isLoading, loadingMessage, - noActiveNotices, isInitialized, isUnlocked: state.metamask.isUnlocked, selectedAddress: state.metamask.selectedAddress, currentView: state.appState.currentView, activeAddress: state.appState.activeAddress, transForward: state.appState.transForward, - isOnboarding: Boolean(!noActiveNotices || seedWords || !isInitialized), + isOnboarding: Boolean(seedWords || !isInitialized), isPopup: state.metamask.isPopup, seedWords: state.metamask.seedWords, submittedPendingTransactions: submittedPendingTransactionsSelector(state), @@ -400,7 +393,6 @@ function mapStateToProps (state) { network: state.metamask.network, provider: state.metamask.provider, forgottenPassword: state.appState.forgottenPassword, - nextUnreadNotice, lostAccounts, frequentRpcListDetail: state.metamask.frequentRpcListDetail || [], currentCurrency: state.metamask.currentCurrency, |