Skip to content

Commit

Permalink
wip: CRs
Browse files Browse the repository at this point in the history
  • Loading branch information
stackchain committed Mar 28, 2023
1 parent b5986a1 commit eece46e
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 27 deletions.
2 changes: 1 addition & 1 deletion .storybook/storybook.requires.js
Expand Up @@ -99,9 +99,9 @@ const getStories = () => {
"./src/features/Send/useCases/ListSelectedTokens/AddToken/AddToken.stories.tsx": require("../src/features/Send/useCases/ListSelectedTokens/AddToken/AddToken.stories.tsx"),
"./src/features/Send/useCases/ListSelectedTokens/AddToken/SelectTokenFromListScreen.stories.tsx": require("../src/features/Send/useCases/ListSelectedTokens/AddToken/SelectTokenFromListScreen.stories.tsx"),
"./src/features/Send/useCases/ListSelectedTokens/AddToken/ShowError/MaxTokensPerTx.stories.tsx": require("../src/features/Send/useCases/ListSelectedTokens/AddToken/ShowError/MaxTokensPerTx.stories.tsx"),
"./src/features/Send/useCases/ListSelectedTokens/DeleteToken.stories.tsx": require("../src/features/Send/useCases/ListSelectedTokens/DeleteToken.stories.tsx"),
"./src/features/Send/useCases/ListSelectedTokens/EditAmount/EditAmountScreen.stories.tsx": require("../src/features/Send/useCases/ListSelectedTokens/EditAmount/EditAmountScreen.stories.tsx"),
"./src/features/Send/useCases/ListSelectedTokens/ListSelectedTokensScreen.stories.tsx": require("../src/features/Send/useCases/ListSelectedTokens/ListSelectedTokensScreen.stories.tsx"),
"./src/features/Send/useCases/ListSelectedTokens/RemoveToken.stories.tsx": require("../src/features/Send/useCases/ListSelectedTokens/RemoveToken.stories.tsx"),
"./src/features/Send/useCases/StartMultiTokenTx/InputReceiver/ReadQRCodeScreen.stories.tsx": require("../src/features/Send/useCases/StartMultiTokenTx/InputReceiver/ReadQRCodeScreen.stories.tsx"),
"./src/features/Send/useCases/StartMultiTokenTx/StartMultiTokenTxScreen.stories.tsx": require("../src/features/Send/useCases/StartMultiTokenTx/StartMultiTokenTxScreen.stories.tsx"),
"./src/FirstRun/LanguagePickerScreen/LanguagePickerScreen.stories.tsx": require("../src/FirstRun/LanguagePickerScreen/LanguagePickerScreen.stories.tsx"),
Expand Down
11 changes: 7 additions & 4 deletions src/features/Send/useCases/ConfirmTx/ConfirmTxScreen.tsx
Expand Up @@ -25,7 +25,10 @@ export const ConfirmTxScreen = () => {
const wallet = useSelectedWallet()
const [password, setPassword] = React.useState('')
const [useUSB, setUseUSB] = React.useState(false)
const {memo, resetForm, yoroiUnsignedTx} = useSend()

const {memo, resetForm, yoroiUnsignedTx, targets} = useSend()
if (!yoroiUnsignedTx) throw new Error('No unsigned tx')

const {saveMemo} = useSaveMemo({wallet})

useEffect(() => {
Expand All @@ -45,8 +48,6 @@ export const ConfirmTxScreen = () => {

const scrollViewRef = useFlashAndScroll()

if (!yoroiUnsignedTx) return null

return (
<View style={styles.root}>
<CurrentBalance />
Expand All @@ -60,7 +61,9 @@ export const ConfirmTxScreen = () => {

<Spacer height={16} />

<ReceiverInfo />
{targets.map((target, index) => (
<ReceiverInfo key={index} address={target.entry.address} receiver={target.receiver} />
))}
</View>

<ScrollView
Expand Down
4 changes: 2 additions & 2 deletions src/features/Send/useCases/ConfirmTx/Summary/BalanceAfter.tsx
Expand Up @@ -23,10 +23,10 @@ export const BalanceAfter = ({yoroiUnsignedTx}: {yoroiUnsignedTx: YoroiUnsignedT
]),
)
const primaryAmountAfter = Amounts.getAmount(balancesAfter, wallet.primaryToken.identifier)
const text = `${strings.balanceAfterTx}: ${formatTokenWithSymbol(primaryAmountAfter.quantity, wallet.primaryToken)}`

return (
<Text small testID="balanceAfterTxText">
{text}
{`${strings.balanceAfterTx}: ${formatTokenWithSymbol(primaryAmountAfter.quantity, wallet.primaryToken)}`}
</Text>
)
}
Expand Down
4 changes: 2 additions & 2 deletions src/features/Send/useCases/ConfirmTx/Summary/Fees.tsx
Expand Up @@ -12,10 +12,10 @@ export const Fees = ({yoroiUnsignedTx}: {yoroiUnsignedTx: YoroiUnsignedTx}) => {
const strings = useStrings()
const wallet = useSelectedWallet()
const feeAmount = Amounts.getAmount(yoroiUnsignedTx.fee, wallet.primaryToken.identifier)
const text = `${strings.fees}: ${formatTokenWithSymbol(feeAmount.quantity, wallet.primaryToken)}`

return (
<Text small testID="feesText">
{text}
{`${strings.fees}: ${formatTokenWithSymbol(feeAmount.quantity, wallet.primaryToken)}`}
</Text>
)
}
Expand Down
10 changes: 5 additions & 5 deletions src/features/Send/useCases/ConfirmTx/Summary/ReceiverInfo.tsx
Expand Up @@ -4,14 +4,14 @@ import {View} from 'react-native'

import {Text} from '../../../../../components/Text'
import {txLabels} from '../../../../../i18n/global-messages'
import {useSend} from '../../../common/SendContext'

export const ReceiverInfo = () => {
type Props = {
receiver: string
address: string
}
export const ReceiverInfo = ({receiver, address}: Props) => {
const strings = useStrings()
const {targets} = useSend()

const receiver = targets[0].receiver
const address = targets[0].entry.address
const isResolved = receiver !== address

return (
Expand Down
Expand Up @@ -18,7 +18,7 @@ import {TokenId, TokenInfo, YoroiAmount, YoroiEntry, YoroiUnsignedTx} from '../.
import {Amounts} from '../../../../yoroi-wallets/utils'
import {useSend} from '../../common/SendContext'
import {AddTokenButton} from './AddToken/AddToken'
import {DeleteToken} from './DeleteToken'
import {RemoveToken} from './RemoveToken'
import {useWhenEmptyAddToken} from './WhenEmptyAddToken'

export const ListSelectedTokensScreen = () => {
Expand Down Expand Up @@ -97,11 +97,11 @@ const SelectableToken = ({amount: {quantity, tokenId}, onDelete, onSelect}: Sele
const handleSelect = () => onSelect(tokenId)

return (
<DeleteToken onDelete={handleDelete} tokenInfo={tokenInfo}>
<RemoveToken onDelete={handleDelete} tokenInfo={tokenInfo}>
<TouchableOpacity style={{paddingVertical: 16}} onPress={handleSelect} testID="selectToken">
<AssetItem tokenInfo={tokenInfo} quantity={quantity} />
</TouchableOpacity>
</DeleteToken>
</RemoveToken>
)
}

Expand Down
Expand Up @@ -8,39 +8,39 @@ import {Spacer} from '../../../../components'
import {AssetItem} from '../../../../components/AssetItem'
import {SelectedWalletProvider} from '../../../../SelectedWallet'
import {mocks} from '../../../../yoroi-wallets/mocks'
import {DeleteToken} from './DeleteToken'
import {RemoveToken} from './RemoveToken'

const primaryTokenInfo = mocks.wallet.primaryTokenInfo
const primaryBalance = mocks.balances[primaryTokenInfo.id]

const tokenInfo = mocks.tokenInfos['698a6ea0ca99f315034072af31eaac6ec11fe8558d3f48e9775aab9d.7444524950']
const tokenBalance = mocks.balances['698a6ea0ca99f315034072af31eaac6ec11fe8558d3f48e9775aab9d.7444524950']

storiesOf('Send/SelectedTokens/DeleteToken', module).add('Gallery', () => (
storiesOf('Send/SelectedTokens/RemoveToken', module).add('Gallery', () => (
<QueryProvider>
<SelectedWalletProvider wallet={mocks.wallet}>
<View style={{flex: 1, justifyContent: 'center', padding: 16}}>
<Text>Fungible primary token</Text>

<DeleteToken
<RemoveToken
onDelete={(tokenId: string) => action(`onDelete ${tokenId}`)}
tokenInfo={primaryTokenInfo}
style={{borderColor: 'lightgray', borderWidth: 1, padding: 16, borderRadius: 8}}
>
<AssetItem tokenInfo={primaryTokenInfo} quantity={primaryBalance} />
</DeleteToken>
</RemoveToken>

<Spacer height={40} />

<Text>Fungible non-primary token</Text>

<DeleteToken
<RemoveToken
onDelete={(tokenId: string) => action(`onDelete ${tokenId}`)}
tokenInfo={tokenInfo}
style={{borderColor: 'lightgray', borderWidth: 1, padding: 16, borderRadius: 8}}
>
<AssetItem tokenInfo={tokenInfo} quantity={tokenBalance} />
</DeleteToken>
</RemoveToken>
</View>
</SelectedWalletProvider>
</QueryProvider>
Expand Down
Expand Up @@ -11,7 +11,7 @@ export type DeleteTokenProps = {
onDelete(tokenId: TokenId): void
style?: StyleProp<ViewStyle>
}
export const DeleteToken = ({children, style, tokenInfo, onDelete}: DeleteTokenProps) => {
export const RemoveToken = ({children, style, tokenInfo, onDelete}: DeleteTokenProps) => {
return (
<View style={[style, styles.container]} testID="deleteToken">
<Left>{children}</Left>
Expand All @@ -28,11 +28,10 @@ const Right = ({style, ...props}: ViewProps) => <View style={[style, {paddingLef

type DeleteButtonProps = {
onPress(): void
style?: StyleProp<ViewStyle>
}
const DeleteButton = ({onPress, style}: DeleteButtonProps) => {
const DeleteButton = ({onPress}: DeleteButtonProps) => {
return (
<TouchableOpacity onPress={onPress} testID="deleteTokenButton" style={style}>
<TouchableOpacity onPress={onPress} testID="deleteTokenButton">
<Icon.Delete size={26} color={COLORS.BLACK} />
</TouchableOpacity>
)
Expand Down

0 comments on commit eece46e

Please sign in to comment.