mirror of
https://github.com/status-im/nimbus-gui.git
synced 2025-02-15 12:56:38 +00:00
feat: use isTransactionConfirmation from redux
This commit is contained in:
parent
d3e816674e
commit
5d5f285e66
@ -15,8 +15,9 @@ import { DEPOSIT_SUBTITLE } from '../../../constants'
|
|||||||
const Deposit = () => {
|
const Deposit = () => {
|
||||||
const [isInfoBoxVisible, setIsInfoBoxVisible] = useState(true)
|
const [isInfoBoxVisible, setIsInfoBoxVisible] = useState(true)
|
||||||
const [validatorCount, setValidatorCount] = useState(2)
|
const [validatorCount, setValidatorCount] = useState(2)
|
||||||
const { isWalletConnected } = useSelector((state: RootState) => state.deposit)
|
const { isWalletConnected, isTransactionConfirmation } = useSelector(
|
||||||
let isTransactionConfirmation = true
|
(state: RootState) => state.deposit,
|
||||||
|
)
|
||||||
|
|
||||||
const changeValidatorCountHandler = (value: string) => {
|
const changeValidatorCountHandler = (value: string) => {
|
||||||
const numberValue = Number(value)
|
const numberValue = Number(value)
|
||||||
@ -34,7 +35,7 @@ const Deposit = () => {
|
|||||||
space={'$3'}
|
space={'$3'}
|
||||||
style={{ width: '100%', padding: '16px 32px', alignItems: 'start', paddingBottom: '30px' }}
|
style={{ width: '100%', padding: '16px 32px', alignItems: 'start', paddingBottom: '30px' }}
|
||||||
>
|
>
|
||||||
<DepositTitle isTransactionConfirmation={isTransactionConfirmation} />
|
<DepositTitle />
|
||||||
{isTransactionConfirmation ? (
|
{isTransactionConfirmation ? (
|
||||||
<Text size={15} weight="regular" color={'#647084'}>
|
<Text size={15} weight="regular" color={'#647084'}>
|
||||||
{DEPOSIT_SUBTITLE}
|
{DEPOSIT_SUBTITLE}
|
||||||
@ -49,11 +50,7 @@ const Deposit = () => {
|
|||||||
{isTransactionConfirmation && <ConnectedWallet />}
|
{isTransactionConfirmation && <ConnectedWallet />}
|
||||||
<DividerLine style={{ marginTop: isTransactionConfirmation ? '0px' : '15px' }} />
|
<DividerLine style={{ marginTop: isTransactionConfirmation ? '0px' : '15px' }} />
|
||||||
{Array.from({ length: validatorCount }).map((_, index) => (
|
{Array.from({ length: validatorCount }).map((_, index) => (
|
||||||
<ValidatorRequest
|
<ValidatorRequest key={index} number={index + 1} />
|
||||||
key={index}
|
|
||||||
number={index + 1}
|
|
||||||
isTransactionConfirmation={isTransactionConfirmation}
|
|
||||||
/>
|
|
||||||
))}
|
))}
|
||||||
{isInfoBoxVisible && !isTransactionConfirmation && (
|
{isInfoBoxVisible && !isTransactionConfirmation && (
|
||||||
<InformationBox
|
<InformationBox
|
||||||
|
@ -15,13 +15,5 @@ export default meta
|
|||||||
type Story = StoryObj<typeof meta>
|
type Story = StoryObj<typeof meta>
|
||||||
|
|
||||||
export const Default: Story = {
|
export const Default: Story = {
|
||||||
args: {
|
args: {},
|
||||||
isTransactionConfirmation: false,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
export const TransactionConfirmation: Story = {
|
|
||||||
args: {
|
|
||||||
isTransactionConfirmation: true,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
import { Text } from '@status-im/components'
|
import { Text } from '@status-im/components'
|
||||||
|
import { useSelector } from 'react-redux'
|
||||||
|
|
||||||
type DepositTitleProps = {
|
import { RootState } from '../../../redux/store'
|
||||||
isTransactionConfirmation: boolean
|
|
||||||
}
|
const DepositTitle = () => {
|
||||||
|
const { isTransactionConfirmation } = useSelector((state: RootState) => state.deposit)
|
||||||
|
|
||||||
const DepositTitle = ({ isTransactionConfirmation }: DepositTitleProps) => {
|
|
||||||
return (
|
return (
|
||||||
<Text size={19} weight={'semibold'}>
|
<Text size={19} weight={'semibold'}>
|
||||||
{isTransactionConfirmation ? 'Transaction Confirmation' : 'Deposit Funds'}
|
{isTransactionConfirmation ? 'Transaction Confirmation' : 'Deposit Funds'}
|
||||||
|
@ -16,28 +16,24 @@ type Story = StoryObj<typeof meta>
|
|||||||
|
|
||||||
export const Default: Story = {
|
export const Default: Story = {
|
||||||
args: {
|
args: {
|
||||||
isTransactionConfirmation: false,
|
|
||||||
transactionStatus: '',
|
transactionStatus: '',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Complete: Story = {
|
export const Complete: Story = {
|
||||||
args: {
|
args: {
|
||||||
isTransactionConfirmation: true,
|
|
||||||
transactionStatus: 'Complete',
|
transactionStatus: 'Complete',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Pending: Story = {
|
export const Pending: Story = {
|
||||||
args: {
|
args: {
|
||||||
isTransactionConfirmation: true,
|
|
||||||
transactionStatus: 'Pending',
|
transactionStatus: 'Pending',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Fail: Story = {
|
export const Fail: Story = {
|
||||||
args: {
|
args: {
|
||||||
isTransactionConfirmation: true,
|
|
||||||
transactionStatus: 'Fail',
|
transactionStatus: 'Fail',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
import { Text } from '@status-im/components'
|
import { Text } from '@status-im/components'
|
||||||
import { FullscreenMacOsIcon, MinimizeMacOsIcon, CloseMacOsIcon } from '@status-im/icons'
|
import { FullscreenMacOsIcon, MinimizeMacOsIcon, CloseMacOsIcon } from '@status-im/icons'
|
||||||
import { XStack } from 'tamagui'
|
import { XStack } from 'tamagui'
|
||||||
|
import { useSelector } from 'react-redux'
|
||||||
|
|
||||||
|
import { RootState } from '../../../redux/store'
|
||||||
|
|
||||||
type VTransactionStatusProps = {
|
type VTransactionStatusProps = {
|
||||||
isTransactionConfirmation: boolean
|
|
||||||
transactionStatus: string
|
transactionStatus: string
|
||||||
}
|
}
|
||||||
|
|
||||||
const TransactionStatus = ({
|
const TransactionStatus = ({ transactionStatus }: VTransactionStatusProps) => {
|
||||||
isTransactionConfirmation,
|
const { isTransactionConfirmation } = useSelector((state: RootState) => state.deposit)
|
||||||
transactionStatus,
|
|
||||||
}: VTransactionStatusProps) => {
|
|
||||||
const isTransactionCompleted = transactionStatus === 'Complete'
|
const isTransactionCompleted = transactionStatus === 'Complete'
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -17,20 +17,17 @@ type Story = StoryObj<typeof meta>
|
|||||||
export const Default: Story = {
|
export const Default: Story = {
|
||||||
args: {
|
args: {
|
||||||
number: 1,
|
number: 1,
|
||||||
isTransactionConfirmation: false,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export const TransactionConfirmation: Story = {
|
export const TransactionConfirmation: Story = {
|
||||||
args: {
|
args: {
|
||||||
number: 1,
|
number: 1,
|
||||||
isTransactionConfirmation: true,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export const BigNumber: Story = {
|
export const BigNumber: Story = {
|
||||||
args: {
|
args: {
|
||||||
number: 123456789,
|
number: 123456789,
|
||||||
isTransactionConfirmation: false,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,18 @@
|
|||||||
import { Avatar, DividerLine, Text } from '@status-im/components'
|
import { Avatar, DividerLine, Text } from '@status-im/components'
|
||||||
import { XStack, YStack } from 'tamagui'
|
import { XStack, YStack } from 'tamagui'
|
||||||
|
import { useSelector } from 'react-redux'
|
||||||
|
|
||||||
import { getFormattedValidatorAddress } from '../../../utilities'
|
import { getFormattedValidatorAddress } from '../../../utilities'
|
||||||
import TransactionStatus from './TransactionStatus'
|
import TransactionStatus from './TransactionStatus'
|
||||||
|
import { RootState } from '../../../redux/store'
|
||||||
|
|
||||||
type ValidatorRequestProps = {
|
type ValidatorRequestProps = {
|
||||||
number: number
|
number: number
|
||||||
isTransactionConfirmation: boolean
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const ValidatorRequest = ({ number, isTransactionConfirmation }: ValidatorRequestProps) => {
|
const ValidatorRequest = ({ number }: ValidatorRequestProps) => {
|
||||||
|
const { isTransactionConfirmation } = useSelector((state: RootState) => state.deposit)
|
||||||
|
|
||||||
let transactionStatus = 'Complete'
|
let transactionStatus = 'Complete'
|
||||||
const isTransactionCompleted = transactionStatus === 'Complete'
|
const isTransactionCompleted = transactionStatus === 'Complete'
|
||||||
|
|
||||||
@ -54,10 +57,7 @@ const ValidatorRequest = ({ number, isTransactionConfirmation }: ValidatorReques
|
|||||||
{isTransactionCompleted ? 32 : 0} ETH
|
{isTransactionCompleted ? 32 : 0} ETH
|
||||||
</Text>
|
</Text>
|
||||||
)}
|
)}
|
||||||
<TransactionStatus
|
<TransactionStatus transactionStatus={transactionStatus} />
|
||||||
isTransactionConfirmation={isTransactionConfirmation}
|
|
||||||
transactionStatus={transactionStatus}
|
|
||||||
/>
|
|
||||||
</XStack>
|
</XStack>
|
||||||
</XStack>
|
</XStack>
|
||||||
<DividerLine />
|
<DividerLine />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user