Browse Source

Auto tag from qrcode/pasting on ripple addresses

gre-patch-1
Juan Cortes Ross 6 years ago
parent
commit
548762b09a
No known key found for this signature in database GPG Key ID: 34A99C03E9455EB8
  1. 28
      src/bridge/RippleJSBridge.js
  2. 33
      src/components/AdvancedOptions/RippleKind.js

28
src/bridge/RippleJSBridge.js

@ -463,10 +463,30 @@ const RippleJSBridge: WalletBridge<Transaction> = {
getTransactionAmount: (a, t) => t.amount, getTransactionAmount: (a, t) => t.amount,
editTransactionRecipient: (account, t, recipient) => ({ editTransactionRecipient: (account, t, recipient) => {
...t, const parts = recipient.split('?')
recipient, const params = new URLSearchParams(parts[1])
}), recipient = parts[0]
// Extract parameters we may need
for (const [key, value] of params.entries()) {
switch (key) {
case 'dt':
t.tag = parseInt(value, 10) || 0
break
case 'amount':
t.amount = parseAPIValue(value || '0')
break
default:
// do nothing
}
}
return {
...t,
recipient,
}
},
EditFees, EditFees,

33
src/components/AdvancedOptions/RippleKind.js

@ -5,7 +5,6 @@ import { translate } from 'react-i18next'
import Box from 'components/base/Box' import Box from 'components/base/Box'
import Input from 'components/base/Input' import Input from 'components/base/Input'
import Label from 'components/base/Label' import Label from 'components/base/Label'
import Spoiler from 'components/base/Spoiler'
type Props = { type Props = {
tag: ?number, tag: ?number,
@ -14,23 +13,19 @@ type Props = {
} }
export default translate()(({ tag, onChangeTag, t }: Props) => ( export default translate()(({ tag, onChangeTag, t }: Props) => (
<Spoiler title={t('app:send.steps.amount.advancedOptions')}> <Box vertical flow={5}>
<Box horizontal align="center" flow={5}> <Box grow>
<Box style={{ width: 200 }}> <Label>
<Label> <span>{t('app:send.steps.amount.rippleTag')}</span>
<span>{t('app:send.steps.amount.rippleTag')}</span> </Label>
</Label> <Input
</Box> value={String(tag || '')}
<Box grow> onChange={str => {
<Input const tag = parseInt(str, 10)
value={String(tag || '')} if (!isNaN(tag) && isFinite(tag)) onChangeTag(tag)
onChange={str => { else onChangeTag(undefined)
const tag = parseInt(str, 10) }}
if (!isNaN(tag) && isFinite(tag)) onChangeTag(tag) />
else onChangeTag(undefined)
}}
/>
</Box>
</Box> </Box>
</Spoiler> </Box>
)) ))

Loading…
Cancel
Save