Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions src/components/scenes/RampSelectOptionScene.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -461,12 +461,17 @@ const formatTimeUnit = (time: { value: number; unit: string }): string => {
// Format settlement range for display
const formatSettlementTime = (range: SettlementRange): string => {
// Handle instant settlement
if (range.min.value === 0) {
if (range.min.value === 0 && range.max.value === 0) {
return `${lstrings.trade_option_settlement_label}: Instant`
}

const minStr = formatTimeUnit(range.min)
const maxStr = formatTimeUnit(range.max)

if (range.min.value === 0) {
return `${lstrings.trade_option_settlement_label}: 0 - ${maxStr}`
}

const minStr = formatTimeUnit(range.min)

return `${lstrings.trade_option_settlement_label}: ${minStr} - ${maxStr}`
}
3 changes: 3 additions & 0 deletions src/envConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import {

import { asInitOptions as asBanxaInitOptions } from './plugins/ramps/banxa/banxaRampTypes'
import { asInitOptions as asBitsofgoldInitOptions } from './plugins/ramps/bitsofgold/bitsofgoldRampTypes'
import { asInitOptions as asDfxInitOptions } from './plugins/ramps/dfx/dfxRampTypes'
import { asInitOptions as asInfiniteInitOptions } from './plugins/ramps/infinite/infiniteRampTypes'
import { asInitOptions as asLibertyxInitOptions } from './plugins/ramps/libertyx/libertyxRampTypes'
import { asInitOptions as asMoonpayInitOptions } from './plugins/ramps/moonpay/moonpayRampTypes'
Expand Down Expand Up @@ -186,6 +187,7 @@ export const asEnvConfig = asObject({
asObject<Record<string, unknown>>({
banxa: asOptional(asBanxaInitOptions),
bitsofgold: asOptional(asBitsofgoldInitOptions),
dfx: asOptional(asDfxInitOptions),
libertyx: asOptional(asLibertyxInitOptions),
moonpay: asOptional(asMoonpayInitOptions),
infinite: asOptional(asInfiniteInitOptions),
Expand All @@ -196,6 +198,7 @@ export const asEnvConfig = asObject({
() => ({
banxa: undefined,
bitsofgold: undefined,
dfx: undefined,
libertyx: undefined,
moonpay: undefined,
infinite: undefined,
Expand Down
2 changes: 2 additions & 0 deletions src/locales/en_US.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2509,6 +2509,8 @@ const strings = {
'Additional information is required for KYC verification.',
ramp_kyc_unknown_status: 'Unknown verification status.',
ramp_kyc_complete_button: 'Complete KYC',
ramp_kyc_email_required_message:
'Please provide your email address to complete this transaction.',
ramp_signup_failed_title: 'Failed to Sign Up',
ramp_signup_failed_account_existsmessage:
'An account already exists using this email address. Please contact support to recover your account.',
Expand Down
1 change: 1 addition & 0 deletions src/locales/strings/enUS.json
Original file line number Diff line number Diff line change
Expand Up @@ -1963,6 +1963,7 @@
"ramp_kyc_additional_info_required": "Additional information is required for KYC verification.",
"ramp_kyc_unknown_status": "Unknown verification status.",
"ramp_kyc_complete_button": "Complete KYC",
"ramp_kyc_email_required_message": "Please provide your email address to complete this transaction.",
"ramp_signup_failed_title": "Failed to Sign Up",
"ramp_signup_failed_account_existsmessage": "An account already exists using this email address. Please contact support to recover your account.",
"ramp_otp_verification_title": "Email Verification",
Expand Down
15 changes: 13 additions & 2 deletions src/plugins/gui/scenes/InfoDisplayScene.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Clipboard from '@react-native-clipboard/clipboard'
import * as React from 'react'
import { View } from 'react-native'
import { Linking, View } from 'react-native'

import { Fontello } from '../../../assets/vector/index'
import { SceneButtons } from '../../../components/buttons/SceneButtons'
Expand All @@ -23,6 +23,7 @@ export interface FiatPluginSepaTransferParams {
promptMessage: string
transferInfo: FiatPluginSepaTransferInfo
headerIconUri?: string
supportUrl?: string
onDone: () => Promise<void>
}

Expand All @@ -38,7 +39,8 @@ export const InfoDisplayScene = React.memo((props: Props) => {
const styles = getStyles(theme)
const { route } = props
// TODO: headerIconUri
const { headerTitle, transferInfo, promptMessage, onDone } = route.params
const { headerTitle, transferInfo, promptMessage, supportUrl, onDone } =
route.params

const displayData: InfoDisplayGroup[] = React.useMemo(() => {
const { input, output, paymentDetails } = transferInfo
Expand Down Expand Up @@ -109,6 +111,10 @@ export const InfoDisplayScene = React.memo((props: Props) => {
await onDone()
})

const handleSupport = useHandler(async () => {
if (supportUrl != null) await Linking.openURL(supportUrl)
})

const renderCopyButton = (value: string): React.ReactElement => {
return (
<EdgeTouchableOpacity
Expand Down Expand Up @@ -156,6 +162,11 @@ export const InfoDisplayScene = React.memo((props: Props) => {
{renderGroups()}
<SceneButtons
primary={{ label: lstrings.string_done_cap, onPress: handleDone }}
tertiary={
supportUrl != null
? { label: lstrings.title_support, onPress: handleSupport }
: undefined
}
/>
</SceneWrapper>
)
Expand Down
2 changes: 2 additions & 0 deletions src/plugins/ramps/allRampPlugins.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { banxaRampPlugin } from './banxa/banxaRampPlugin'
import { bitsofgoldRampPlugin } from './bitsofgold/bitsofgoldRampPlugin'
import { dfxRampPlugin } from './dfx/dfxRampPlugin'
import { infiniteRampPlugin } from './infinite/infiniteRampPlugin'
import { libertyxRampPlugin } from './libertyx/libertyxRampPlugin'
import { moonpayRampPlugin } from './moonpay/moonpayRampPlugin'
Expand All @@ -11,6 +12,7 @@ import { simplexRampPlugin } from './simplex/simplexRampPlugin'
export const pluginFactories: Record<string, RampPluginFactory> = {
banxa: banxaRampPlugin,
bitsofgold: bitsofgoldRampPlugin,
dfx: dfxRampPlugin,
infinite: infiniteRampPlugin,
libertyx: libertyxRampPlugin,
moonpay: moonpayRampPlugin,
Expand Down
Loading