Browse Source

Open OperationDetail modal after transaction success

master
meriadec 7 years ago
parent
commit
63da0bdf0c
No known key found for this signature in database GPG Key ID: 1D2FC2305E2CB399
  1. 7
      src/components/modals/OperationDetails.js
  2. 16
      src/components/modals/Send/index.js
  3. 10
      src/components/modals/Send/steps/04-step-confirmation.js

7
src/components/modals/OperationDetails.js

@ -243,16 +243,13 @@ const OperationDetails = connect(mapStateToProps)((props: Props) => {
<GradientBox />
</ModalContent>
{url && (
<ModalFooter horizontal justify="flex-end" flow={2}>
<Button padded onClick={onClose}>
{t('app:common.cancel')}
</Button>
{url ? (
<Button primary padded onClick={() => shell.openExternal(url)}>
{t('app:operationDetails.viewOperation')}
</Button>
) : null}
</ModalFooter>
)}
</ModalBody>
)
})

16
src/components/modals/Send/index.js

@ -20,7 +20,7 @@ import type { StepProps as DefaultStepProps } from 'components/base/Stepper'
import { getCurrentDevice } from 'reducers/devices'
import { accountsSelector } from 'reducers/accounts'
import { closeModal } from 'reducers/modals'
import { closeModal, openModal } from 'reducers/modals'
import Modal from 'components/base/Modal'
import Stepper from 'components/base/Stepper'
@ -38,6 +38,7 @@ type Props = {
device: ?Device,
accounts: Account[],
closeModal: string => void,
openModal: (string, any) => void,
updateAccountWithUpdater: (string, (Account) => Account) => void,
}
@ -62,6 +63,7 @@ export type StepProps<Transaction> = DefaultStepProps & {
error: ?Error,
optimisticOperation: ?Operation,
closeModal: void => void,
openModal: (string, any) => void,
isAppOpened: boolean,
onChangeAccount: (?Account) => void,
onChangeAppOpened: boolean => void,
@ -111,6 +113,7 @@ const mapStateToProps = createStructuredSelector({
const mapDispatchToProps = {
closeModal,
openModal,
updateAccountWithUpdater,
}
@ -128,10 +131,8 @@ const INITIAL_STATE = {
}
class SendModal extends PureComponent<Props, State<*>> {
state = INITIAL_STATE
STEPS = createSteps({ t: this.props.t })
_signTransactionSub = null
_isUnmounted = false
componentWillUnmount() {
if (this._signTransactionSub) {
@ -139,6 +140,10 @@ class SendModal extends PureComponent<Props, State<*>> {
}
}
STEPS = createSteps({ t: this.props.t })
_signTransactionSub = null
_isUnmounted = false
handleReset = () => this.setState({ ...INITIAL_STATE })
handleCloseModal = () => this.props.closeModal(MODAL_SEND)
@ -218,7 +223,7 @@ class SendModal extends PureComponent<Props, State<*>> {
}
render() {
const { t, device } = this.props
const { t, device, openModal } = this.props
const {
stepId,
account,
@ -239,6 +244,7 @@ class SendModal extends PureComponent<Props, State<*>> {
isAppOpened,
error,
optimisticOperation,
openModal,
closeModal: this.handleCloseModal,
onChangeAccount: this.handleChangeAccount,
onChangeAppOpened: this.handleChangeAppOpened,

10
src/components/modals/Send/steps/04-step-confirmation.js

@ -1,10 +1,10 @@
// @flow
import React, { Fragment } from 'react'
import { shell } from 'electron'
import styled from 'styled-components'
import { getAccountOperationExplorer } from '@ledgerhq/live-common/lib/explorers'
import { MODAL_OPERATION_DETAILS } from 'config/constants'
import { colors } from 'styles/theme'
import { multiline } from 'styles/helpers'
@ -83,6 +83,7 @@ export function StepConfirmationFooter({
onRetry,
optimisticOperation,
error,
openModal,
closeModal,
}: StepProps<*>) {
const url =
@ -96,8 +97,13 @@ export function StepConfirmationFooter({
<Button
ml={2}
onClick={() => {
shell.openExternal(url)
closeModal()
if (account && optimisticOperation) {
openModal(MODAL_OPERATION_DETAILS, {
operationId: optimisticOperation.id,
accountId: account.id,
})
}
}}
primary
>

Loading…
Cancel
Save