feat: use isTransactionConfirmation from redux

This commit is contained in:
RadoslavDimchev 2023-09-28 19:32:43 +03:00
parent d3e816674e
commit 5d5f285e66
7 changed files with 23 additions and 39 deletions

View File

@ -15,8 +15,9 @@ import { DEPOSIT_SUBTITLE } from '../../../constants'
const Deposit = () => {
const [isInfoBoxVisible, setIsInfoBoxVisible] = useState(true)
const [validatorCount, setValidatorCount] = useState(2)
const { isWalletConnected } = useSelector((state: RootState) => state.deposit)
let isTransactionConfirmation = true
const { isWalletConnected, isTransactionConfirmation } = useSelector(
(state: RootState) => state.deposit,
)
const changeValidatorCountHandler = (value: string) => {
const numberValue = Number(value)
@ -34,7 +35,7 @@ const Deposit = () => {
space={'$3'}
style={{ width: '100%', padding: '16px 32px', alignItems: 'start', paddingBottom: '30px' }}
>
<DepositTitle isTransactionConfirmation={isTransactionConfirmation} />
<DepositTitle />
{isTransactionConfirmation ? (
<Text size={15} weight="regular" color={'#647084'}>
{DEPOSIT_SUBTITLE}
@ -49,11 +50,7 @@ const Deposit = () => {
{isTransactionConfirmation && <ConnectedWallet />}
<DividerLine style={{ marginTop: isTransactionConfirmation ? '0px' : '15px' }} />
{Array.from({ length: validatorCount }).map((_, index) => (
<ValidatorRequest
key={index}
number={index + 1}
isTransactionConfirmation={isTransactionConfirmation}
/>
<ValidatorRequest key={index} number={index + 1} />
))}
{isInfoBoxVisible && !isTransactionConfirmation && (
<InformationBox

View File

@ -15,13 +15,5 @@ export default meta
type Story = StoryObj<typeof meta>
export const Default: Story = {
args: {
isTransactionConfirmation: false,
},
}
export const TransactionConfirmation: Story = {
args: {
isTransactionConfirmation: true,
},
args: {},
}

View File

@ -1,10 +1,11 @@
import { Text } from '@status-im/components'
import { useSelector } from 'react-redux'
type DepositTitleProps = {
isTransactionConfirmation: boolean
}
import { RootState } from '../../../redux/store'
const DepositTitle = () => {
const { isTransactionConfirmation } = useSelector((state: RootState) => state.deposit)
const DepositTitle = ({ isTransactionConfirmation }: DepositTitleProps) => {
return (
<Text size={19} weight={'semibold'}>
{isTransactionConfirmation ? 'Transaction Confirmation' : 'Deposit Funds'}

View File

@ -16,28 +16,24 @@ type Story = StoryObj<typeof meta>
export const Default: Story = {
args: {
isTransactionConfirmation: false,
transactionStatus: '',
},
}
export const Complete: Story = {
args: {
isTransactionConfirmation: true,
transactionStatus: 'Complete',
},
}
export const Pending: Story = {
args: {
isTransactionConfirmation: true,
transactionStatus: 'Pending',
},
}
export const Fail: Story = {
args: {
isTransactionConfirmation: true,
transactionStatus: 'Fail',
},
}

View File

@ -1,16 +1,17 @@
import { Text } from '@status-im/components'
import { FullscreenMacOsIcon, MinimizeMacOsIcon, CloseMacOsIcon } from '@status-im/icons'
import { XStack } from 'tamagui'
import { useSelector } from 'react-redux'
import { RootState } from '../../../redux/store'
type VTransactionStatusProps = {
isTransactionConfirmation: boolean
transactionStatus: string
}
const TransactionStatus = ({
isTransactionConfirmation,
transactionStatus,
}: VTransactionStatusProps) => {
const TransactionStatus = ({ transactionStatus }: VTransactionStatusProps) => {
const { isTransactionConfirmation } = useSelector((state: RootState) => state.deposit)
const isTransactionCompleted = transactionStatus === 'Complete'
return (

View File

@ -17,20 +17,17 @@ type Story = StoryObj<typeof meta>
export const Default: Story = {
args: {
number: 1,
isTransactionConfirmation: false,
},
}
export const TransactionConfirmation: Story = {
args: {
number: 1,
isTransactionConfirmation: true,
},
}
export const BigNumber: Story = {
args: {
number: 123456789,
isTransactionConfirmation: false,
},
}

View File

@ -1,15 +1,18 @@
import { Avatar, DividerLine, Text } from '@status-im/components'
import { XStack, YStack } from 'tamagui'
import { useSelector } from 'react-redux'
import { getFormattedValidatorAddress } from '../../../utilities'
import TransactionStatus from './TransactionStatus'
import { RootState } from '../../../redux/store'
type ValidatorRequestProps = {
number: number
isTransactionConfirmation: boolean
}
const ValidatorRequest = ({ number, isTransactionConfirmation }: ValidatorRequestProps) => {
const ValidatorRequest = ({ number }: ValidatorRequestProps) => {
const { isTransactionConfirmation } = useSelector((state: RootState) => state.deposit)
let transactionStatus = 'Complete'
const isTransactionCompleted = transactionStatus === 'Complete'
@ -54,10 +57,7 @@ const ValidatorRequest = ({ number, isTransactionConfirmation }: ValidatorReques
{isTransactionCompleted ? 32 : 0} ETH
</Text>
)}
<TransactionStatus
isTransactionConfirmation={isTransactionConfirmation}
transactionStatus={transactionStatus}
/>
<TransactionStatus transactionStatus={transactionStatus} />
</XStack>
</XStack>
<DividerLine />