mirror of
https://github.com/minibits-cash/minibits_wallet.git
synced 2026-10-06 03:38:24 +00:00
rest of strings
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
"subTx",
|
||||
"labelTx",
|
||||
"titleTx",
|
||||
"headingTx",
|
||||
"contentTx",
|
||||
"footerTx"
|
||||
]
|
||||
|
||||
@@ -357,8 +357,10 @@
|
||||
"settingsScreen_backupRecovery": "Backup and recovery",
|
||||
"settingsScreen_devOptions": "Developer options",
|
||||
"settingsScreen_go": "Let's go!",
|
||||
"settingsScreen_mintsCount_one": "%{count} mint",
|
||||
"settingsScreen_mintsCount_other": "%{count} mints",
|
||||
"settingsScreen_mintsCount": {
|
||||
"one": "%{count} mint",
|
||||
"other": "%{count} mints"
|
||||
},
|
||||
"settingsScreen_preferredUnit": "Preferred unit",
|
||||
"settingsScreen_exchangeCurrency": "Balance conversion",
|
||||
"settingsScreen_theme": "Theme",
|
||||
|
||||
@@ -300,8 +300,10 @@
|
||||
"settingsScreen_backupRecovery": "Zálohovanie a obnova",
|
||||
"settingsScreen_devOptions": "Vývojárske nastavenia",
|
||||
"settingsScreen_go": "Poďme na to!",
|
||||
"settingsScreen_mintsCount_one": "{{count}} mint",
|
||||
"settingsScreen_mintsCount_other": "{{count}} minty",
|
||||
"settingsScreen_mintsCount": {
|
||||
"one": "{{count}} mint",
|
||||
"other": "{{count}} minty"
|
||||
},
|
||||
"settingsScreen_preferredUnit": "Preferovaná mena",
|
||||
"settingsScreen_exchangeCurrency": "Zobraziť zostatok v mene",
|
||||
"settingsScreen_theme": "Téma",
|
||||
|
||||
@@ -108,7 +108,7 @@ export const OwnName = observer(function (props: {pubkey: string}) {
|
||||
stopPolling(`checkDonationPaidPoller-${donationInvoice.payment_hash}`)
|
||||
setResultModalInfo({
|
||||
status: TransactionStatus.COMPLETED,
|
||||
message: translate("contactsScreen.ownName.donationSuccess", { receiver: ownName + MINIBITS_NIP05_DOMAIN })
|
||||
message: translate("contactsScreen_ownName_donationSuccess", { receiver: ownName + MINIBITS_NIP05_DOMAIN })
|
||||
})
|
||||
toggleResultModal()
|
||||
//resetState()
|
||||
@@ -150,12 +150,12 @@ export const OwnName = observer(function (props: {pubkey: string}) {
|
||||
|
||||
const onOwnNameCheck = async function () {
|
||||
if(!ownName || ownName.length < 2) {
|
||||
setInfo(translate('contactsScreen.ownName.tooShort'))
|
||||
setInfo(translate('contactsScreen_ownName_tooShort'))
|
||||
return
|
||||
}
|
||||
|
||||
if(!isValidName(ownName)) {
|
||||
setInfo(translate('contactsScreen.ownName.illegalChar'))
|
||||
setInfo(translate('contactsScreen_ownName_illegalChar'))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ export const OwnName = observer(function (props: {pubkey: string}) {
|
||||
const profileExists = await MinibitsClient.getWalletProfileByNip05(ownName + MINIBITS_NIP05_DOMAIN)
|
||||
|
||||
if(profileExists) {
|
||||
setInfo(translate("contactsScreen.ownName.profileExists"))
|
||||
setInfo(translate("contactsScreen_ownName_profileExists"))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -286,7 +286,7 @@ export const OwnName = observer(function (props: {pubkey: string}) {
|
||||
{!isChecked ? (
|
||||
<Card
|
||||
style={[$card, {marginTop: spacing.small}]}
|
||||
headingTx='contactsScreen.ownName.chooseOwnName'
|
||||
headingTx='contactsScreen_ownName_chooseOwnName'
|
||||
headingStyle={{textAlign: 'center'}}
|
||||
ContentComponent={
|
||||
<View style={$ownNameContainer}>
|
||||
@@ -313,7 +313,7 @@ export const OwnName = observer(function (props: {pubkey: string}) {
|
||||
/>
|
||||
</View>
|
||||
}
|
||||
footerTx='contactsScreen.ownName.chooseOwnNameFooter'
|
||||
footerTx='contactsScreen_ownName_chooseOwnNameFooter'
|
||||
footerStyle={{color: hint, textAlign: 'center'}}
|
||||
/>
|
||||
) : (
|
||||
@@ -323,7 +323,7 @@ export const OwnName = observer(function (props: {pubkey: string}) {
|
||||
<View style={$iconContainer}>
|
||||
<Icon icon='faCheckCircle' size={50} color={colors.palette.success200} />
|
||||
<Text
|
||||
text={translate('contactsScreen.ownName.available',{ name: ownName })}
|
||||
text={translate('contactsScreen_ownName_available',{ name: ownName })}
|
||||
style={{fontSize: 18}}
|
||||
/>
|
||||
</View>
|
||||
@@ -333,13 +333,13 @@ export const OwnName = observer(function (props: {pubkey: string}) {
|
||||
{donationInvoice ? (
|
||||
<>
|
||||
<Text
|
||||
text={translate("contactsScreen.ownName.payToGetOwnName", { name: ownName+MINIBITS_NIP05_DOMAIN })}
|
||||
text={translate("contactsScreen_ownName_payToGetOwnName", { name: ownName+MINIBITS_NIP05_DOMAIN })}
|
||||
style={[$supportText, {color: hint}]}
|
||||
/>
|
||||
|
||||
<QRCodeBlock
|
||||
qrCodeData={donationInvoice.payment_request}
|
||||
titleTx="contactsScreen.ownName.lightningInvoiceToPayQR"
|
||||
titleTx="contactsScreen_ownName_lightningInvoiceToPayQR"
|
||||
type='Bolt11Invoice'
|
||||
size={270}
|
||||
/>
|
||||
@@ -351,7 +351,7 @@ export const OwnName = observer(function (props: {pubkey: string}) {
|
||||
text='Minibits'
|
||||
style={{fontFamily: 'Gluten-Regular', fontSize: 18}}
|
||||
/>{' '}
|
||||
<Text tx="contactsScreen.ownName.donationSubtext" />
|
||||
<Text tx="contactsScreen_ownName_donationSubtext" />
|
||||
</RNText>
|
||||
<CurrencyAmount
|
||||
amount={donationAmount}
|
||||
@@ -395,19 +395,19 @@ export const OwnName = observer(function (props: {pubkey: string}) {
|
||||
<Button
|
||||
preset="default"
|
||||
style={{marginRight: spacing.small}}
|
||||
tx='contactsScreen.getInvoice'
|
||||
tx='contactsScreen_getInvoice'
|
||||
onPress={onCreateDonation}
|
||||
/>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.cancel'
|
||||
tx='commonCancel'
|
||||
onPress={resetState}
|
||||
/>
|
||||
</View>
|
||||
<ListItem
|
||||
textStyle={{fontSize: 12, color: hint}}
|
||||
leftIcon='faInfoCircle'
|
||||
tx='contactsScreen.ownName.betaWarning'
|
||||
tx='contactsScreen_ownName_betaWarning'
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
@@ -424,13 +424,13 @@ export const OwnName = observer(function (props: {pubkey: string}) {
|
||||
<ResultModalInfo
|
||||
icon="faCheckCircle"
|
||||
iconColor={colors.palette.success200}
|
||||
title={translate("common.success")}
|
||||
title={translate("commonSuccess")}
|
||||
message={resultModalInfo?.message as string}
|
||||
/>
|
||||
<View style={$payButtonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={onResultModalClose}
|
||||
/>
|
||||
</View>
|
||||
|
||||
@@ -83,7 +83,7 @@ export const PrivateContacts = observer(function (props: {
|
||||
log.trace('Start', newContactName, 'saveNewContact')
|
||||
|
||||
if(!newContactName) {
|
||||
setInfo(translate("contactsScreen.privateContacts.saveNewFormat"))
|
||||
setInfo(translate("contactsScreen_privateContacts_saveNewFormat"))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ export const PrivateContacts = observer(function (props: {
|
||||
const profileRecord = await MinibitsClient.getWalletProfileByNip05(newContactName + MINIBITS_NIP05_DOMAIN)
|
||||
|
||||
if(!profileRecord) {
|
||||
warningMessage(translate("contactsScreen.privateContacts.profileNotFound", {
|
||||
warningMessage(translate("contactsScreen_privateContacts_profileNotFound", {
|
||||
name: newContactName + MINIBITS_NIP05_DOMAIN
|
||||
}))
|
||||
setIsLoading(false)
|
||||
@@ -289,16 +289,16 @@ export const PrivateContacts = observer(function (props: {
|
||||
leftIcon="faComment"
|
||||
leftIconInverse={true}
|
||||
leftIconColor={colors.palette.iconGreen200}
|
||||
tx='contactsScreen.privateContacts.explainerText'
|
||||
subTx="contactsScreen.privateContacts.explainerSubText"
|
||||
tx='contactsScreen_privateContacts_explainerText'
|
||||
subTx="contactsScreen_privateContacts_explainerSubText"
|
||||
onPress={gotoNew}
|
||||
/>
|
||||
<ListItem
|
||||
leftIcon="faCircleUser"
|
||||
leftIconInverse={true}
|
||||
leftIconColor={colors.palette.iconMagenta200}
|
||||
tx="contactsScreen.privateContacts.switchName"
|
||||
subTx='contactsScreen.privateContacts.switchNameSubText'
|
||||
tx="contactsScreen_privateContacts_switchName"
|
||||
subTx='contactsScreen_privateContacts_switchNameSubText'
|
||||
onPress={gotoProfile}
|
||||
topSeparator={true}
|
||||
/>
|
||||
@@ -330,11 +330,11 @@ export const PrivateContacts = observer(function (props: {
|
||||
isVisible={isNewContactModalVisible ? true : false}
|
||||
ContentComponent={
|
||||
<View style={$newContainer}>
|
||||
<Text tx="contactsScreen.newTitle" preset="subheading" />
|
||||
<Text tx="contactsScreen_newTitle" preset="subheading" />
|
||||
<Text
|
||||
size="xxs"
|
||||
style={{color: domainText}}
|
||||
tx="contactsScreen.privateContacts.bottomModal"
|
||||
tx="contactsScreen_privateContacts_bottomModal"
|
||||
/>
|
||||
<View
|
||||
style={{
|
||||
@@ -372,7 +372,7 @@ export const PrivateContacts = observer(function (props: {
|
||||
</View>
|
||||
)}
|
||||
<Button
|
||||
tx={'common.save'}
|
||||
tx={'commonSave'}
|
||||
style={{
|
||||
borderRadius: spacing.small,
|
||||
marginRight: spacing.small,
|
||||
@@ -384,8 +384,8 @@ export const PrivateContacts = observer(function (props: {
|
||||
preset="tertiary"
|
||||
tx={
|
||||
isExternalDomain
|
||||
? 'contactsScreen.privateContacts.domainMinibits'
|
||||
: 'contactsScreen.privateContacts.domainExternal'
|
||||
? 'contactsScreen_privateContacts_domainMinibits'
|
||||
: 'contactsScreen_privateContacts_domainExternal'
|
||||
}
|
||||
onPress={toggleExternalDomain}
|
||||
style={{alignSelf: 'flex-start', minHeight: verticalScale(30)}}
|
||||
|
||||
@@ -216,7 +216,7 @@ export const PublicContacts = observer(function (props: {
|
||||
const onPastePublicPubkey = async function () {
|
||||
const key = await Clipboard.getString()
|
||||
if (!key) {
|
||||
setInfo(translate("contactsScreen.publicContacts.npubPasteError"))
|
||||
setInfo(translate("contactsScreen_publicContacts_npubPasteError"))
|
||||
return
|
||||
}
|
||||
setNewPublicPubkey(key.trim())
|
||||
@@ -447,8 +447,8 @@ export const PublicContacts = observer(function (props: {
|
||||
leftIcon='faComment'
|
||||
leftIconInverse={true}
|
||||
leftIconColor={colors.palette.iconViolet200}
|
||||
tx="nostr.tip"
|
||||
subTx='nostr.tipSubText'
|
||||
tx="nostr_tip"
|
||||
subTx='nostr_tipSubText'
|
||||
onPress={toggleNpubModal}
|
||||
/>
|
||||
}
|
||||
@@ -530,22 +530,22 @@ export const PublicContacts = observer(function (props: {
|
||||
<>
|
||||
<ListItem
|
||||
leftIcon='faKey'
|
||||
tx="nostr.setPublicKey"
|
||||
subTx='nostr.setPublicKeySubText'
|
||||
tx="nostr_setPublicKey"
|
||||
subTx='nostr_setPublicKeySubText'
|
||||
onPress={toggleNpubModal}
|
||||
bottomSeparator={true}
|
||||
/>
|
||||
<ListItem
|
||||
leftIcon='faCircleNodes'
|
||||
tx='nostr.setRelay'
|
||||
subTx='nostr.setRelaySubText'
|
||||
tx='nostr_setRelay'
|
||||
subTx='nostr_setRelaySubText'
|
||||
onPress={toggleRelayModal}
|
||||
bottomSeparator={true}
|
||||
/>
|
||||
<ListItem
|
||||
leftIcon='faBan'
|
||||
tx="nostr.removePub"
|
||||
subTx="nostr.removePubSubText"
|
||||
tx="nostr_removePub"
|
||||
subTx="nostr_removePubSubText"
|
||||
onPress={onRemovePublicPubKey}
|
||||
/>
|
||||
</>
|
||||
@@ -557,7 +557,7 @@ export const PublicContacts = observer(function (props: {
|
||||
isVisible={isNpubModalVisible}
|
||||
ContentComponent={
|
||||
<View style={$newContainer}>
|
||||
<Text tx="contactsScreen.publicContacts.addNpub" preset="subheading" />
|
||||
<Text tx="contactsScreen_publicContacts_addNpub" preset="subheading" />
|
||||
<View style={{flexDirection: 'row', alignItems: 'center', marginTop: spacing.small}}>
|
||||
<TextInput
|
||||
ref={npubInputRef}
|
||||
@@ -572,20 +572,20 @@ export const PublicContacts = observer(function (props: {
|
||||
style={[$npubInput, {backgroundColor: inputBg, color: inputText},]}
|
||||
/>
|
||||
<Button
|
||||
tx={'common.paste'}
|
||||
tx={'commonPaste'}
|
||||
preset='secondary'
|
||||
style={$pasteButton}
|
||||
onPress={onPastePublicPubkey}
|
||||
/>
|
||||
<Button
|
||||
tx={'common.save'}
|
||||
tx={'commonSave'}
|
||||
style={$saveButton}
|
||||
onPress={onSavePublicPubkey}
|
||||
/>
|
||||
</View>
|
||||
<View style={[$buttonContainer, {marginTop: spacing.medium}]}>
|
||||
<Button preset='tertiary' onPress={() => setNewPublicPubkey(defaultPublicNpub)} tx="contactsScreen.publicContacts.pasteDemoKey"/>
|
||||
<Button preset='tertiary' onPress={toggleNpubModal} tx="common.cancel"/>
|
||||
<Button preset='tertiary' onPress={() => setNewPublicPubkey(defaultPublicNpub)} tx="contactsScreen_publicContacts_pasteDemoKey"/>
|
||||
<Button preset='tertiary' onPress={toggleNpubModal} tx="commonCancel"/>
|
||||
</View>
|
||||
</View>
|
||||
}
|
||||
@@ -596,7 +596,7 @@ export const PublicContacts = observer(function (props: {
|
||||
isVisible={isRelayModalVisible ? true : false}
|
||||
ContentComponent={
|
||||
<View style={$newContainer}>
|
||||
<Text tx="contactsScreen.publicContacts.setOwnRelay" preset="subheading" />
|
||||
<Text tx="contactsScreen_publicContacts_setOwnRelay" preset="subheading" />
|
||||
<View style={{flexDirection: 'row', alignItems: 'center', marginTop: spacing.small}}>
|
||||
<TextInput
|
||||
ref={relayInputRef}
|
||||
@@ -611,22 +611,22 @@ export const PublicContacts = observer(function (props: {
|
||||
style={[$npubInput, {backgroundColor: inputBg, color: inputText},]}
|
||||
/>
|
||||
<Button
|
||||
tx={'common.paste'}
|
||||
tx={'commonPaste'}
|
||||
preset='secondary'
|
||||
style={$pasteButton}
|
||||
onPress={onPastePublicRelay}
|
||||
/>
|
||||
<Button
|
||||
tx={'common.save'}
|
||||
tx={'commonSave'}
|
||||
style={$saveButton}
|
||||
onPress={onSavePublicRelay}
|
||||
/>
|
||||
</View>
|
||||
<View style={[$buttonContainer, {marginTop: spacing.medium}]}>
|
||||
{newPublicRelay && (
|
||||
<Button preset='tertiary' onPress={onRemovePublicRelay} tx="common.resetDefault"/>
|
||||
<Button preset='tertiary' onPress={onRemovePublicRelay} tx="commonResetDefault"/>
|
||||
)}
|
||||
<Button preset='tertiary' onPress={toggleRelayModal} tx="common.cancel"/>
|
||||
<Button preset='tertiary' onPress={toggleRelayModal} tx="commonCancel"/>
|
||||
</View>
|
||||
</View>
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ export const RandomName = observer(function (props: {pubkey: string}) {
|
||||
|
||||
const confirmSelectedName = async function () {
|
||||
if (!selectedName) {
|
||||
setInfo(translate('contactsScreen.randomName.selectOneOfUsernames'))
|
||||
setInfo(translate('contactsScreen_randomName_selectOneOfUsernames'))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ export const RandomName = observer(function (props: {pubkey: string}) {
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
onPress={() => confirmSelectedName()}
|
||||
tx="common.confirm"
|
||||
tx="commonConfirm"
|
||||
style={{marginTop: spacing.medium, minWidth: 120}}
|
||||
/>
|
||||
</View>
|
||||
|
||||
@@ -20,8 +20,8 @@ export function ErrorDetails(props: ErrorDetailsProps) {
|
||||
>
|
||||
<View style={$topSection}>
|
||||
<Icon icon="faInfoCircle" size={64} />
|
||||
<Text style={$heading} preset="subheading" tx="errorScreen.title" />
|
||||
<Text tx="errorScreen.friendlySubtitle" />
|
||||
<Text style={$heading} preset="subheading" tx="errorScreen_title" />
|
||||
<Text tx="errorScreen_friendlySubtitle" />
|
||||
</View>
|
||||
|
||||
<ScrollView style={$errorSection} contentContainerStyle={$errorSectionContentContainer}>
|
||||
@@ -37,7 +37,7 @@ export function ErrorDetails(props: ErrorDetailsProps) {
|
||||
preset="secondary"
|
||||
style={$resetButton}
|
||||
onPress={props.onReset}
|
||||
tx="errorScreen.reset"
|
||||
tx="errorScreen_reset"
|
||||
/>
|
||||
</Screen>
|
||||
)
|
||||
|
||||
@@ -109,7 +109,7 @@ export const MintBalanceSelector = observer(function (props: {
|
||||
ListFooterComponent={props.mintBalances.length > 1 && collapsible ? (
|
||||
<View style={{alignItems: 'center'}}>
|
||||
<Button
|
||||
tx={allVisible ? 'common.hideMore' : 'common.showMore'}
|
||||
tx={allVisible ? 'commonHideMore' : 'commonShowMore'}
|
||||
onPress={toggleAllVisible}
|
||||
preset='tertiary'
|
||||
textStyle={{fontSize: 14}}
|
||||
@@ -153,7 +153,7 @@ export const MintBalanceSelector = observer(function (props: {
|
||||
<Icon icon={props.cancelIcon} color={secondaryIconColor} size={spacing.medium}/>
|
||||
))
|
||||
}
|
||||
tx={'common.cancel'}
|
||||
tx={'commonCancel'}
|
||||
onPress={props.onCancel}
|
||||
/>
|
||||
</View>
|
||||
|
||||
@@ -118,8 +118,8 @@ export const PrivacyScreen = observer(function PrivacyScreen({ route }: Props) {
|
||||
ContentComponent={
|
||||
<>
|
||||
<ListItem
|
||||
tx="privacyScreen.torDaemon"
|
||||
subTx="privacyScreen.torDaemonDescription"
|
||||
tx="privacyScreen_torDaemon"
|
||||
subTx="privacyScreen_torDaemonDescription"
|
||||
leftIcon={'faBullseye'}
|
||||
leftIconColor={
|
||||
isTorDaemonOn
|
||||
@@ -139,7 +139,7 @@ export const PrivacyScreen = observer(function PrivacyScreen({ route }: Props) {
|
||||
/>
|
||||
{isTorDaemonOn && (
|
||||
<ListItem
|
||||
tx="privacyScreen.torStatus"
|
||||
tx="privacyScreen_torStatus"
|
||||
subText={`${torStatus}`}
|
||||
leftIcon={torStatus === TorStatus.NOTINIT ? (
|
||||
'faBan'
|
||||
@@ -190,10 +190,10 @@ export const PrivacyScreen = observer(function PrivacyScreen({ route }: Props) {
|
||||
ContentComponent={
|
||||
<>
|
||||
<ListItem
|
||||
tx="nostr.useOwnProfile.title"
|
||||
tx="nostr_useOwnProfile_title"
|
||||
subText={walletProfileStore.isOwnProfile
|
||||
? walletProfileStore.nip05
|
||||
: translate("nostr.useOwnProfile.desc")
|
||||
: translate("nostr_useOwnProfile_desc")
|
||||
}
|
||||
leftIcon={'faShareNodes'}
|
||||
leftIconColor={
|
||||
@@ -208,14 +208,14 @@ export const PrivacyScreen = observer(function PrivacyScreen({ route }: Props) {
|
||||
<Button
|
||||
style={{maxHeight: 10, marginTop: spacing.medium}}
|
||||
preset="secondary"
|
||||
tx="common.reset"
|
||||
tx="commonReset"
|
||||
onPress={resetProfile}
|
||||
/>
|
||||
) : (
|
||||
<Button
|
||||
style={{maxHeight: 10, marginTop: spacing.medium}}
|
||||
preset="secondary"
|
||||
tx="common.import"
|
||||
tx="commonImport"
|
||||
onPress={gotoOwnKeys}
|
||||
/>
|
||||
)}
|
||||
@@ -231,8 +231,8 @@ export const PrivacyScreen = observer(function PrivacyScreen({ route }: Props) {
|
||||
ContentComponent={
|
||||
<>
|
||||
<ListItem
|
||||
tx="privacyScreen.logger"
|
||||
subTx="privacyScreen.loggerDescription"
|
||||
tx="privacyScreen_logger"
|
||||
subTx="privacyScreen_loggerDescription"
|
||||
leftIcon={'faBug'}
|
||||
leftIconColor={
|
||||
isLoggerOn
|
||||
|
||||
@@ -116,7 +116,7 @@ export const ProfileScreen = observer(function ProfileScreen({ route }: Props) {
|
||||
try {
|
||||
Clipboard.setString(nip05)
|
||||
} catch (e: any) {
|
||||
setInfo(translate('common.copyFailParam', { param: e.message }))
|
||||
setInfo(translate('commonCopyFailParam', { param: e.message }))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,21 +208,21 @@ export const ProfileScreen = observer(function ProfileScreen({ route }: Props) {
|
||||
<>
|
||||
{walletProfileStore.isOwnProfile ? (
|
||||
<ListItem
|
||||
tx="profileOnboarding.ownAddrTitle"
|
||||
subTx="profileOnboarding.ownAddrDesc"
|
||||
tx="profileOnboarding_ownAddrTitle"
|
||||
subTx="profileOnboarding_ownAddrDesc"
|
||||
leftIcon='faCircleUser'
|
||||
bottomSeparator={true}
|
||||
style={{paddingRight: spacing.small}}
|
||||
/>
|
||||
) : (
|
||||
<ListItem
|
||||
tx="profileOnboarding.minibitsTitle"
|
||||
//subTx="profileOnboarding.minibitsDesc"
|
||||
tx="profileOnboarding_minibitsTitle"
|
||||
//subTx="profileOnboarding_minibitsDesc"
|
||||
leftIcon='faCircleUser'
|
||||
BottomComponent={
|
||||
<CollapsibleText
|
||||
collapsed={true}
|
||||
text={translate('profileOnboarding.minibitsDesc')}
|
||||
text={translate('profileOnboarding_minibitsDesc')}
|
||||
textProps={{style: $subText}}
|
||||
/>}
|
||||
bottomSeparator={true}
|
||||
@@ -232,13 +232,13 @@ export const ProfileScreen = observer(function ProfileScreen({ route }: Props) {
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset='secondary'
|
||||
tx='common.share'
|
||||
tx='commonShare'
|
||||
LeftAccessory={() => <Icon icon='faShareNodes'/>}
|
||||
onPress={toggleShareModal}
|
||||
/>
|
||||
<Button
|
||||
preset='secondary'
|
||||
tx="common.change"
|
||||
tx="commonChange"
|
||||
style={{marginLeft: spacing.small}}
|
||||
LeftAccessory={() => <Icon icon='faRotate'/>}
|
||||
onPress={toggleUpdateModal}
|
||||
@@ -362,15 +362,15 @@ const WalletProfileActionsBlock = function (props: {
|
||||
return (
|
||||
<>
|
||||
<ListItem
|
||||
tx='profileScreen.changeAvatar'
|
||||
subTx='profileScreen.changeAvatarSubtext'
|
||||
tx='profileScreen_changeAvatar'
|
||||
subTx='profileScreen_changeAvatarSubtext'
|
||||
leftIcon='faCircleUser'
|
||||
onPress={props.gotoAvatar}
|
||||
bottomSeparator={true}
|
||||
/>
|
||||
<ListItem
|
||||
tx='profileScreen.changeWalletaddress'
|
||||
subTx='profileScreen.changeWalletaddressSubtext'
|
||||
tx='profileScreen_changeWalletaddress'
|
||||
subTx='profileScreen_changeWalletaddressSubtext'
|
||||
leftIcon='faPencil'
|
||||
onPress={props.gotoWalletName}
|
||||
// bottomSeparator={true}
|
||||
|
||||
@@ -109,7 +109,7 @@ export const ReceiveScreen = observer(function ReceiveScreen({ route }: Props) {
|
||||
if (error) {
|
||||
setResultModalInfo({
|
||||
status,
|
||||
title: error.params?.message ? error.message : translate("transactionCommon.receiveFailed"),
|
||||
title: error.params?.message ? error.message : translate("transactionCommon_receiveFailed"),
|
||||
message: error.params?.message || error.message,
|
||||
})
|
||||
} else {
|
||||
@@ -358,13 +358,13 @@ export const ReceiveScreen = observer(function ReceiveScreen({ route }: Props) {
|
||||
{isP2PKLockedToWallet ? (
|
||||
<Text
|
||||
size='xs'
|
||||
tx={toNumber(receivedAmount) > 0 ? "receiveScreen.received" : "receiveScreen.lockedToWalletPK"}
|
||||
tx={toNumber(receivedAmount) > 0 ? "receiveScreen_received" : "receiveScreen_lockedToWalletPK"}
|
||||
style={{color: amountInputColor, textAlign: 'center'}}
|
||||
/>
|
||||
) : (
|
||||
<Text
|
||||
size='xs'
|
||||
tx={toNumber(receivedAmount) > 0 ? "receiveScreen.received" : "receiveScreen.lockedToUnknownPK"}
|
||||
tx={toNumber(receivedAmount) > 0 ? "receiveScreen_received" : "receiveScreen_lockedToUnknownPK"}
|
||||
style={{color: amountInputColor, textAlign: 'center'}}
|
||||
/>
|
||||
)}
|
||||
@@ -372,7 +372,7 @@ export const ReceiveScreen = observer(function ReceiveScreen({ route }: Props) {
|
||||
) : (
|
||||
<Text
|
||||
size='xs'
|
||||
tx={toNumber(receivedAmount) > 0 ? "receiveScreen.received" : "receiveScreen.toReceive"}
|
||||
tx={toNumber(receivedAmount) > 0 ? "receiveScreen_received" : "receiveScreen_toReceive"}
|
||||
style={{
|
||||
color: amountInputColor,
|
||||
textAlign: 'center',
|
||||
@@ -442,24 +442,24 @@ export const ReceiveScreen = observer(function ReceiveScreen({ route }: Props) {
|
||||
ContentComponent={
|
||||
<>
|
||||
<TranItem
|
||||
label="transactionCommon.receivedTo"
|
||||
label="transactionCommon_receivedTo"
|
||||
isFirst={true}
|
||||
value={mintsStore.findByUrl(transaction.mint)?.shortname as string}
|
||||
/>
|
||||
{transaction?.memo && (
|
||||
<TranItem
|
||||
label="receiveScreen.memoFromSender"
|
||||
label="receiveScreen_memoFromSender"
|
||||
value={transaction.memo as string}
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="transactionCommon.feePaid"
|
||||
label="transactionCommon_feePaid"
|
||||
value={transaction.fee || 0}
|
||||
unit={unit}
|
||||
isCurrency={true}
|
||||
/>
|
||||
<TranItem
|
||||
label="receiveScreen.status"
|
||||
label="receiveScreen_status"
|
||||
value={transaction.status as string}
|
||||
/>
|
||||
</>
|
||||
@@ -471,7 +471,7 @@ export const ReceiveScreen = observer(function ReceiveScreen({ route }: Props) {
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={gotoWallet}
|
||||
/>
|
||||
</View>
|
||||
@@ -481,7 +481,7 @@ export const ReceiveScreen = observer(function ReceiveScreen({ route }: Props) {
|
||||
<View style={$buttonContainer}>
|
||||
{isInternetReachable ? (
|
||||
<Button
|
||||
tx='payCommon.receive'
|
||||
tx='payCommon_receive'
|
||||
onPress={receiveToken}
|
||||
style={{marginRight: spacing.medium}}
|
||||
LeftAccessory={() => (
|
||||
@@ -494,7 +494,7 @@ export const ReceiveScreen = observer(function ReceiveScreen({ route }: Props) {
|
||||
/>
|
||||
) : (
|
||||
<Button
|
||||
tx='payCommon.receiveOffline'
|
||||
tx='payCommon_receiveOffline'
|
||||
onPress={receiveOfflineToken}
|
||||
style={{marginRight: spacing.medium}}
|
||||
LeftAccessory={() => (
|
||||
@@ -508,7 +508,7 @@ export const ReceiveScreen = observer(function ReceiveScreen({ route }: Props) {
|
||||
)}
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.cancel'
|
||||
tx='commonCancel'
|
||||
onPress={gotoWallet}
|
||||
/>
|
||||
</View>
|
||||
@@ -526,13 +526,13 @@ export const ReceiveScreen = observer(function ReceiveScreen({ route }: Props) {
|
||||
<ResultModalInfo
|
||||
icon={'faCheckCircle'}
|
||||
iconColor={colors.palette.success200}
|
||||
title={translate('common.success')}
|
||||
title={translate('commonSuccess')}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={gotoWallet}
|
||||
/>
|
||||
</View>
|
||||
@@ -549,7 +549,7 @@ export const ReceiveScreen = observer(function ReceiveScreen({ route }: Props) {
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={gotoWallet}
|
||||
/>
|
||||
</View>
|
||||
@@ -561,7 +561,7 @@ export const ReceiveScreen = observer(function ReceiveScreen({ route }: Props) {
|
||||
<ResultModalInfo
|
||||
icon="faTriangleExclamation"
|
||||
iconColor={colors.palette.angry500}
|
||||
title={resultModalInfo?.title as string || translate('transactionCommon.receiveFailed')}
|
||||
title={resultModalInfo?.title as string || translate('transactionCommon_receiveFailed')}
|
||||
message={resultModalInfo?.message as string}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
@@ -574,7 +574,7 @@ export const ReceiveScreen = observer(function ReceiveScreen({ route }: Props) {
|
||||
) : (
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
)}
|
||||
|
||||
@@ -45,7 +45,7 @@ export const RecoverWalletAddressScreen = observer(function RecoverWalletAddress
|
||||
const onConfirmMnemonic = async function () {
|
||||
try {
|
||||
if (!mnemonic) {
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate('backupScreen.missingMnemonicError'))
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate('backupMissingMnemonicError'))
|
||||
}
|
||||
|
||||
LayoutAnimation.easeInEaseOut()
|
||||
@@ -74,7 +74,7 @@ export const RecoverWalletAddressScreen = observer(function RecoverWalletAddress
|
||||
throw new AppError(Err.VALIDATION_ERROR, 'Could not get seed')
|
||||
}
|
||||
|
||||
setStatusMessage(translate('recovery.recoveringAddress'))
|
||||
setStatusMessage(translate('recovery_recoveringAddress'))
|
||||
setIsLoading(true)
|
||||
|
||||
const seedHash = QuickCrypto.createHash('sha256')
|
||||
@@ -88,7 +88,7 @@ export const RecoverWalletAddressScreen = observer(function RecoverWalletAddress
|
||||
if (profile.nip05.includes(MINIBITS_NIP05_DOMAIN)) {
|
||||
setProfileToRecover(profile)
|
||||
} else {
|
||||
setStatusMessage(translate("recovery.ownKeysImportAgain", { addr: profile.nip05 }))
|
||||
setStatusMessage(translate("recovery_ownKeysImportAgain", { addr: profile.nip05 }))
|
||||
await delay(4000)
|
||||
}
|
||||
|
||||
@@ -102,11 +102,11 @@ export const RecoverWalletAddressScreen = observer(function RecoverWalletAddress
|
||||
const onCompleteAddress = async () => {
|
||||
try {
|
||||
if(!seedHashRef.current || !seedRef.current || !profileToRecover) {
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate("recovery.missingMnemonicSeedProfileError"))
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate("recovery_missingMnemonicSeedProfileError"))
|
||||
}
|
||||
|
||||
setIsLoading(true)
|
||||
setStatusMessage(translate("recovery.recoveringAddress"))
|
||||
setStatusMessage(translate("recovery_recoveringAddress"))
|
||||
|
||||
const keys = await walletStore.getCachedWalletKeys()
|
||||
|
||||
@@ -120,7 +120,7 @@ export const RecoverWalletAddressScreen = observer(function RecoverWalletAddress
|
||||
|
||||
userSettingsStore.setIsOnboarded(true)
|
||||
|
||||
setStatusMessage(translate('recovery.completed'))
|
||||
setStatusMessage(translate('recovery_completed'))
|
||||
await delay(1000)
|
||||
setStatusMessage('')
|
||||
setIsLoading(false)
|
||||
@@ -191,7 +191,7 @@ export const RecoverWalletAddressScreen = observer(function RecoverWalletAddress
|
||||
<View style={$buttonContainer}>
|
||||
{profileToRecover ? (
|
||||
<Button
|
||||
tx="recovery.completeCTA"
|
||||
tx="recovery_completeCTA"
|
||||
style={{ marginRight: spacing.small }}
|
||||
LeftAccessory={() => (
|
||||
<Icon
|
||||
@@ -204,7 +204,7 @@ export const RecoverWalletAddressScreen = observer(function RecoverWalletAddress
|
||||
/>
|
||||
) : (
|
||||
<Button
|
||||
tx="recovery.findAddressCTA"
|
||||
tx="recovery_findAddressCTA"
|
||||
style={{ marginRight: spacing.small }}
|
||||
LeftAccessory={() => (
|
||||
<Icon
|
||||
|
||||
@@ -30,7 +30,7 @@ export const MnemonicInput = forwardRef<TextInput, MnemonicInputProps>((props, m
|
||||
const maybeMnemonic = await Clipboard.getString()
|
||||
|
||||
if(!maybeMnemonic) {
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate('backupScreen.missingMnemonicError'))
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate('backupMissingMnemonicError'))
|
||||
}
|
||||
|
||||
const cleaned = maybeMnemonic.replace(/\s+/g, ' ').trim()
|
||||
@@ -54,7 +54,7 @@ export const MnemonicInput = forwardRef<TextInput, MnemonicInputProps>((props, m
|
||||
style={$card}
|
||||
ContentComponent={
|
||||
<ListItem
|
||||
tx='backupScreen.mnemonicTitle'
|
||||
tx='backupMnemonicTitle'
|
||||
subText={mnemonic}
|
||||
subTextStyle={{fontFamily: typography.code?.normal}}
|
||||
LeftComponent={<View style={[$numIcon, {backgroundColor: numIconColor}]}><Text text='1'/></View>}
|
||||
@@ -93,12 +93,12 @@ export const MnemonicInput = forwardRef<TextInput, MnemonicInputProps>((props, m
|
||||
{mnemonic ? (
|
||||
<Button
|
||||
onPress={onConfirm}
|
||||
tx='common.confirm'
|
||||
tx='commonConfirm'
|
||||
/>
|
||||
) : (
|
||||
<Button
|
||||
onPress={onPaste}
|
||||
tx='common.paste'
|
||||
tx='commonPaste'
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -322,7 +322,7 @@ export const RecoveryOptionsScreen = observer(function RecoveryOptionsScreen({ r
|
||||
<View style={[$headerContainer, {backgroundColor: headerBg}]}>
|
||||
<Text
|
||||
preset="heading"
|
||||
tx="recoveryOptions.title"
|
||||
tx="recoveryOptionsTitle"
|
||||
style={{color: 'white'}}
|
||||
/>
|
||||
</View>
|
||||
@@ -333,8 +333,8 @@ export const RecoveryOptionsScreen = observer(function RecoveryOptionsScreen({ r
|
||||
ContentComponent={
|
||||
<>
|
||||
<ListItem
|
||||
tx="recoveryOptions.fromBackup"
|
||||
subTx="recoveryOptions.fromBackupDescription"
|
||||
tx="recoveryOptionsFromBackup"
|
||||
subTx="recoveryOptionsFromBackupDescription"
|
||||
leftIcon='faDownload'
|
||||
leftIconColor={colors.palette.focus300}
|
||||
leftIconInverse={true}
|
||||
@@ -343,8 +343,8 @@ export const RecoveryOptionsScreen = observer(function RecoveryOptionsScreen({ r
|
||||
onPress={gotoImportBackup}
|
||||
/>
|
||||
<ListItem
|
||||
tx="recoveryOptions.fromSeed"
|
||||
subTx="recoveryOptions.fromSeedDescription"
|
||||
tx="recoveryOptionsFromSeed"
|
||||
subTx="recoveryOptionsFromSeedDescription"
|
||||
leftIcon='faSeedling'
|
||||
leftIconColor={colors.palette.orange400}
|
||||
leftIconInverse={true}
|
||||
@@ -373,8 +373,8 @@ export const RecoveryOptionsScreen = observer(function RecoveryOptionsScreen({ r
|
||||
<Card
|
||||
style={$card} HeadingComponent={
|
||||
<ListItem
|
||||
tx="backupScreen.removeSpentCoins"
|
||||
subTx="backupScreen.removeSpentCoinsDescription"
|
||||
tx="backupRemoveSpentCoins"
|
||||
subTx="backupRemoveSpentCoinsDescription"
|
||||
leftIcon='faRecycle'
|
||||
leftIconColor={colors.palette.secondary300}
|
||||
leftIconInverse={true}
|
||||
@@ -524,7 +524,7 @@ export const RecoveryOptionsScreen = observer(function RecoveryOptionsScreen({ r
|
||||
style={[$quoteInput, {backgroundColor: inputBg, color: inputText}]}
|
||||
/>
|
||||
<Button
|
||||
tx={'common.paste'}
|
||||
tx={'commonPaste'}
|
||||
preset='secondary'
|
||||
style={$pasteButton}
|
||||
onPress={onPasteMintQuote}
|
||||
@@ -555,7 +555,7 @@ export const RecoveryOptionsScreen = observer(function RecoveryOptionsScreen({ r
|
||||
style={[$quoteInput, {backgroundColor: inputBg, color: inputText}]}
|
||||
/>
|
||||
<Button
|
||||
tx={'common.paste'}
|
||||
tx={'commonPaste'}
|
||||
preset='secondary'
|
||||
style={$pasteButton}
|
||||
onPress={onPasteMintQuote}
|
||||
@@ -582,7 +582,7 @@ export const RecoveryOptionsScreen = observer(function RecoveryOptionsScreen({ r
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={toggleMintQuoteResultModal}
|
||||
/>
|
||||
</View>
|
||||
@@ -608,7 +608,7 @@ export const RecoveryOptionsScreen = observer(function RecoveryOptionsScreen({ r
|
||||
style={[$quoteInput, {backgroundColor: inputBg, color: inputText}]}
|
||||
/>
|
||||
<Button
|
||||
tx={'common.paste'}
|
||||
tx={'commonPaste'}
|
||||
preset='secondary'
|
||||
style={$pasteButton}
|
||||
onPress={onPasteMeltQuote}
|
||||
@@ -635,7 +635,7 @@ export const RecoveryOptionsScreen = observer(function RecoveryOptionsScreen({ r
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={toggleMeltQuoteResultModal}
|
||||
/>
|
||||
</View>
|
||||
|
||||
@@ -231,7 +231,7 @@ export const RelaysScreen = observer(function RelaysScreen({ route }: Props) {
|
||||
<ListItem
|
||||
leftIcon="faCloudArrowUp"
|
||||
onPress={onConnect}
|
||||
tx="common.reconnect"
|
||||
tx="commonReconnect"
|
||||
bottomSeparator={true}
|
||||
style={{paddingHorizontal: spacing.medium}}
|
||||
/>
|
||||
@@ -266,19 +266,19 @@ export const RelaysScreen = observer(function RelaysScreen({ route }: Props) {
|
||||
style={[$relayInput, {backgroundColor: inputBg, color: inputText}]}
|
||||
/>
|
||||
<Button
|
||||
tx={'common.paste'}
|
||||
tx={'commonPaste'}
|
||||
preset='secondary'
|
||||
style={$pasteButton}
|
||||
onPress={onPastePublicRelay}
|
||||
/>
|
||||
<Button
|
||||
tx={'common.save'}
|
||||
tx={'commonSave'}
|
||||
style={$saveButton}
|
||||
onPress={onSavePublicRelay}
|
||||
/>
|
||||
</View>
|
||||
<View style={[$buttonContainer, {marginTop: spacing.medium}]}>
|
||||
<Button preset='tertiary' onPress={resetDefaultRelays} tx='common.resetDefault' />
|
||||
<Button preset='tertiary' onPress={resetDefaultRelays} tx='commonResetDefault' />
|
||||
<Button preset='tertiary' onPress={toggleAddRelayModal} style={{marginLeft: spacing.small}} text='Cancel'/>
|
||||
</View>
|
||||
</View>
|
||||
|
||||
@@ -260,7 +260,7 @@ export const ScanScreen = function ScanScreen({ route }: Props) {
|
||||
const onPaste = async function() {
|
||||
const clipboard = await Clipboard.getString()
|
||||
if (clipboard.length === 0) {
|
||||
infoMessage(translate("scanScreen.onPasteEmptyClipboard"))
|
||||
infoMessage(translate("scanScreen_onPasteEmptyClipboard"))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -300,7 +300,7 @@ export const ScanScreen = function ScanScreen({ route }: Props) {
|
||||
LeftAccessory={() => (
|
||||
<Icon icon='faPaste'/>
|
||||
)}
|
||||
tx='common.paste'
|
||||
tx='commonPaste'
|
||||
preset='secondary'
|
||||
style={{marginTop: spacing.medium, minWidth: 120}}
|
||||
/>
|
||||
|
||||
@@ -110,8 +110,8 @@ export const SecurityScreen = observer(function SecurityScreen({ route }: Props)
|
||||
ContentComponent={
|
||||
<>
|
||||
<ListItem
|
||||
tx="securityScreen.biometricAuth"
|
||||
subTx="securityScreen.biometricAuthDescription"
|
||||
tx="securityScreen_biometricAuth"
|
||||
subTx="securityScreen_biometricAuthDescription"
|
||||
leftIcon={isBiometricAuthOn ? 'faLock' : 'faLockOpen'}
|
||||
leftIconColor={
|
||||
isBiometricAuthOn
|
||||
@@ -131,8 +131,8 @@ export const SecurityScreen = observer(function SecurityScreen({ route }: Props)
|
||||
/>
|
||||
{/*isBiometricAuthOn && (
|
||||
<ListItem
|
||||
tx="securityScreen.biometry"
|
||||
subTx={biometryType ? 'securityScreen.biometryAvailable' : 'securityScreen.biometryNone'}
|
||||
tx="securityScreen_biometry"
|
||||
subTx={biometryType ? 'securityScreen_biometryAvailable' : 'securityScreen_biometryNone'}
|
||||
leftIcon='faFingerprint'
|
||||
leftIconColor={colors.palette.iconGreyBlue400}
|
||||
leftIconInverse={true}
|
||||
|
||||
@@ -121,7 +121,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
const maybeMnemonic = await Clipboard.getString()
|
||||
|
||||
if(!maybeMnemonic) {
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate('backupScreen.missingMnemonicError'))
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate('backupMissingMnemonicError'))
|
||||
}
|
||||
|
||||
const cleanedMnemonic = maybeMnemonic.replace(/\s+/g, ' ').trim()
|
||||
@@ -136,7 +136,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
const onConfirmMnemonic = async function () {
|
||||
try {
|
||||
if(!mnemonic) {
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate('backupScreen.missingMnemonicError'))
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate('backupMissingMnemonicError'))
|
||||
}
|
||||
|
||||
LayoutAnimation.easeInEaseOut()
|
||||
@@ -163,7 +163,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
if(profile.nip05.includes(MINIBITS_NIP05_DOMAIN)) {
|
||||
setProfileToRecover(profile)
|
||||
} else {
|
||||
setInfo(translate("recovery.ownKeysImportAgain", { addr: profile.nip05 }))
|
||||
setInfo(translate("recovery_ownKeysImportAgain", { addr: profile.nip05 }))
|
||||
setIsNewProfileNeeded(true)
|
||||
}
|
||||
} catch (e: any) {
|
||||
@@ -221,12 +221,12 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
|
||||
const startRecovery = async function () {
|
||||
if(!selectedMintUrl) {
|
||||
setInfo(translate("recovery.selectMintFrom"))
|
||||
setInfo(translate("recovery_selectMintFrom"))
|
||||
return
|
||||
}
|
||||
|
||||
setIsRecoveryStarted(true)
|
||||
setStatusMessage(translate("recovery.starting"))
|
||||
setStatusMessage(translate("recovery_starting"))
|
||||
setIsLoading(true)
|
||||
setTimeout(() => doRecovery(), 100)
|
||||
}
|
||||
@@ -249,16 +249,16 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
}
|
||||
|
||||
if(!recoveredMint) {
|
||||
setInfo(translate("recovery.noMintSelected"))
|
||||
setInfo(translate("recovery_noMintSelected"))
|
||||
return
|
||||
}
|
||||
|
||||
if(!selectedKeyset) {
|
||||
setInfo(translate("recovery.noKeysetSelected"))
|
||||
setInfo(translate("recovery_noKeysetSelected"))
|
||||
return
|
||||
}
|
||||
|
||||
setStatusMessage(translate("recovery.restoringFromParam", { hostname: recoveredMint.hostname }))
|
||||
setStatusMessage(translate("recovery_restoringFromParam", { hostname: recoveredMint.hostname }))
|
||||
log.info('[restore]', `Restoring from ${recoveredMint.hostname}...`)
|
||||
|
||||
const { proofs } = await walletStore.restore(
|
||||
@@ -272,7 +272,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
)
|
||||
|
||||
//log.debug('[restore]', `Restored proofs`, proofs.length)
|
||||
setStatusMessage(translate("recovery.foundProofsAmount", { amount: proofs.length }))
|
||||
setStatusMessage(translate("recovery_foundProofsAmount", { amount: proofs.length }))
|
||||
|
||||
if (proofs.length > 0) {
|
||||
// need to move counter by whole interval to avoid duplicate _B!!!
|
||||
@@ -287,14 +287,14 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
|
||||
log.debug('[restore]', `Spent and pending proofs`, {spent: proofStates.SPENT.length, pending: proofStates.PENDING.length})
|
||||
|
||||
setStatusMessage(translate("recovery.spentProofsAmount", { amount: proofStates.SPENT.length }))
|
||||
setStatusMessage(translate("recovery_spentProofsAmount", { amount: proofStates.SPENT.length }))
|
||||
|
||||
const spentAmount = CashuUtils.getProofsAmount(proofStates.SPENT as Proof[])
|
||||
alreadySpentAmount += spentAmount
|
||||
|
||||
if(proofStates.UNSPENT.length > 0) {
|
||||
|
||||
setStatusMessage(translate("recovery.completing"))
|
||||
setStatusMessage(translate("recovery_completing"))
|
||||
|
||||
const amount = CashuUtils.getProofsAmount(proofStates.UNSPENT)
|
||||
recoveredAmount = amount
|
||||
@@ -354,7 +354,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
|
||||
const pendingAmount = CashuUtils.getProofsAmount(proofStates.PENDING as Proof[])
|
||||
|
||||
setStatusMessage(translate("recovery.foundPendingProofsAmount", { pendingAmount }))
|
||||
setStatusMessage(translate("recovery_foundPendingProofsAmount", { pendingAmount }))
|
||||
log.debug(`Found pending ecash with ${recoveredMint.hostname}...`)
|
||||
|
||||
// Let's create new draft receive transaction in database
|
||||
@@ -453,7 +453,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
const currency = getCurrency(selectedKeyset?.unit as MintUnit)
|
||||
setResultModalInfo({
|
||||
status: TransactionStatus.COMPLETED,
|
||||
message: translate("recovery.recoveredResult", {
|
||||
message: translate("recovery_recoveredResult", {
|
||||
formattedCurrency: formatCurrency(recoveredAmount, currency.code),
|
||||
code: currency.code
|
||||
})
|
||||
@@ -462,19 +462,19 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
if(errors.length > 0) {
|
||||
setResultModalInfo({
|
||||
status: TransactionStatus.ERROR,
|
||||
message: translate("recovery.resultErrors")
|
||||
message: translate("recovery_resultErrors")
|
||||
})
|
||||
setRecoveryErrors(errors)
|
||||
} else {
|
||||
if(alreadySpentAmount > 0) {
|
||||
setResultModalInfo({
|
||||
status: TransactionStatus.EXPIRED,
|
||||
message: translate("recovery.resultSpent")
|
||||
message: translate("recovery_resultSpent")
|
||||
})
|
||||
} else {
|
||||
setResultModalInfo({
|
||||
status: TransactionStatus.EXPIRED,
|
||||
message: translate("recovery.resultExpired")
|
||||
message: translate("recovery_resultExpired")
|
||||
})
|
||||
}
|
||||
|
||||
@@ -488,12 +488,12 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
const onCompleteAddress = async () => {
|
||||
try {
|
||||
if(!seedHashRef.current || !seedRef.current) {
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate('backupScreen.missingMnemonicOrSeedError'))
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate('backupMissingMnemonicOrSeedError'))
|
||||
}
|
||||
// create a new walletId and Nostr key pair after a new install or factory reset
|
||||
// and keep provided seed
|
||||
setIsLoading(true)
|
||||
setStatusMessage(translate("recovery.recoveringAddress"))
|
||||
setStatusMessage(translate("recovery_recoveringAddress"))
|
||||
|
||||
const keys = KeyChain.generateWalletKeys()
|
||||
// Set seed to the provided one
|
||||
@@ -533,7 +533,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
await mintsStore.addMint(MINIBITS_MINT_URL)
|
||||
}
|
||||
|
||||
setStatusMessage(translate('recovery.completed'))
|
||||
setStatusMessage(translate('recovery_completed'))
|
||||
|
||||
// go directly to the wallet (profile hase been rehydrated from the one with the seed)
|
||||
//@ts-ignore
|
||||
@@ -574,8 +574,8 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
style={$card}
|
||||
ContentComponent={
|
||||
<ListItem
|
||||
tx="recovery.mnemonicCollision"
|
||||
subTx="recovery.mnemonicCollisionDesc"
|
||||
tx="recovery_mnemonicCollision"
|
||||
subTx="recovery_mnemonicCollisionDesc"
|
||||
leftIcon='faTriangleExclamation'
|
||||
// leftIconColor='red'
|
||||
style={$item}
|
||||
@@ -586,7 +586,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
onPress={onBack}
|
||||
tx='common.back'
|
||||
tx='commonBack'
|
||||
preset='secondary'
|
||||
/>
|
||||
</View>
|
||||
@@ -682,7 +682,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
{(startIndex > 0 || totalRecoveredAmount > 0) && (
|
||||
<Button
|
||||
onPress={onCompleteAddress}
|
||||
tx="common.completed"
|
||||
tx="commonCompleted"
|
||||
preset='secondary'
|
||||
/>
|
||||
)}
|
||||
@@ -690,7 +690,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
|
||||
<View style={[$buttonContainer,{marginTop: 0}]}>
|
||||
<Text
|
||||
text={translate("recovery.intervalParam", {
|
||||
text={translate("recovery_intervalParam", {
|
||||
startIndex: startIndex,
|
||||
endIndex: endIndex
|
||||
})}
|
||||
@@ -699,7 +699,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
/>
|
||||
<Pressable onPress={toggleIndexModal}>
|
||||
<Text
|
||||
tx="recovery.setManually"
|
||||
tx="recovery_setManually"
|
||||
size='xxs'
|
||||
style={{color: textHint, alignSelf: 'center', marginTop: spacing.small}}
|
||||
/>
|
||||
@@ -707,7 +707,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
</View>
|
||||
<View style={[$buttonContainer,{marginTop: 0}]}>
|
||||
<Text
|
||||
text={translate("recovery.keysetID", {
|
||||
text={translate("recovery_keysetID", {
|
||||
id: selectedKeyset?.id,
|
||||
unit: selectedKeyset?.unit
|
||||
})}
|
||||
@@ -717,7 +717,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
{selectedMintKeysets.length > 1 && (
|
||||
<Pressable onPress={toggleKeysetModal}>
|
||||
<Text
|
||||
tx="recovery.selectAnotherKeyset"
|
||||
tx="recovery_selectAnotherKeyset"
|
||||
size='xxs'
|
||||
style={{color: textHint, alignSelf: 'center', marginTop: spacing.extraSmall}}
|
||||
/>
|
||||
@@ -728,7 +728,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
)}
|
||||
{mintsStore.mintCount > 0 && !selectedMintUrl && (
|
||||
<Text
|
||||
tx='recovery.selectMintFrom'
|
||||
tx='recovery_selectMintFrom'
|
||||
size='xxs'
|
||||
style={{color: textHint, alignSelf: 'center', margin: spacing.large}}
|
||||
/>
|
||||
@@ -756,12 +756,12 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
textAlign='right'
|
||||
/>
|
||||
<Button
|
||||
tx='common.save'
|
||||
tx='commonSave'
|
||||
onPress={onResetStartIndex}
|
||||
/>
|
||||
</View>
|
||||
<Text
|
||||
tx="recovery.startIndexDesc"
|
||||
tx="recovery_startIndexDesc"
|
||||
size='xxs'
|
||||
style={{color: textHint, margin: spacing.small}}
|
||||
/>
|
||||
@@ -773,7 +773,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
<BottomModal
|
||||
isVisible={isKeysetModalVisible}
|
||||
// style={{alignItems: 'stretch'}}
|
||||
HeadingComponent={<Text tx="recovery.selectKeyset" style={{textAlign: 'center', margin: spacing.small}}/>}
|
||||
HeadingComponent={<Text tx="recovery_selectKeyset" style={{textAlign: 'center', margin: spacing.small}}/>}
|
||||
ContentComponent={
|
||||
<FlatList
|
||||
data={selectedMintKeysets}
|
||||
@@ -802,7 +802,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
<Button
|
||||
preset={'secondary'}
|
||||
onPress={toggleKeysetModal}
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
style={{marginTop: spacing.small}}
|
||||
/>}
|
||||
onBackButtonPress={toggleKeysetModal}
|
||||
@@ -840,13 +840,13 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
<ResultModalInfo
|
||||
icon="faCheckCircle"
|
||||
iconColor={colors.palette.success200}
|
||||
title={translate("recovery.success")}
|
||||
title={translate("recovery_success")}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
</View>
|
||||
@@ -858,7 +858,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
<ResultModalInfo
|
||||
icon="faTriangleExclamation"
|
||||
iconColor={colors.palette.angry500}
|
||||
title={translate("recovery.failed")}
|
||||
title={translate("recovery_failed")}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
@@ -882,7 +882,7 @@ export const SeedRecoveryScreen = observer(function SeedRecoveryScreen({ route }
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
</View>
|
||||
|
||||
+13
-13
@@ -574,14 +574,14 @@ export const SendScreen = observer(function SendScreen({ route }: Props) {
|
||||
log.trace('[onAmountEndEditing]', amount)
|
||||
|
||||
if (!amount || amount === 0) {
|
||||
infoMessage(translate('payCommon.amountZeroOrNegative'))
|
||||
infoMessage(translate('payCommon_amountZeroOrNegative'))
|
||||
return
|
||||
}
|
||||
|
||||
const availableBalances = proofsStore.getMintBalancesWithEnoughBalance(amount, unitRef.current)
|
||||
|
||||
if (availableBalances.length === 0) {
|
||||
infoMessage(translate('payCommon.insufficientFunds'))
|
||||
infoMessage(translate('payCommon_insufficientFunds'))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1051,7 +1051,7 @@ export const SendScreen = observer(function SendScreen({ route }: Props) {
|
||||
) : (
|
||||
<Text
|
||||
size='xs'
|
||||
tx='amount.send'
|
||||
tx='amountSend'
|
||||
style={{
|
||||
color: amountInputColor,
|
||||
textAlign: 'center',
|
||||
@@ -1106,7 +1106,7 @@ export const SendScreen = observer(function SendScreen({ route }: Props) {
|
||||
ContentComponent={
|
||||
<>
|
||||
<TranItem
|
||||
label="tranDetailScreen.sentTo"
|
||||
label="tranDetailScreen_sentTo"
|
||||
isFirst={true}
|
||||
value={mintsStore.findByUrl(transaction.mint)?.shortname as string}
|
||||
/>
|
||||
@@ -1117,13 +1117,13 @@ export const SendScreen = observer(function SendScreen({ route }: Props) {
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="transactionCommon.feePaid"
|
||||
label="transactionCommon_feePaid"
|
||||
value={transaction.fee || 0}
|
||||
unit={unitRef.current}
|
||||
isCurrency={true}
|
||||
/>
|
||||
<TranItem
|
||||
label="tranDetailScreen.status"
|
||||
label="tranDetailScreen_status"
|
||||
value={transaction.status as string}
|
||||
/>
|
||||
</>
|
||||
@@ -1135,7 +1135,7 @@ export const SendScreen = observer(function SendScreen({ route }: Props) {
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={gotoWallet}
|
||||
/>
|
||||
</View>
|
||||
@@ -1193,7 +1193,7 @@ export const SendScreen = observer(function SendScreen({ route }: Props) {
|
||||
/>
|
||||
<Button
|
||||
preset='secondary'
|
||||
tx='common.paste'
|
||||
tx='commonPaste'
|
||||
style={{
|
||||
borderRadius: 0,
|
||||
marginLeft: -spacing.small,
|
||||
@@ -1204,7 +1204,7 @@ export const SendScreen = observer(function SendScreen({ route }: Props) {
|
||||
/>
|
||||
<Button
|
||||
preset='secondary'
|
||||
tx="common.scan"
|
||||
tx="commonScan"
|
||||
style={{
|
||||
borderTopLeftRadius: 0,
|
||||
borderBottomLeftRadius: 0,
|
||||
@@ -1311,7 +1311,7 @@ export const SendScreen = observer(function SendScreen({ route }: Props) {
|
||||
<Button
|
||||
style={{marginRight: spacing.medium}}
|
||||
preset="tertiary"
|
||||
tx="common.cancel"
|
||||
tx="commonCancel"
|
||||
onPress={onLockPubkeyCancel}
|
||||
/>
|
||||
</View>
|
||||
@@ -1365,7 +1365,7 @@ export const SendScreen = observer(function SendScreen({ route }: Props) {
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={gotoWallet}
|
||||
/>
|
||||
</View>
|
||||
@@ -1396,7 +1396,7 @@ export const SendScreen = observer(function SendScreen({ route }: Props) {
|
||||
) : (
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
)}
|
||||
@@ -1665,7 +1665,7 @@ const SendAsNostrDMBlock = observer(function (props: {
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={props.onClose}
|
||||
/>
|
||||
</View>
|
||||
|
||||
@@ -316,7 +316,7 @@ export const SettingsScreen = observer(function SettingsScreen({ route }: Props)
|
||||
<View style={[isHeaderVisible ? $headerContainer : $headerCollapsed, {backgroundColor: headerBg}]}>
|
||||
<Text
|
||||
preset='heading'
|
||||
tx='settingsScreen.title'
|
||||
tx='settingsScreen_title'
|
||||
style={{color: headerTitle}}
|
||||
/>
|
||||
</View>
|
||||
@@ -336,7 +336,7 @@ export const SettingsScreen = observer(function SettingsScreen({ route }: Props)
|
||||
<View style={$rightContainer}>
|
||||
<Text
|
||||
style={$itemRight}
|
||||
text={translate('settingsScreen.mintsCount', {count: mintsStore.mintCount})}
|
||||
text={translate('settingsScreen_mintsCount', {count: mintsStore.mintCount})}
|
||||
/>
|
||||
</View>
|
||||
}
|
||||
@@ -345,7 +345,7 @@ export const SettingsScreen = observer(function SettingsScreen({ route }: Props)
|
||||
onPress={gotoMints}
|
||||
/>
|
||||
<ListItem
|
||||
tx='settingsScreen.exchangeCurrency'
|
||||
tx='settingsScreen_exchangeCurrency'
|
||||
leftIcon='faMoneyBill1'
|
||||
leftIconColor={getRateColor() as string}
|
||||
leftIconInverse={true}
|
||||
@@ -362,7 +362,7 @@ export const SettingsScreen = observer(function SettingsScreen({ route }: Props)
|
||||
onPress={toggleCurrencyModal}
|
||||
/>
|
||||
<ListItem
|
||||
tx='settingsScreen.theme'
|
||||
tx='settingsScreen_theme'
|
||||
leftIcon='faPaintbrush'
|
||||
leftIconColor={currentTheme === ThemeCode.DEFAULT ? defaultThemeColor as string : Themes[currentTheme as ThemeCode]?.color as string}
|
||||
leftIconInverse={true}
|
||||
@@ -396,7 +396,7 @@ export const SettingsScreen = observer(function SettingsScreen({ route }: Props)
|
||||
<View style={$rightContainer}>
|
||||
<Text
|
||||
style={$itemRight}
|
||||
tx={areNotificationsEnabled ? 'common.enabled' : 'common.disabled'}
|
||||
tx={areNotificationsEnabled ? 'commonEnabled' : 'commonDisabled'}
|
||||
/>
|
||||
</View>
|
||||
}
|
||||
@@ -429,8 +429,8 @@ export const SettingsScreen = observer(function SettingsScreen({ route }: Props)
|
||||
onPress={gotoNwc}
|
||||
/>
|
||||
<ListItem
|
||||
tx="nostr.relaysTitle"
|
||||
subText={translate("common.connectedParam", { param: relaysStore.connectedCount })}
|
||||
tx="nostr_relaysTitle"
|
||||
subText={translate("commonConnectedParam", { param: relaysStore.connectedCount })}
|
||||
leftIcon='faCircleNodes'
|
||||
leftIconColor={colors.palette.iconViolet200}
|
||||
leftIconInverse={true}
|
||||
@@ -477,7 +477,7 @@ export const SettingsScreen = observer(function SettingsScreen({ route }: Props)
|
||||
ContentComponent={
|
||||
<>
|
||||
<ListItem
|
||||
tx='settingsScreen.security'
|
||||
tx='settingsScreen_security'
|
||||
leftIcon='faShieldHalved'
|
||||
leftIconColor={colors.palette.iconGreyBlue400}
|
||||
leftIconInverse={true}
|
||||
@@ -486,7 +486,7 @@ export const SettingsScreen = observer(function SettingsScreen({ route }: Props)
|
||||
onPress={gotoSecurity}
|
||||
/>
|
||||
<ListItem
|
||||
tx='settingsScreen.privacy'
|
||||
tx='settingsScreen_privacy'
|
||||
leftIcon='faEyeSlash'
|
||||
leftIconColor={colors.palette.blue200}
|
||||
leftIconInverse={true}
|
||||
@@ -495,7 +495,7 @@ export const SettingsScreen = observer(function SettingsScreen({ route }: Props)
|
||||
onPress={gotoPrivacy}
|
||||
/>
|
||||
<ListItem
|
||||
tx='settingsScreen.update'
|
||||
tx='settingsScreen_update'
|
||||
leftIcon='faWandMagicSparkles'
|
||||
leftIconColor={(isUpdateAvailable || isNativeUpdateAvailable) ? colors.palette.iconMagenta200 : colors.palette.neutral400}
|
||||
leftIconInverse={true}
|
||||
@@ -512,7 +512,7 @@ export const SettingsScreen = observer(function SettingsScreen({ route }: Props)
|
||||
onPress={gotoUpdate}
|
||||
/>
|
||||
<ListItem
|
||||
tx='settingsScreen.devOptions'
|
||||
tx='settingsScreen_devOptions'
|
||||
leftIcon='faCode'
|
||||
leftIconColor={colors.palette.neutral600}
|
||||
leftIconInverse={true}
|
||||
|
||||
@@ -89,7 +89,7 @@ export const TokenReceiveScreen = function TokenReceiveScreen({ route }: Props)
|
||||
const onPaste = async function() {
|
||||
const clipboard = await Clipboard.getString()
|
||||
if (clipboard.length === 0) {
|
||||
infoMessage(translate('tokenReceiveScreen.onPasteEmptyClipboard'))
|
||||
infoMessage(translate('tokenReceiveScreen_onPasteEmptyClipboard'))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ export const TokenReceiveScreen = function TokenReceiveScreen({ route }: Props)
|
||||
<View style={[$headerContainer, {backgroundColor: headerBg}]}>
|
||||
<Text
|
||||
preset="heading"
|
||||
tx="payCommon.receiveEcash"
|
||||
tx="payCommon_receiveEcash"
|
||||
style={{color: headerTitle}}
|
||||
/>
|
||||
</View>
|
||||
@@ -171,7 +171,7 @@ export const TokenReceiveScreen = function TokenReceiveScreen({ route }: Props)
|
||||
<>
|
||||
<ListItem
|
||||
leftIcon='faMoneyBill1'
|
||||
tx="common.pasteEcashToken"
|
||||
tx="commonPasteEcashToken"
|
||||
bottomSeparator={showTokenInput}
|
||||
onPress={() => setShowTokenInput((v) => !v)}
|
||||
/>
|
||||
@@ -201,7 +201,7 @@ export const TokenReceiveScreen = function TokenReceiveScreen({ route }: Props)
|
||||
<View style={[$buttonContainer, {marginTop: spacing.small}]}>
|
||||
<Button
|
||||
preset='default'
|
||||
tx='common.confirm'
|
||||
tx='commonConfirm'
|
||||
onPress={onConfirm}
|
||||
// style={{marginLeft: spacing.small}}
|
||||
LeftAccessory={() => <Icon icon='faCheckCircle' color='white'/>}
|
||||
@@ -211,7 +211,7 @@ export const TokenReceiveScreen = function TokenReceiveScreen({ route }: Props)
|
||||
<View style={[$buttonContainer, {marginTop: spacing.small}]}>
|
||||
<Button
|
||||
preset='secondary'
|
||||
tx={'common.paste'}
|
||||
tx={'commonPaste'}
|
||||
onPress={onPaste}
|
||||
LeftAccessory={() => (
|
||||
<Icon icon='faPaste'/>
|
||||
@@ -224,7 +224,7 @@ export const TokenReceiveScreen = function TokenReceiveScreen({ route }: Props)
|
||||
{/* Create Payment Request */}
|
||||
<ListItem
|
||||
leftIcon='faQrcode'
|
||||
tx="common.createCashuPaymentRequest"
|
||||
tx="commonCreateCashuPaymentRequest"
|
||||
onPress={gotoCashuPaymentRequest}
|
||||
topSeparator={true}
|
||||
/>
|
||||
@@ -234,7 +234,7 @@ export const TokenReceiveScreen = function TokenReceiveScreen({ route }: Props)
|
||||
//style={{marginBottom: spacing.medium}}
|
||||
/>
|
||||
<Button
|
||||
tx="tokenReceiveScreen.topupWithLightning"
|
||||
tx="tokenReceiveScreen_topupWithLightning"
|
||||
LeftAccessory={() => (
|
||||
<Icon
|
||||
icon='faBolt'
|
||||
|
||||
+38
-38
@@ -206,7 +206,7 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
}
|
||||
|
||||
if (!relays) {
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate("nostr.missingRelaysError"))
|
||||
throw new AppError(Err.VALIDATION_ERROR, translate("nostr_missingRelaysError"))
|
||||
}
|
||||
|
||||
const {pubkey, npub, name, picture} = walletProfileStore
|
||||
@@ -288,7 +288,7 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
status: result.transaction?.status as TransactionStatus,
|
||||
title: result.error.params?.message
|
||||
? result.error.message
|
||||
: translate("topup.failed"),
|
||||
: translate("topup_failed"),
|
||||
message: result.error.params?.message || result.error.message,
|
||||
})
|
||||
setIsResultModalVisible(true)
|
||||
@@ -389,11 +389,11 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
log.trace('[onAmountEndEditing]', {amount, unit: unitRef.current})
|
||||
|
||||
if (!isInternetReachable) {
|
||||
setInfo(translate('common.offlinePretty'))
|
||||
setInfo(translate('commonOfflinePretty'))
|
||||
}
|
||||
|
||||
if (!amount || amount === 0) {
|
||||
infoMessage(translate('payCommon.amountZeroOrNegative'))
|
||||
infoMessage(translate('payCommon_amountZeroOrNegative'))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -402,7 +402,7 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
amount < roundUp(lnurlWithdrawParams?.minWithdrawable / 1000, 0)
|
||||
) {
|
||||
infoMessage(
|
||||
translate('payCommon.minimumWithdraw', {
|
||||
translate('payCommon_minimumWithdraw', {
|
||||
amount: roundUp(lnurlWithdrawParams?.minWithdrawable / 1000, 0),
|
||||
currency: CurrencyCode.SAT,
|
||||
}),
|
||||
@@ -414,8 +414,8 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
|
||||
if (availableBalances.length === 0) {
|
||||
infoMessage(
|
||||
translate("topup.missingMintAddFirst"),
|
||||
translate("topup.missingMintAddFirstDesc"),
|
||||
translate("topup_missingMintAddFirst"),
|
||||
translate("topup_missingMintAddFirstDesc"),
|
||||
)
|
||||
return
|
||||
}
|
||||
@@ -496,7 +496,7 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
const receiverPubkey = contactToSendTo?.pubkey
|
||||
|
||||
// redable message
|
||||
const message = translate('topup.nostrDMreceived', {
|
||||
const message = translate('topup_nostrDMreceived', {
|
||||
npub: walletProfileStore.npub,
|
||||
amount: amountToTopup,
|
||||
currency: getCurrency(unitRef.current).code
|
||||
@@ -543,7 +543,7 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
})
|
||||
}
|
||||
} else {
|
||||
setInfo(translate('topup.relayMissingSentEvent'))
|
||||
setInfo(translate('topup_relayMissingSentEvent'))
|
||||
}
|
||||
} catch (e: any) {
|
||||
handleError(e)
|
||||
@@ -647,11 +647,11 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
const getAmountTitle = function () {
|
||||
switch (paymentOption) {
|
||||
case ReceiveOption.SEND_PAYMENT_REQUEST:
|
||||
return translate("amount.requested")
|
||||
return translate("amountRequested")
|
||||
case ReceiveOption.LNURL_WITHDRAW:
|
||||
return translate("amount.withdraw")
|
||||
return translate("amountWithdraw")
|
||||
default:
|
||||
return translate("amount.topup")
|
||||
return translate("amountTopup")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -772,8 +772,8 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
mintBalances={availableMintBalances}
|
||||
selectedMintBalance={mintBalanceToTopup as MintBalance}
|
||||
unit={unitRef.current}
|
||||
title={translate("topup.mint")}
|
||||
confirmTitle={translate("common.confirmCreateInvoice")}
|
||||
title={translate("topup_mint")}
|
||||
confirmTitle={translate("commonConfirmCreateInvoice")}
|
||||
onMintBalanceSelect={onMintBalanceSelect}
|
||||
onCancel={onMintBalanceCancel}
|
||||
onMintBalanceConfirm={onMintBalanceConfirm}
|
||||
@@ -804,7 +804,7 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
ContentComponent={
|
||||
<>
|
||||
<TranItem
|
||||
label="topup.to"
|
||||
label="topup_to"
|
||||
isFirst={true}
|
||||
value={
|
||||
mintsStore.findByUrl(transaction.mint)
|
||||
@@ -818,13 +818,13 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="transactionCommon.feePaid"
|
||||
label="transactionCommon_feePaid"
|
||||
value={transaction.fee || 0}
|
||||
unit={unitRef.current}
|
||||
isCurrency={true}
|
||||
/>
|
||||
<TranItem
|
||||
label="tranDetailScreen.status"
|
||||
label="tranDetailScreen_status"
|
||||
value={transaction.status as string}
|
||||
/>
|
||||
</>
|
||||
@@ -836,7 +836,7 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={gotoWallet}
|
||||
/>
|
||||
</View>
|
||||
@@ -908,13 +908,13 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
<ResultModalInfo
|
||||
icon="faCheckCircle"
|
||||
iconColor={colors.palette.success200}
|
||||
title={translate('common.success')}
|
||||
title={translate('commonSuccess')}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={gotoWallet}
|
||||
/>
|
||||
</View>
|
||||
@@ -926,13 +926,13 @@ export const TopupScreen = observer(function TopupScreen({ route }: Props) {
|
||||
<ResultModalInfo
|
||||
icon="faTriangleExclamation"
|
||||
iconColor={colors.palette.angry500}
|
||||
title={resultModalInfo?.title || translate('topup.failed')}
|
||||
title={resultModalInfo?.title || translate('topup_failed')}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
</View>
|
||||
@@ -964,7 +964,7 @@ const InvoiceOptionsBlock = observer(function (props: {
|
||||
<View style={$buttonContainer}>
|
||||
{props.contactToSendTo ? (
|
||||
<Button
|
||||
text={translate("topup.sendToNip", {
|
||||
text={translate("topup_sendToNip", {
|
||||
sendToNip05: props.contactToSendTo.nip05
|
||||
})}
|
||||
preset="secondary"
|
||||
@@ -980,7 +980,7 @@ const InvoiceOptionsBlock = observer(function (props: {
|
||||
/>
|
||||
) : (
|
||||
<Button
|
||||
tx="topup.sendToContact"
|
||||
tx="topup_sendToContact"
|
||||
preset="secondary"
|
||||
onPress={props.gotoContacts}
|
||||
style={{maxHeight: 50}}
|
||||
@@ -995,7 +995,7 @@ const InvoiceOptionsBlock = observer(function (props: {
|
||||
)}
|
||||
{props.paymentOption === ReceiveOption.LNURL_WITHDRAW && (
|
||||
<Button
|
||||
tx="topup.withdraw"
|
||||
tx="topup_withdraw"
|
||||
preset="secondary"
|
||||
onPress={props.toggleWithdrawModal}
|
||||
style={{marginLeft: spacing.medium}}
|
||||
@@ -1055,7 +1055,7 @@ const SendAsNostrDMBlock = observer(function (props: {
|
||||
) : (
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
tx="topup.sendRequest"
|
||||
tx="topup_sendRequest"
|
||||
onPress={props.sendAsNostrDM}
|
||||
style={{marginRight: spacing.medium}}
|
||||
LeftAccessory={() => (
|
||||
@@ -1069,7 +1069,7 @@ const SendAsNostrDMBlock = observer(function (props: {
|
||||
/>
|
||||
<Button
|
||||
preset="tertiary"
|
||||
tx="common.close"
|
||||
tx="commonClose"
|
||||
onPress={props.toggleNostrDMModal}
|
||||
/>
|
||||
</View>
|
||||
@@ -1095,13 +1095,13 @@ const NostrDMSuccessBlock = observer(function (props: {
|
||||
<ResultModalInfo
|
||||
icon="faCheckCircle"
|
||||
iconColor={colors.palette.success200}
|
||||
title={translate('common.success')}
|
||||
message={translate("walletScreen.paymentSentSuccess")}
|
||||
title={translate('commonSuccess')}
|
||||
message={translate("walletScreen_paymentSentSuccess")}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={props.onClose}
|
||||
/>
|
||||
</View>
|
||||
@@ -1227,8 +1227,8 @@ const LnurlWithdrawBlock = observer(function (props: {
|
||||
<ListItem
|
||||
leftIcon="faCheckCircle"
|
||||
leftIconColor={colors.palette.success200}
|
||||
tx="topup.withdrawalAvailable"
|
||||
subText={translate("topup.withdrawAvailableDesc", {
|
||||
tx="topup_withdrawalAvailable"
|
||||
subText={translate("topup_withdrawAvailableDesc", {
|
||||
amount: roundDown( props.lnurlWithdrawParams.maxWithdrawable / 1000, 0),
|
||||
code: CurrencyCode.SAT
|
||||
})}
|
||||
@@ -1237,11 +1237,11 @@ const LnurlWithdrawBlock = observer(function (props: {
|
||||
<ListItem
|
||||
leftIcon="faCheckCircle"
|
||||
leftIconColor={colors.palette.success200}
|
||||
text={translate("topup.invoiceCreatedParam", {
|
||||
text={translate("topup_invoiceCreatedParam", {
|
||||
amount: props.amountToTopup,
|
||||
code: CurrencyCode.SAT
|
||||
})}
|
||||
subText={translate("topup.invoiceCreatedDescParam", {
|
||||
subText={translate("topup_invoiceCreatedDescParam", {
|
||||
mintUrl: props.mintBalanceToTopup.mintUrl
|
||||
})}
|
||||
bottomSeparator={true}
|
||||
@@ -1253,7 +1253,7 @@ const LnurlWithdrawBlock = observer(function (props: {
|
||||
) : (
|
||||
<View style={[$buttonContainer, {marginTop: spacing.medium}]}>
|
||||
<Button
|
||||
tx="topup.withdraw"
|
||||
tx="topup_withdraw"
|
||||
onPress={props.onLnurlWithdraw}
|
||||
style={{marginRight: spacing.medium}}
|
||||
LeftAccessory={() => (
|
||||
@@ -1267,7 +1267,7 @@ const LnurlWithdrawBlock = observer(function (props: {
|
||||
/>
|
||||
<Button
|
||||
preset="tertiary"
|
||||
tx='common.cancel'
|
||||
tx='commonCancel'
|
||||
onPress={props.toggleWithdrawModal}
|
||||
/>
|
||||
</View>
|
||||
@@ -1288,13 +1288,13 @@ const LnurlWithdrawSuccessBlock = observer(function (props: {
|
||||
<ResultModalInfo
|
||||
icon="faCheckCircle"
|
||||
iconColor={colors.palette.success200}
|
||||
title={translate("common.success")}
|
||||
title={translate("commonSuccess")}
|
||||
message={`Withdrawal request has been received by ${props.lnurlWithdrawParams.domain}.`}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={props.onClose}
|
||||
/>
|
||||
</View>
|
||||
|
||||
+103
-103
@@ -156,7 +156,7 @@ export const TranDetailScreen = observer(function TranDetailScreen({ route }: Pr
|
||||
try {
|
||||
if(transaction) Clipboard.setString(JSON.stringify(getAuditTrail(transaction)))
|
||||
} catch (e: any) {
|
||||
setInfo(translate("common.copyFailParam", { param: e.message }))
|
||||
setInfo(translate("commonCopyFailParam", { param: e.message }))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ export const TranDetailScreen = observer(function TranDetailScreen({ route }: Pr
|
||||
try {
|
||||
if(transaction && transaction.inputToken) Clipboard.setString(transaction.inputToken)
|
||||
} catch (e: any) {
|
||||
setInfo(translate("common.copyFailParam", { param: e.message }))
|
||||
setInfo(translate("commonCopyFailParam", { param: e.message }))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,7 +172,7 @@ export const TranDetailScreen = observer(function TranDetailScreen({ route }: Pr
|
||||
try {
|
||||
if(transaction && transaction.outputToken) Clipboard.setString(transaction.outputToken)
|
||||
} catch (e: any) {
|
||||
setInfo(translate("common.copyFailParam", { param: e.message }))
|
||||
setInfo(translate("commonCopyFailParam", { param: e.message }))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -306,7 +306,7 @@ export const TranDetailScreen = observer(function TranDetailScreen({ route }: Pr
|
||||
<Button
|
||||
preset="secondary"
|
||||
style={$noteButton}
|
||||
tx="common.save"
|
||||
tx="commonSave"
|
||||
onPress={onNoteSave}
|
||||
|
||||
/>
|
||||
@@ -314,7 +314,7 @@ export const TranDetailScreen = observer(function TranDetailScreen({ route }: Pr
|
||||
<Button
|
||||
preset="secondary"
|
||||
style={$noteButton}
|
||||
tx="common.edit"
|
||||
tx="commonEdit"
|
||||
onPress={onNoteEdit}
|
||||
|
||||
/>
|
||||
@@ -368,7 +368,7 @@ export const TranDetailScreen = observer(function TranDetailScreen({ route }: Pr
|
||||
)}
|
||||
{isDataParsable && (
|
||||
<Card
|
||||
labelTx='tranDetailScreen.auditTrail'
|
||||
labelTx='tranDetailScreen_auditTrail'
|
||||
style={$dataCard}
|
||||
ContentComponent={
|
||||
<>
|
||||
@@ -378,7 +378,7 @@ export const TranDetailScreen = observer(function TranDetailScreen({ route }: Pr
|
||||
<View style={$rightContainer}>
|
||||
<Button
|
||||
onPress={toggleAuditTrail}
|
||||
text={isAuditTrailVisible ? translate("common.hide") : translate("common.show")}
|
||||
text={isAuditTrailVisible ? translate("commonHide") : translate("commonShow")}
|
||||
preset="secondary"
|
||||
/>
|
||||
</View>
|
||||
@@ -398,7 +398,7 @@ export const TranDetailScreen = observer(function TranDetailScreen({ route }: Pr
|
||||
<Button
|
||||
preset="tertiary"
|
||||
onPress={copyAuditTrail}
|
||||
tx="common.copy"
|
||||
tx="commonCopy"
|
||||
style={{
|
||||
minHeight: 50,
|
||||
paddingVertical: spacing.extraSmall,
|
||||
@@ -432,7 +432,7 @@ export const TranDetailScreen = observer(function TranDetailScreen({ route }: Pr
|
||||
<View style={$rightContainer}>
|
||||
<Button
|
||||
onPress={toggleTokenTracking}
|
||||
text={isTokenTrackingVisible ? translate("common.hide") : translate("common.show")}
|
||||
text={isTokenTrackingVisible ? translate("commonHide") : translate("commonShow")}
|
||||
preset="secondary"
|
||||
/>
|
||||
</View>
|
||||
@@ -450,7 +450,7 @@ export const TranDetailScreen = observer(function TranDetailScreen({ route }: Pr
|
||||
<View style={$rightContainer}>
|
||||
<Button
|
||||
onPress={copyInputToken}
|
||||
text={translate("common.copy")}
|
||||
text={translate("commonCopy")}
|
||||
preset="secondary"
|
||||
/>
|
||||
</View>
|
||||
@@ -467,7 +467,7 @@ export const TranDetailScreen = observer(function TranDetailScreen({ route }: Pr
|
||||
<View style={$rightContainer}>
|
||||
<Button
|
||||
onPress={copyOutputToken}
|
||||
text={translate("common.copy")}
|
||||
text={translate("commonCopy")}
|
||||
preset="secondary"
|
||||
/>
|
||||
</View>
|
||||
@@ -637,7 +637,7 @@ const ReceiveInfoBlock = function (props: {
|
||||
|
||||
const transactionDataUpdate = {
|
||||
status: TransactionStatus.EXPIRED,
|
||||
message: translate("tranDetailScreen.successRetrieveEcashAfterRetry"),
|
||||
message: translate("tranDetailScreen_successRetrieveEcashAfterRetry"),
|
||||
createdAt: new Date(),
|
||||
}
|
||||
|
||||
@@ -734,7 +734,7 @@ const ReceiveInfoBlock = function (props: {
|
||||
ContentComponent={
|
||||
<>
|
||||
<TranItem
|
||||
label="tranDetailScreen.amount"
|
||||
label="tranDetailScreen_amount"
|
||||
value={transaction.amount}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
@@ -742,7 +742,7 @@ const ReceiveInfoBlock = function (props: {
|
||||
/>
|
||||
{transaction.memo && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.memoFromSender"
|
||||
label="tranDetailScreen_memoFromSender"
|
||||
value={transaction.memo as string}
|
||||
/>
|
||||
)}
|
||||
@@ -753,7 +753,7 @@ const ReceiveInfoBlock = function (props: {
|
||||
style={{flexDirection: 'row', justifyContent: 'space-between'}}
|
||||
>
|
||||
<TranItem
|
||||
label="tranDetailScreen.sentFrom"
|
||||
label="tranDetailScreen_sentFrom"
|
||||
value={transaction.sentFrom}
|
||||
url={sentFromUrl}
|
||||
/>
|
||||
@@ -786,7 +786,7 @@ const ReceiveInfoBlock = function (props: {
|
||||
</View>
|
||||
) : (
|
||||
<TranItem
|
||||
label="tranDetailScreen.sentFrom"
|
||||
label="tranDetailScreen_sentFrom"
|
||||
value={transaction.sentFrom}
|
||||
url={sentFromUrl}
|
||||
/>
|
||||
@@ -796,17 +796,17 @@ const ReceiveInfoBlock = function (props: {
|
||||
)}
|
||||
{eventUrl && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.eventUrl"
|
||||
label="tranDetailScreen_eventUrl"
|
||||
value={`${eventUrl.substring(0,30)}...`}
|
||||
url={eventUrl}
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="tranDetailScreen.type"
|
||||
label="tranDetailScreen_type"
|
||||
value={transaction.type as string}
|
||||
/>
|
||||
<TranItem
|
||||
label="tranDetailScreen.fee"
|
||||
label="tranDetailScreen_fee"
|
||||
value={transaction.fee}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
@@ -815,46 +815,46 @@ const ReceiveInfoBlock = function (props: {
|
||||
<View
|
||||
style={{flexDirection: 'row', justifyContent: 'space-between'}}>
|
||||
<TranItem
|
||||
label="tranDetailScreen.status"
|
||||
label="tranDetailScreen_status"
|
||||
value={transaction.status as string}
|
||||
/>
|
||||
<Button
|
||||
style={{marginTop: spacing.medium}}
|
||||
// preset="secondary"
|
||||
tx="tranDetailScreen.retryToReceive"
|
||||
tx="tranDetailScreen_retryToReceive"
|
||||
onPress={onRetryToReceive}
|
||||
/>
|
||||
</View>
|
||||
) : (
|
||||
<TranItem
|
||||
label="tranDetailScreen.status"
|
||||
label="tranDetailScreen_status"
|
||||
value={transaction.status as string}
|
||||
/>
|
||||
)}
|
||||
{transaction.status === TransactionStatus.COMPLETED && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.balanceAfter"
|
||||
label="tranDetailScreen_balanceAfter"
|
||||
value={transaction.balanceAfter || 0}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="tranDetailScreen.createdAt"
|
||||
label="tranDetailScreen_createdAt"
|
||||
value={(transaction.createdAt as Date).toLocaleString()}
|
||||
/>
|
||||
{transaction.paymentId && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.paymentId"
|
||||
label="tranDetailScreen_paymentId"
|
||||
value={transaction.paymentId as string}
|
||||
/>
|
||||
)}
|
||||
<TranItem label="tranDetailScreen.id" value={`${transaction.id}`} />
|
||||
<TranItem label="tranDetailScreen_id" value={`${transaction.id}`} />
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<Card
|
||||
labelTx='transactionCommon.receivedTo'
|
||||
labelTx='transactionCommon_receivedTo'
|
||||
style={$dataCard}
|
||||
ContentComponent={
|
||||
mint ? (
|
||||
@@ -877,13 +877,13 @@ const ReceiveInfoBlock = function (props: {
|
||||
<ResultModalInfo
|
||||
icon="faCheckCircle"
|
||||
iconColor={colors.palette.success200}
|
||||
title={translate("tranDetailScreen.modalSuccess")}
|
||||
title={translate("tranDetailScreen_modalSuccess")}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={onGoBack}
|
||||
/>
|
||||
</View>
|
||||
@@ -895,13 +895,13 @@ const ReceiveInfoBlock = function (props: {
|
||||
<ResultModalInfo
|
||||
icon="faTriangleExclamation"
|
||||
iconColor={colors.palette.angry500}
|
||||
title={translate('transactionCommon.receiveFailed')}
|
||||
title={translate('transactionCommon_receiveFailed')}
|
||||
message={resultModalInfo?.message as string}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
</View>
|
||||
@@ -999,7 +999,7 @@ const ReceiveOfflineInfoBlock = function (props: {
|
||||
<View
|
||||
style={{flexDirection: 'row', justifyContent: 'space-between'}}>
|
||||
<TranItem
|
||||
label="tranDetailScreen.amount"
|
||||
label="tranDetailScreen_amount"
|
||||
value={transaction.amount}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
@@ -1009,72 +1009,72 @@ const ReceiveOfflineInfoBlock = function (props: {
|
||||
<Button
|
||||
style={{maxHeight: 10, marginTop: spacing.medium}}
|
||||
preset="default"
|
||||
tx="tranDetailScreen.receiveOfflineComplete"
|
||||
tx="tranDetailScreen_receiveOfflineComplete"
|
||||
onPress={receiveOfflineComplete}
|
||||
/>
|
||||
) : (
|
||||
<Button
|
||||
style={{maxHeight: 10, marginTop: spacing.medium}}
|
||||
preset="secondary"
|
||||
tx="tranDetailScreen.isOffline"
|
||||
tx="tranDetailScreen_isOffline"
|
||||
/>
|
||||
)}
|
||||
</View>
|
||||
) : (
|
||||
<TranItem
|
||||
label="tranDetailScreen.amount"
|
||||
label="tranDetailScreen_amount"
|
||||
value={transaction.amount}
|
||||
isFirst={true}
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="tranDetailScreen.memoFromSender"
|
||||
label="tranDetailScreen_memoFromSender"
|
||||
value={transaction.memo as string}
|
||||
/>
|
||||
{transaction.sentFrom && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.sentFrom"
|
||||
label="tranDetailScreen_sentFrom"
|
||||
value={transaction.sentFrom}
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="tranDetailScreen.type"
|
||||
label="tranDetailScreen_type"
|
||||
value={transaction.type as string}
|
||||
/>
|
||||
<TranItem
|
||||
label="tranDetailScreen.fee"
|
||||
label="tranDetailScreen_fee"
|
||||
value={transaction.fee}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
/>
|
||||
<TranItem
|
||||
label="tranDetailScreen.status"
|
||||
label="tranDetailScreen_status"
|
||||
value={transaction.status as string}
|
||||
/>
|
||||
{transaction.status === TransactionStatus.COMPLETED && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.balanceAfter"
|
||||
label="tranDetailScreen_balanceAfter"
|
||||
value={transaction.balanceAfter || 0}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="tranDetailScreen.createdAt"
|
||||
label="tranDetailScreen_createdAt"
|
||||
value={(transaction.createdAt as Date).toLocaleString()}
|
||||
/>
|
||||
{transaction.paymentId && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.paymentId"
|
||||
label="tranDetailScreen_paymentId"
|
||||
value={transaction.paymentId as string}
|
||||
/>
|
||||
)}
|
||||
<TranItem label="tranDetailScreen.id" value={`${transaction.id}`} />
|
||||
<TranItem label="tranDetailScreen_id" value={`${transaction.id}`} />
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<Card
|
||||
labelTx='transactionCommon.receivedTo'
|
||||
labelTx='transactionCommon_receivedTo'
|
||||
style={$dataCard}
|
||||
ContentComponent={
|
||||
mint ? (
|
||||
@@ -1098,13 +1098,13 @@ const ReceiveOfflineInfoBlock = function (props: {
|
||||
<ResultModalInfo
|
||||
icon="faCheckCircle"
|
||||
iconColor={colors.palette.success200}
|
||||
title={translate('common.success')}
|
||||
title={translate('commonSuccess')}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={onGoBack}
|
||||
/>
|
||||
</View>
|
||||
@@ -1116,13 +1116,13 @@ const ReceiveOfflineInfoBlock = function (props: {
|
||||
<ResultModalInfo
|
||||
icon="faTriangleExclamation"
|
||||
iconColor={colors.palette.angry500}
|
||||
title={translate('transactionCommon.receiveFailed')}
|
||||
title={translate('transactionCommon_receiveFailed')}
|
||||
message={resultModalInfo?.message as string}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={onGoBack}
|
||||
/>
|
||||
</View>
|
||||
@@ -1236,7 +1236,7 @@ const SendInfoBlock = function (props: {
|
||||
ContentComponent={
|
||||
<>
|
||||
<TranItem
|
||||
label="tranDetailScreen.amount"
|
||||
label="tranDetailScreen_amount"
|
||||
value={transaction.amount}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
@@ -1250,16 +1250,16 @@ const SendInfoBlock = function (props: {
|
||||
)}
|
||||
{transaction.sentTo && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.sentTo"
|
||||
label="tranDetailScreen_sentTo"
|
||||
value={transaction.sentTo}
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="tranDetailScreen.type"
|
||||
label="tranDetailScreen_type"
|
||||
value={transaction.type as string}
|
||||
/>
|
||||
<TranItem
|
||||
label="tranDetailScreen.fee"
|
||||
label="tranDetailScreen_fee"
|
||||
value={transaction.fee}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
@@ -1268,40 +1268,40 @@ const SendInfoBlock = function (props: {
|
||||
<View
|
||||
style={{flexDirection: 'row', justifyContent: 'space-between'}}>
|
||||
<TranItem
|
||||
label="tranDetailScreen.status"
|
||||
label="tranDetailScreen_status"
|
||||
value={transaction.status as string}
|
||||
/>
|
||||
<Button
|
||||
style={{marginVertical: spacing.small}}
|
||||
preset="secondary"
|
||||
tx="tranDetailScreen.revert"
|
||||
tx="tranDetailScreen_revert"
|
||||
onPress={onRevertPendingSend}
|
||||
/>
|
||||
</View>
|
||||
) : (
|
||||
<TranItem
|
||||
label="tranDetailScreen.status"
|
||||
label="tranDetailScreen_status"
|
||||
value={transaction.status as string}
|
||||
/>
|
||||
)}
|
||||
{transaction.status !== TransactionStatus.ERROR && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.balanceAfter"
|
||||
label="tranDetailScreen_balanceAfter"
|
||||
value={transaction.balanceAfter || 0}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="tranDetailScreen.createdAt"
|
||||
label="tranDetailScreen_createdAt"
|
||||
value={(transaction.createdAt as Date).toLocaleString()}
|
||||
/>
|
||||
<TranItem label="tranDetailScreen.id" value={`${transaction.id}`} />
|
||||
<TranItem label="tranDetailScreen_id" value={`${transaction.id}`} />
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<Card
|
||||
labelTx='tranDetailScreen.sentFrom'
|
||||
labelTx='tranDetailScreen_sentFrom'
|
||||
style={$dataCard}
|
||||
ContentComponent={
|
||||
mint ? (
|
||||
@@ -1330,7 +1330,7 @@ const SendInfoBlock = function (props: {
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
</View>
|
||||
@@ -1347,7 +1347,7 @@ const SendInfoBlock = function (props: {
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
</View>
|
||||
@@ -1472,7 +1472,7 @@ const TopupInfoBlock = function (props: {
|
||||
ContentComponent={
|
||||
<>
|
||||
<TranItem
|
||||
label="tranDetailScreen.amount"
|
||||
label="tranDetailScreen_amount"
|
||||
value={transaction.amount}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
@@ -1486,16 +1486,16 @@ const TopupInfoBlock = function (props: {
|
||||
)}
|
||||
{transaction.sentFrom && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.sentFrom"
|
||||
label="tranDetailScreen_sentFrom"
|
||||
value={transaction.sentFrom}
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="tranDetailScreen.type"
|
||||
label="tranDetailScreen_type"
|
||||
value={transaction.type as string}
|
||||
/>
|
||||
<TranItem
|
||||
label="tranDetailScreen.fee"
|
||||
label="tranDetailScreen_fee"
|
||||
value={transaction.fee}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
@@ -1504,47 +1504,47 @@ const TopupInfoBlock = function (props: {
|
||||
<View
|
||||
style={{flexDirection: 'row', justifyContent: 'space-between'}}>
|
||||
<TranItem
|
||||
label="tranDetailScreen.status"
|
||||
label="tranDetailScreen_status"
|
||||
value={transaction.status as string}
|
||||
/>
|
||||
<Button
|
||||
style={{marginTop: spacing.medium}}
|
||||
preset="secondary"
|
||||
tx="tranDetailScreen.retryToComplete"
|
||||
tx="tranDetailScreen_retryToComplete"
|
||||
onPress={onRetryToHandlePendingTopup}
|
||||
/>
|
||||
</View>
|
||||
) : (
|
||||
<TranItem
|
||||
label="tranDetailScreen.status"
|
||||
label="tranDetailScreen_status"
|
||||
value={transaction.status as string}
|
||||
/>
|
||||
)}
|
||||
{transaction.status === TransactionStatus.COMPLETED && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.balanceAfter"
|
||||
label="tranDetailScreen_balanceAfter"
|
||||
value={transaction.balanceAfter || 0}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="tranDetailScreen.createdAt"
|
||||
label="tranDetailScreen_createdAt"
|
||||
value={(transaction.createdAt as Date).toLocaleString()}
|
||||
/>
|
||||
{transaction.expiresAt && transaction.status !== TransactionStatus.COMPLETED && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.expiresAt"
|
||||
label="tranDetailScreen_expiresAt"
|
||||
value={(new Date(transaction.expiresAt!)).toLocaleString()}
|
||||
/>
|
||||
)}
|
||||
{transaction.paymentId && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.paymentId"
|
||||
label="tranDetailScreen_paymentId"
|
||||
value={transaction.paymentId as string}
|
||||
/>
|
||||
)}
|
||||
<TranItem label="tranDetailScreen.id" value={`${transaction.id}`} />
|
||||
<TranItem label="tranDetailScreen_id" value={`${transaction.id}`} />
|
||||
</>
|
||||
}
|
||||
/>
|
||||
@@ -1552,14 +1552,14 @@ const TopupInfoBlock = function (props: {
|
||||
<View style={{marginBottom: spacing.small}}>
|
||||
<QRCodeBlock
|
||||
qrCodeData={transaction.paymentRequest}
|
||||
title={translate("tranDetailScreen.invoice")}
|
||||
title={translate("tranDetailScreen_invoice")}
|
||||
type='Bolt11Invoice'
|
||||
size={spacing.screenWidth * 0.8}
|
||||
/>
|
||||
</View>
|
||||
)}
|
||||
<Card
|
||||
labelTx='tranDetailScreen.topupTo'
|
||||
labelTx='tranDetailScreen_topupTo'
|
||||
style={$dataCard}
|
||||
ContentComponent={
|
||||
mint ? (
|
||||
@@ -1582,13 +1582,13 @@ const TopupInfoBlock = function (props: {
|
||||
<ResultModalInfo
|
||||
icon="faCheckCircle"
|
||||
iconColor={colors.palette.success200}
|
||||
title={translate("tranDetailScreen.modalSuccess")}
|
||||
title={translate("tranDetailScreen_modalSuccess")}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={onGoBack}
|
||||
/>
|
||||
</View>
|
||||
@@ -1599,13 +1599,13 @@ const TopupInfoBlock = function (props: {
|
||||
<ResultModalInfo
|
||||
icon="faTriangleExclamation"
|
||||
iconColor={colors.palette.accent400}
|
||||
title={translate("tranDetailScreen.invoiceNotPaid")}
|
||||
title={translate("tranDetailScreen_invoiceNotPaid")}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
</View>
|
||||
@@ -1616,13 +1616,13 @@ const TopupInfoBlock = function (props: {
|
||||
<ResultModalInfo
|
||||
icon="faTriangleExclamation"
|
||||
iconColor={colors.palette.accent400}
|
||||
title={translate("tranDetailScreen.invoiceExpired")}
|
||||
title={translate("tranDetailScreen_invoiceExpired")}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
</View>
|
||||
@@ -1633,13 +1633,13 @@ const TopupInfoBlock = function (props: {
|
||||
<ResultModalInfo
|
||||
icon="faTriangleExclamation"
|
||||
iconColor={colors.palette.angry500}
|
||||
title={translate("tranDetailScreen.topupError")}
|
||||
title={translate("tranDetailScreen_topupError")}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
</View>
|
||||
@@ -1760,7 +1760,7 @@ const TransferInfoBlock = function (props: {
|
||||
style={{flexDirection: 'row', justifyContent: 'space-between'}}
|
||||
>
|
||||
<TranItem
|
||||
label="tranDetailScreen.amount"
|
||||
label="tranDetailScreen_amount"
|
||||
value={transaction.amount}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
@@ -1768,13 +1768,13 @@ const TransferInfoBlock = function (props: {
|
||||
/>
|
||||
<Button
|
||||
style={{marginTop: spacing.medium}}
|
||||
tx="transactionCommon.payNow"
|
||||
tx="transactionCommon_payNow"
|
||||
onPress={onPayDraftTransfer}
|
||||
/>
|
||||
</View>
|
||||
):(
|
||||
<TranItem
|
||||
label="tranDetailScreen.amount"
|
||||
label="tranDetailScreen_amount"
|
||||
value={transaction.amount}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
@@ -1783,23 +1783,23 @@ const TransferInfoBlock = function (props: {
|
||||
)}
|
||||
{transaction.memo && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.memoFromInvoice"
|
||||
label="tranDetailScreen_memoFromInvoice"
|
||||
value={transaction.memo as string}
|
||||
/>
|
||||
)}
|
||||
{transaction.sentTo && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.sentTo"
|
||||
label="tranDetailScreen_sentTo"
|
||||
value={transaction.sentTo}
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="tranDetailScreen.type"
|
||||
label="tranDetailScreen_type"
|
||||
value={transaction.type as string}
|
||||
/>
|
||||
{transaction.status === TransactionStatus.COMPLETED && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.fee"
|
||||
label="tranDetailScreen_fee"
|
||||
value={transaction.fee}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
@@ -1810,7 +1810,7 @@ const TransferInfoBlock = function (props: {
|
||||
style={{flexDirection: 'row', justifyContent: 'space-between'}}
|
||||
>
|
||||
<TranItem
|
||||
label="tranDetailScreen.status"
|
||||
label="tranDetailScreen_status"
|
||||
value={transaction.status as string}
|
||||
/>
|
||||
<Button
|
||||
@@ -1822,40 +1822,40 @@ const TransferInfoBlock = function (props: {
|
||||
</View>
|
||||
):(
|
||||
<TranItem
|
||||
label="tranDetailScreen.status"
|
||||
label="tranDetailScreen_status"
|
||||
value={transaction.status as string}
|
||||
/>
|
||||
)}
|
||||
{transaction.status === TransactionStatus.COMPLETED && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.balanceAfter"
|
||||
label="tranDetailScreen_balanceAfter"
|
||||
value={transaction.balanceAfter || 0}
|
||||
unit={transaction.unit}
|
||||
isCurrency={true}
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="tranDetailScreen.createdAt"
|
||||
label="tranDetailScreen_createdAt"
|
||||
value={(transaction.createdAt as Date).toLocaleString()}
|
||||
/>
|
||||
{transaction.expiresAt && transaction.status !== TransactionStatus.COMPLETED && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.expiresAt"
|
||||
label="tranDetailScreen_expiresAt"
|
||||
value={(new Date(transaction.expiresAt!)).toLocaleString()}
|
||||
/>
|
||||
)}
|
||||
{transaction.paymentId && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.paymentId"
|
||||
label="tranDetailScreen_paymentId"
|
||||
value={transaction.paymentId as string}
|
||||
/>
|
||||
)}
|
||||
<TranItem label="tranDetailScreen.id" value={`${transaction.id}`} />
|
||||
<TranItem label="tranDetailScreen_id" value={`${transaction.id}`} />
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<Card
|
||||
labelTx='transactionCommon.paidFrom'
|
||||
labelTx='transactionCommon_paidFrom'
|
||||
style={$dataCard}
|
||||
ContentComponent={
|
||||
mint ? (
|
||||
@@ -1871,7 +1871,7 @@ const TransferInfoBlock = function (props: {
|
||||
/>
|
||||
{transaction.proof && (
|
||||
<Card
|
||||
labelTx='tranDetailScreen.proof'
|
||||
labelTx='tranDetailScreen_proof'
|
||||
style={$dataCard}
|
||||
ContentComponent={
|
||||
<ListItem
|
||||
@@ -1881,7 +1881,7 @@ const TransferInfoBlock = function (props: {
|
||||
<View style={$rightContainer}>
|
||||
<Button
|
||||
onPress={copyProof}
|
||||
text={translate("common.copy")}
|
||||
text={translate("commonCopy")}
|
||||
preset="secondary"
|
||||
/>
|
||||
</View>
|
||||
@@ -1905,7 +1905,7 @@ const TransferInfoBlock = function (props: {
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
</View>
|
||||
@@ -1922,7 +1922,7 @@ const TransferInfoBlock = function (props: {
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx='common.close'
|
||||
tx='commonClose'
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
</View>
|
||||
|
||||
@@ -255,11 +255,11 @@ export const TranHistoryScreen = observer(function TranHistoryScreen({ route }:
|
||||
<>
|
||||
<ListItem
|
||||
text={showPendingOnly
|
||||
? translate("tranHistory.showingPaginationPending", {
|
||||
? translate("tranHistory_showingPaginationPending", {
|
||||
amount: transactionsStore.pendingHistoryCount,
|
||||
total: pendingDbCount
|
||||
})
|
||||
: translate("tranHistory.showingPaginationTotal", {
|
||||
: translate("tranHistory_showingPaginationTotal", {
|
||||
amount: transactionsStore.historyCount,
|
||||
total: totalDbCount
|
||||
})
|
||||
@@ -277,7 +277,7 @@ export const TranHistoryScreen = observer(function TranHistoryScreen({ route }:
|
||||
onPress={() => false}
|
||||
/>
|
||||
<ListItem
|
||||
text={translate("tranHistory.pendingParam", {
|
||||
text={translate("tranHistory_pendingParam", {
|
||||
param: pendingDbCount
|
||||
})}
|
||||
LeftComponent={
|
||||
@@ -323,12 +323,12 @@ export const TranHistoryScreen = observer(function TranHistoryScreen({ route }:
|
||||
{sections.length > 0 && (
|
||||
<View style={{alignItems: 'center'}}>
|
||||
{!showPendingOnly && isAll || showPendingOnly && pendingIsAll ? (
|
||||
<Text tx="tranHistory.listIsComplete" size="xs" />
|
||||
<Text tx="tranHistory_listIsComplete" size="xs" />
|
||||
) : (
|
||||
<Button
|
||||
preset="secondary"
|
||||
onPress={addTransactionsToList}
|
||||
tx="tranHistory.viewMore"
|
||||
tx="tranHistory_viewMore"
|
||||
style={{minHeight: 25, paddingVertical: spacing.tiny}}
|
||||
textStyle={{fontSize: 14}}
|
||||
/>
|
||||
@@ -346,7 +346,7 @@ export const TranHistoryScreen = observer(function TranHistoryScreen({ route }:
|
||||
ContentComponent={
|
||||
<ListItem
|
||||
leftIcon='faBan'
|
||||
tx={"tranHistory.noTransToShow"}
|
||||
tx={"tranHistory_noTransToShow"}
|
||||
/>
|
||||
}
|
||||
style={$card}
|
||||
@@ -362,8 +362,8 @@ export const TranHistoryScreen = observer(function TranHistoryScreen({ route }:
|
||||
ContentComponent={
|
||||
<>
|
||||
<ListItem
|
||||
tx="tranHistory.deleteExpired"
|
||||
subText={translate("tranHistory.deleteExpiredDesc", {
|
||||
tx="tranHistory_deleteExpired"
|
||||
subText={translate("tranHistory_deleteExpiredDesc", {
|
||||
count: expiredDbCount
|
||||
})}
|
||||
leftIcon='faRotate'
|
||||
@@ -371,8 +371,8 @@ export const TranHistoryScreen = observer(function TranHistoryScreen({ route }:
|
||||
bottomSeparator={true}
|
||||
/>
|
||||
<ListItem
|
||||
tx="tranHistory.deleteErrored"
|
||||
subText={translate("tranHistory.deleteErroredDesc", {
|
||||
tx="tranHistory_deleteErrored"
|
||||
subText={translate("tranHistory_deleteErroredDesc", {
|
||||
count: erroredDbCount
|
||||
})}
|
||||
leftIcon='faBug'
|
||||
@@ -380,8 +380,8 @@ export const TranHistoryScreen = observer(function TranHistoryScreen({ route }:
|
||||
bottomSeparator={true}
|
||||
/>
|
||||
<ListItem
|
||||
tx="tranHistory.deleteReverted"
|
||||
subText={translate("tranHistory.deleteRevertedDesc", {
|
||||
tx="tranHistory_deleteReverted"
|
||||
subText={translate("tranHistory_deleteRevertedDesc", {
|
||||
count: revertedDbCount
|
||||
})}
|
||||
leftIcon='faBan'
|
||||
|
||||
@@ -57,49 +57,49 @@ export const TransactionListItem = observer(function (props: TransactionListProp
|
||||
case TransactionType.RECEIVE:
|
||||
if (tx.sentFrom) {
|
||||
if (!tx.memo || tx.memo.includes('Sent from Minibits')) {
|
||||
return translate('transactionCommon.from', {sender: getProfileName(tx.sentFrom)})
|
||||
return translate('transactionCommon_from', {sender: getProfileName(tx.sentFrom)})
|
||||
}
|
||||
} else {
|
||||
return tx.memo ? tx.memo : translate('transactionCommon.youReceived')
|
||||
return tx.memo ? tx.memo : translate('transactionCommon_youReceived')
|
||||
}
|
||||
case TransactionType.RECEIVE_BY_PAYMENT_REQUEST:
|
||||
if (tx.sentFrom) {
|
||||
if (!tx.memo || tx.memo.includes('Sent from Minibits')) {
|
||||
return translate('transactionCommon.from', {sender: getProfileName(tx.sentFrom)})
|
||||
return translate('transactionCommon_from', {sender: getProfileName(tx.sentFrom)})
|
||||
}
|
||||
} else {
|
||||
return tx.memo ? tx.memo : translate('transactionCommon.youReceived')
|
||||
return tx.memo ? tx.memo : translate('transactionCommon_youReceived')
|
||||
}
|
||||
case TransactionType.RECEIVE_OFFLINE:
|
||||
if (tx.sentFrom) {
|
||||
if (!tx.memo || tx.memo.includes('Sent from Minibits')) {
|
||||
return translate('transactionCommon.from', {sender: getProfileName(tx.sentFrom)})
|
||||
return translate('transactionCommon_from', {sender: getProfileName(tx.sentFrom)})
|
||||
}
|
||||
} else {
|
||||
return tx.memo ? tx.memo : translate('transactionCommon.youReceived')
|
||||
return tx.memo ? tx.memo : translate('transactionCommon_youReceived')
|
||||
}
|
||||
case TransactionType.SEND:
|
||||
return (tx.memo
|
||||
? tx.memo
|
||||
: tx.sentTo
|
||||
? translate('transactionCommon.sentTo', {receiver: getProfileName(tx.sentTo)})
|
||||
: translate('transactionCommon.youSent'))
|
||||
? translate('transactionCommon_sentTo', {receiver: getProfileName(tx.sentTo)})
|
||||
: translate('transactionCommon_youSent'))
|
||||
case TransactionType.TOPUP:
|
||||
return (tx.memo
|
||||
? tx.memo
|
||||
: tx.sentFrom
|
||||
? translate('transactionCommon.receivedFrom', {sender: getProfileName(tx.sentFrom)})
|
||||
: translate('transactionCommon.youReceived'))
|
||||
? translate('transactionCommon_receivedFrom', {sender: getProfileName(tx.sentFrom)})
|
||||
: translate('transactionCommon_youReceived'))
|
||||
case TransactionType.TRANSFER:
|
||||
return (tx.memo && tx.memo !== 'LNbits'
|
||||
? tx.memo
|
||||
: tx.sentTo
|
||||
? tx.status === TransactionStatus.COMPLETED ?
|
||||
translate('transactionCommon.paidTo', {receiver: getProfileName(tx.sentTo)})
|
||||
: translate('transactionCommon.payTo', {receiver: getProfileName(tx.sentTo)})
|
||||
: translate('transactionCommon.youPaid'))
|
||||
translate('transactionCommon_paidTo', {receiver: getProfileName(tx.sentTo)})
|
||||
: translate('transactionCommon_payTo', {receiver: getProfileName(tx.sentTo)})
|
||||
: translate('transactionCommon_youPaid'))
|
||||
default:
|
||||
return translate('transactionCommon.unknown')
|
||||
return translate('transactionCommon_unknown')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,31 +123,31 @@ export const TransactionListItem = observer(function (props: TransactionListProp
|
||||
if(isTimeAgoVisible) {
|
||||
return distance
|
||||
} else {
|
||||
return translate('transactionCommon.status.completed')
|
||||
return translate('transactionCommon_status_completed')
|
||||
}
|
||||
}
|
||||
case TransactionStatus.RECOVERED:
|
||||
return timeAgo + translate('transactionCommon.status.recovered')
|
||||
return timeAgo + translate('transactionCommon_status_recovered')
|
||||
case TransactionStatus.DRAFT:
|
||||
return timeAgo + translate('transactionCommon.status.draft')
|
||||
return timeAgo + translate('transactionCommon_status_draft')
|
||||
case TransactionStatus.ERROR:
|
||||
return timeAgo + translate('transactionCommon.status.error')
|
||||
return timeAgo + translate('transactionCommon_status_error')
|
||||
case TransactionStatus.PENDING:
|
||||
return timeAgo + translate('transactionCommon.status.pending')
|
||||
return timeAgo + translate('transactionCommon_status_pending')
|
||||
case TransactionStatus.PREPARED:
|
||||
return timeAgo + translate('transactionCommon.status.prepared')
|
||||
return timeAgo + translate('transactionCommon_status_prepared')
|
||||
case TransactionStatus.PREPARED_OFFLINE:
|
||||
if (isInternetReachable) {
|
||||
return timeAgo + translate('transactionCommon.tapToRedeem')
|
||||
return timeAgo + translate('transactionCommon_tapToRedeem')
|
||||
} else {
|
||||
return timeAgo + translate('transactionCommon.redeemOnline')
|
||||
return timeAgo + translate('transactionCommon_redeemOnline')
|
||||
}
|
||||
case TransactionStatus.REVERTED:
|
||||
return timeAgo + translate('transactionCommon.status.reverted')
|
||||
return timeAgo + translate('transactionCommon_status_reverted')
|
||||
case TransactionStatus.BLOCKED:
|
||||
return timeAgo + translate('transactionCommon.status.blocked')
|
||||
return timeAgo + translate('transactionCommon_status_blocked')
|
||||
case TransactionStatus.EXPIRED:
|
||||
return timeAgo + translate('transactionCommon.status.expired')
|
||||
return timeAgo + translate('transactionCommon_status_expired')
|
||||
default:
|
||||
return timeAgo
|
||||
}
|
||||
|
||||
@@ -330,7 +330,7 @@ useEffect(() => {
|
||||
let availableBalances = proofsStore.getMintBalancesWithEnoughBalance(totalAmount, unitRef.current)
|
||||
|
||||
if (availableBalances.length === 0) {
|
||||
setInfo(translate("transferScreen.insufficientFunds", {
|
||||
setInfo(translate("transferScreen_insufficientFunds", {
|
||||
currency: getCurrency(unitRef.current).code,
|
||||
amount: amountToTransfer
|
||||
}))
|
||||
@@ -404,7 +404,7 @@ useEffect(() => {
|
||||
} else {
|
||||
setResultModalInfo({
|
||||
status,
|
||||
title: error.params?.message ? error.message : translate('payCommon.failed'),
|
||||
title: error.params?.message ? error.message : translate('payCommon_failed'),
|
||||
message: error.params?.message || error.message,
|
||||
})
|
||||
}
|
||||
@@ -507,7 +507,7 @@ const onRequestLnurlInvoice = async function () {
|
||||
const amountUnit = round(toNumber(amountToTransfer) * precision, 0)
|
||||
|
||||
if (!amountUnit || amountUnit === 0) {
|
||||
setInfo(translate('payCommon.amountZeroOrNegative'))
|
||||
setInfo(translate('payCommon_amountZeroOrNegative'))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -527,7 +527,7 @@ const onRequestLnurlInvoice = async function () {
|
||||
}
|
||||
|
||||
if (lnurlPayParams.minSendable && amountSats < lnurlPayParams.minSendable / 1000) {
|
||||
setInfo(translate('payCommon.minimumPay', {
|
||||
setInfo(translate('payCommon_minimumPay', {
|
||||
amount: roundUp(lnurlPayParams.minSendable / 1000, 0),
|
||||
currency: CurrencyCode.SAT
|
||||
}))
|
||||
@@ -535,7 +535,7 @@ const onRequestLnurlInvoice = async function () {
|
||||
}
|
||||
|
||||
if (lnurlPayParams.maxSendable && amountSats > lnurlPayParams.maxSendable / 1000) {
|
||||
setInfo(translate("payCommon.maximumPay", {
|
||||
setInfo(translate("payCommon_maximumPay", {
|
||||
amount: roundDown(lnurlPayParams.maxSendable / 1000, 0),
|
||||
currency: CurrencyCode.SAT
|
||||
}))
|
||||
@@ -543,7 +543,7 @@ const onRequestLnurlInvoice = async function () {
|
||||
}
|
||||
|
||||
if (lnurlPayParams.payerData) {
|
||||
setInfo(translate("transferScreen.LUD18unsupported"))
|
||||
setInfo(translate("transferScreen_LUD18unsupported"))
|
||||
}
|
||||
|
||||
setIsLoading(true)
|
||||
@@ -594,11 +594,11 @@ const onEncodedInvoice = async function (encoded: string) {
|
||||
const expiresAt = addSeconds(new Date(timestamp as number * 1000), expiry as number)
|
||||
|
||||
if (!amount || amount === 0) {
|
||||
setInfo(translate('payCommon.amountZeroOrNegative'))
|
||||
setInfo(translate('payCommon_amountZeroOrNegative'))
|
||||
return;
|
||||
}
|
||||
|
||||
if(!isInternetReachable) setInfo(translate('common.offlinePretty'));
|
||||
if(!isInternetReachable) setInfo(translate('commonOfflinePretty'));
|
||||
|
||||
setIsAmountEditable(false)
|
||||
setEncodedInvoice(encoded)
|
||||
@@ -622,7 +622,7 @@ const onEncodedInvoice = async function (encoded: string) {
|
||||
|
||||
if (!balanceToTransferFrom) {
|
||||
log.warn('Not enough balance')
|
||||
setInfo(translate("transferScreen.noMintWithBalance", { unit: unitRef.current }))
|
||||
setInfo(translate("transferScreen_noMintWithBalance", { unit: unitRef.current }))
|
||||
setIsNotEnoughFunds(true)
|
||||
return
|
||||
}
|
||||
@@ -643,7 +643,7 @@ const transfer = async function () {
|
||||
}
|
||||
|
||||
if (!mintBalanceToTransferFrom) {
|
||||
setInfo(translate("transferScreen.selectMintFrom"))
|
||||
setInfo(translate("transferScreen_selectMintFrom"))
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -778,7 +778,7 @@ const amountInputColor = useThemeColor('amountInput')
|
||||
)}
|
||||
<Text
|
||||
size="xs"
|
||||
tx="payCommon.amountToPayLabel"
|
||||
tx="payCommon_amountToPayLabel"
|
||||
style={{
|
||||
color: amountInputColor,
|
||||
textAlign: 'center',
|
||||
@@ -800,7 +800,7 @@ const amountInputColor = useThemeColor('amountInput')
|
||||
lnurlPayParams?.address ||
|
||||
memo ||
|
||||
lnurlPayParams?.domain ||
|
||||
translate('common.noDescPlaceholder')
|
||||
translate('commonNoDescPlaceholder')
|
||||
}
|
||||
subText={lnurlDescription}
|
||||
LeftComponent={
|
||||
@@ -846,7 +846,7 @@ const amountInputColor = useThemeColor('amountInput')
|
||||
<View style={$bottomContainer}>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
tx="transferScreen.requestInvoice"
|
||||
tx="transferScreen_requestInvoice"
|
||||
onPress={onRequestLnurlInvoice}
|
||||
/>
|
||||
</View>
|
||||
@@ -856,7 +856,7 @@ const amountInputColor = useThemeColor('amountInput')
|
||||
<View style={$bottomContainer}>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
tx="common.close"
|
||||
tx="commonClose"
|
||||
onPress={gotoWallet}
|
||||
preset="secondary"
|
||||
/>
|
||||
@@ -869,8 +869,8 @@ const amountInputColor = useThemeColor('amountInput')
|
||||
mintBalances={availableMintBalances}
|
||||
selectedMintBalance={mintBalanceToTransferFrom}
|
||||
unit={unitRef.current}
|
||||
title={translate('payCommon.payFrom')}
|
||||
confirmTitle={translate('payCommon.payNow')}
|
||||
title={translate('payCommon_payFrom')}
|
||||
confirmTitle={translate('payCommon_payNow')}
|
||||
onMintBalanceSelect={onMintBalanceSelect}
|
||||
onCancel={gotoWallet}
|
||||
onMintBalanceConfirm={transfer}
|
||||
@@ -882,7 +882,7 @@ const amountInputColor = useThemeColor('amountInput')
|
||||
ContentComponent={
|
||||
<>
|
||||
<TranItem
|
||||
label="tranDetailScreen.trasferredTo"
|
||||
label="tranDetailScreen_trasferredTo"
|
||||
isFirst={true}
|
||||
value={
|
||||
mintsStore.findByUrl(transaction.mint)
|
||||
@@ -891,18 +891,18 @@ const amountInputColor = useThemeColor('amountInput')
|
||||
/>
|
||||
{transaction?.memo && (
|
||||
<TranItem
|
||||
label="tranDetailScreen.memoFromInvoice"
|
||||
label="tranDetailScreen_memoFromInvoice"
|
||||
value={transaction.memo as string}
|
||||
/>
|
||||
)}
|
||||
<TranItem
|
||||
label="transactionCommon.feePaid"
|
||||
label="transactionCommon_feePaid"
|
||||
value={transaction.fee || 0}
|
||||
unit={unitRef.current}
|
||||
isCurrency={true}
|
||||
/>
|
||||
<TranItem
|
||||
label="tranDetailScreen.status"
|
||||
label="tranDetailScreen_status"
|
||||
value={transaction.status as string}
|
||||
/>
|
||||
</>
|
||||
@@ -914,7 +914,7 @@ const amountInputColor = useThemeColor('amountInput')
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={gotoWallet}
|
||||
/>
|
||||
</View>
|
||||
@@ -931,13 +931,13 @@ const amountInputColor = useThemeColor('amountInput')
|
||||
<ResultModalInfo
|
||||
icon="faCheckCircle"
|
||||
iconColor={colors.palette.success200}
|
||||
title={translate('payCommon.completed')}
|
||||
title={translate('payCommon_completed')}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={() => {
|
||||
if (isInvoiceDonation) {
|
||||
gotoContacts()
|
||||
@@ -955,13 +955,13 @@ const amountInputColor = useThemeColor('amountInput')
|
||||
<ResultModalInfo
|
||||
icon="faRotate"
|
||||
iconColor={colors.palette.accent300}
|
||||
title={translate('transactionCommon.reverted')}
|
||||
title={translate('transactionCommon_reverted')}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
</View>
|
||||
@@ -974,7 +974,7 @@ const amountInputColor = useThemeColor('amountInput')
|
||||
icon="faTriangleExclamation"
|
||||
iconColor={colors.palette.angry500}
|
||||
title={
|
||||
resultModalInfo?.title || translate('payCommon.failed')
|
||||
resultModalInfo?.title || translate('payCommon_failed')
|
||||
}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
@@ -994,7 +994,7 @@ const amountInputColor = useThemeColor('amountInput')
|
||||
) : (
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={toggleResultModal}
|
||||
/>
|
||||
)}
|
||||
@@ -1007,13 +1007,13 @@ const amountInputColor = useThemeColor('amountInput')
|
||||
<ResultModalInfo
|
||||
icon="faTriangleExclamation"
|
||||
iconColor={colors.palette.iconYellow300}
|
||||
title={translate('payCommon.isPending')}
|
||||
title={translate('payCommon_isPending')}
|
||||
message={resultModalInfo?.message}
|
||||
/>
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
preset="secondary"
|
||||
tx={'common.close'}
|
||||
tx={'commonClose'}
|
||||
onPress={gotoWallet}
|
||||
/>
|
||||
</View>
|
||||
|
||||
@@ -141,7 +141,7 @@ export const UpdateScreen = observer(function UpdateScreen({ route }: Props) {
|
||||
return (
|
||||
<Screen contentContainerStyle={$screen} preset='fixed'>
|
||||
<View style={[$headerContainer, {backgroundColor: headerBg}]}>
|
||||
<Text preset="heading" tx="updateScreen.updateManagerTitle" style={{color: headerTitle}} />
|
||||
<Text preset="heading" tx="updateScreen_updateManagerTitle" style={{color: headerTitle}} />
|
||||
</View>
|
||||
<ScrollView style={$contentContainer}>
|
||||
<Card
|
||||
@@ -151,23 +151,23 @@ export const UpdateScreen = observer(function UpdateScreen({ route }: Props) {
|
||||
{isUpdateAvailable && (
|
||||
<>
|
||||
<ListItem
|
||||
tx='updateScreen.updateAvailable'
|
||||
subTx='updateScreen.updateAvailableDesc'
|
||||
tx='updateScreen_updateAvailable'
|
||||
subTx='updateScreen_updateAvailableDesc'
|
||||
leftIcon='faWandMagicSparkles'
|
||||
leftIconColor={colors.palette.iconMagenta200}
|
||||
leftIconInverse={true}
|
||||
style={$item}
|
||||
/>
|
||||
<ListItem
|
||||
tx='updateScreen.updateNew'
|
||||
subText={updateDescription || translate("updateScreen.defaultUpdateDesc")}
|
||||
tx='updateScreen_updateNew'
|
||||
subText={updateDescription || translate("updateScreen_defaultUpdateDesc")}
|
||||
leftIcon='faInfoCircle'
|
||||
leftIconColor={colors.palette.neutral500}
|
||||
topSeparator={true}
|
||||
style={$item}
|
||||
/>
|
||||
{/*<ListItem
|
||||
tx='updateScreen.updateSize'
|
||||
tx='updateScreen_updateSize'
|
||||
subText={updateSize || '1.0MB'}
|
||||
leftIcon='faDownload'
|
||||
leftIconColor={colors.palette.neutral500}
|
||||
@@ -178,8 +178,8 @@ export const UpdateScreen = observer(function UpdateScreen({ route }: Props) {
|
||||
)}
|
||||
{isNativeUpdateAvailable && (
|
||||
<ListItem
|
||||
tx='updateScreen.updateAvailable'
|
||||
subTx={'updateScreen.nativeUpdateAvailableDesc'}
|
||||
tx='updateScreen_updateAvailable'
|
||||
subTx={'updateScreen_nativeUpdateAvailableDesc'}
|
||||
leftIcon='faWandMagicSparkles'
|
||||
leftIconColor={colors.palette.iconMagenta200}
|
||||
leftIconInverse={true}
|
||||
@@ -187,8 +187,8 @@ export const UpdateScreen = observer(function UpdateScreen({ route }: Props) {
|
||||
/>)}
|
||||
{(!isUpdateAvailable && !isNativeUpdateAvailable) && (
|
||||
<ListItem
|
||||
tx='updateScreen.updateNotAvailable'
|
||||
subTx={'updateScreen.updateNotAvailableDesc'}
|
||||
tx='updateScreen_updateNotAvailable'
|
||||
subTx={'updateScreen_updateNotAvailableDesc'}
|
||||
leftIcon='faInfoCircle'
|
||||
leftIconColor={colors.palette.neutral500}
|
||||
style={$item}
|
||||
@@ -201,7 +201,7 @@ export const UpdateScreen = observer(function UpdateScreen({ route }: Props) {
|
||||
{isUpdateAvailable && (
|
||||
<Button
|
||||
onPress={handleUpdate}
|
||||
tx='updateScreen.updateNow'
|
||||
tx='updateScreen_updateNow'
|
||||
style={{alignSelf: 'center', marginTop: spacing.medium}}
|
||||
/>
|
||||
)}
|
||||
@@ -209,12 +209,12 @@ export const UpdateScreen = observer(function UpdateScreen({ route }: Props) {
|
||||
<View style={$buttonContainer}>
|
||||
<Button
|
||||
onPress={gotoPlayStore}
|
||||
tx='updateScreen.gotoPlayStore'
|
||||
tx='updateScreen_gotoPlayStore'
|
||||
style={{marginTop: spacing.medium, marginRight: spacing.small}}
|
||||
/>
|
||||
<Button
|
||||
onPress={gotoGithub}
|
||||
tx="updateScreen.apkOnGithub"
|
||||
tx="updateScreen_apkOnGithub"
|
||||
preset='secondary'
|
||||
style={{marginTop: spacing.medium}}
|
||||
/>
|
||||
|
||||
@@ -32,8 +32,8 @@ export const FeeBadge = function (props: {
|
||||
<Text
|
||||
text={
|
||||
props.finalFee
|
||||
? translate('walletScreen.feeBadge.final', {fee: formatCurrency(props.finalFee, props.currencyCode), code: props.currencyCode})
|
||||
: translate('walletScreen.feeBadge.upto', {fee: formatCurrency(props.estimatedFee, props.currencyCode), code: props.currencyCode})
|
||||
? translate('walletScreen_feeBadge_final', {fee: formatCurrency(props.finalFee, props.currencyCode), code: props.currencyCode})
|
||||
: translate('walletScreen_feeBadge_upto', {fee: formatCurrency(props.estimatedFee, props.currencyCode), code: props.currencyCode})
|
||||
}
|
||||
style={[
|
||||
{
|
||||
|
||||
@@ -114,7 +114,7 @@ export const QRCodeBlock = function (props: {
|
||||
500,
|
||||
)
|
||||
} else if (result.action === Share.dismissedAction) {
|
||||
infoMessage(translate('share.cancelled'))
|
||||
infoMessage(translate('share_cancelled'))
|
||||
}
|
||||
} catch (e: any) {
|
||||
handleQrError(e)
|
||||
@@ -181,7 +181,7 @@ export const QRCodeBlock = function (props: {
|
||||
style={{backgroundColor: 'white', paddingBottom: spacing.small}}
|
||||
ContentComponent={qrError ? (
|
||||
<ListItem
|
||||
text={translate("qr.fail")}
|
||||
text={translate("qr_fail")}
|
||||
subText={qrError ? qrError.message : ''}
|
||||
leftIcon='faTriangleExclamation'
|
||||
containerStyle={{marginVertical: spacing.large}}
|
||||
|
||||
@@ -367,7 +367,7 @@ export const WalletScreen = observer(function WalletScreen({ route }: Props) {
|
||||
log.trace('newMintUrl', newMintUrl)
|
||||
|
||||
if (mintsStore.alreadyExists(newMintUrl)) {
|
||||
const msg = translate('walletScreen.mintExists')
|
||||
const msg = translate('walletScreen_mintExists')
|
||||
log.info(msg)
|
||||
setInfo(msg)
|
||||
return
|
||||
@@ -583,7 +583,7 @@ export const WalletScreen = observer(function WalletScreen({ route }: Props) {
|
||||
if (!isInternetReachable) {
|
||||
return (
|
||||
<Text
|
||||
tx="common.offline"
|
||||
tx="commonOffline"
|
||||
style={$warning}
|
||||
size="xxs"
|
||||
/>
|
||||
@@ -703,7 +703,7 @@ export const WalletScreen = observer(function WalletScreen({ route }: Props) {
|
||||
style={[{backgroundColor: mainButtonColor, borderWidth: 1, borderColor: screenBg}, $buttonSend]}
|
||||
textStyle={{marginRight: spacing.tiny}}
|
||||
preset='secondary'
|
||||
tx='payCommon.send'
|
||||
tx='payCommon_send'
|
||||
/>
|
||||
<Button
|
||||
RightAccessory={() => (
|
||||
@@ -729,7 +729,7 @@ export const WalletScreen = observer(function WalletScreen({ route }: Props) {
|
||||
/>
|
||||
)}
|
||||
onPress={toggleReceiveModal}
|
||||
tx='payCommon.receive'
|
||||
tx='payCommon_receive'
|
||||
style={[{backgroundColor: mainButtonColor, borderWidth: 1, borderColor: screenBg}, $buttonReceive]}
|
||||
textStyle={{marginLeft: spacing.tiny}}
|
||||
preset='secondary'
|
||||
@@ -753,8 +753,8 @@ export const WalletScreen = observer(function WalletScreen({ route }: Props) {
|
||||
/>
|
||||
</View>
|
||||
}
|
||||
tx="updateModal.title"
|
||||
subTx="updateModal.desc"
|
||||
tx="updateModal_title"
|
||||
subTx="updateModal_desc"
|
||||
onPress={gotoUpdate}
|
||||
/>
|
||||
}
|
||||
@@ -783,15 +783,15 @@ export const WalletScreen = observer(function WalletScreen({ route }: Props) {
|
||||
<>
|
||||
<ListItem
|
||||
leftIcon='faMoneyBill1'
|
||||
tx="walletScreen.sendEcash"
|
||||
subTx="walletScreen.sendEcashDesc"
|
||||
tx="walletScreen_sendEcash"
|
||||
subTx="walletScreen_sendEcashDesc"
|
||||
onPress={gotoSend}
|
||||
bottomSeparator={true}
|
||||
/>
|
||||
<ListItem
|
||||
leftIcon='faBolt'
|
||||
tx="walletScreen.payWithLightning"
|
||||
subTx="walletScreen.payWithLightningDesc"
|
||||
tx="walletScreen_payWithLightning"
|
||||
subTx="walletScreen_payWithLightningDesc"
|
||||
onPress={() => gotoLightningPay()}
|
||||
/>
|
||||
</>
|
||||
@@ -806,15 +806,15 @@ export const WalletScreen = observer(function WalletScreen({ route }: Props) {
|
||||
<>
|
||||
<ListItem
|
||||
leftIcon='faMoneyBill1'
|
||||
tx="walletScreen.receiveEcash"
|
||||
subTx="walletScreen.receiveEcashDesc"
|
||||
tx="walletScreen_receiveEcash"
|
||||
subTx="walletScreen_receiveEcashDesc"
|
||||
onPress={gotoTokenReceive}
|
||||
bottomSeparator={true}
|
||||
/>
|
||||
<ListItem
|
||||
leftIcon='faBolt'
|
||||
tx='walletScreen.topupWithLightning'
|
||||
subTx="walletScreen.topupWithLightningDesc"
|
||||
tx='walletScreen_topupWithLightning'
|
||||
subTx="walletScreen_topupWithLightningDesc"
|
||||
onPress={() => gotoTopup()}
|
||||
/>
|
||||
</>
|
||||
@@ -994,7 +994,7 @@ const MintsByUnitList = observer(function (props: {
|
||||
{selectedMintUrl === mint.mintUrl && (
|
||||
<View style={{flexDirection: 'row', marginBottom: spacing.small, justifyContent: 'flex-start'}}>
|
||||
<Button
|
||||
tx="walletScreen.topup"
|
||||
tx="walletScreen_topup"
|
||||
LeftAccessory={() => (
|
||||
<Icon
|
||||
icon='faPlus'
|
||||
@@ -1012,7 +1012,7 @@ const MintsByUnitList = observer(function (props: {
|
||||
}}
|
||||
/>
|
||||
<Button
|
||||
tx="walletScreen.pay"
|
||||
tx="walletScreen_pay"
|
||||
LeftAccessory={() => (
|
||||
<Icon
|
||||
icon='faBolt'
|
||||
@@ -1030,7 +1030,7 @@ const MintsByUnitList = observer(function (props: {
|
||||
}}
|
||||
/>
|
||||
<Button
|
||||
tx="wallerScreen.mintButton"
|
||||
tx="wallerScreen_mintButton"
|
||||
LeftAccessory={() => (
|
||||
<View style={{marginHorizontal: spacing.extraSmall}}>
|
||||
<SvgXml
|
||||
|
||||
@@ -39,36 +39,36 @@ const AnimatedPagerView = Animated.createAnimatedComponent(PagerView)
|
||||
const PAGES = [
|
||||
{
|
||||
key: 1,
|
||||
heading: 'welcomeScreen.page1.heading',
|
||||
intro: 'welcomeScreen.page1.intro',
|
||||
heading: 'welcomeScreen_page1_heading',
|
||||
intro: 'welcomeScreen_page1_intro',
|
||||
bullets: [
|
||||
{id: '1', tx: 'welcomeScreen.page1.bullet1'},
|
||||
{id: '2', tx: 'welcomeScreen.page1.bullet2'},
|
||||
{id: '3', tx: 'welcomeScreen.page1.bullet3'},
|
||||
{id: '1', tx: 'welcomeScreen_page1_bullet1'},
|
||||
{id: '2', tx: 'welcomeScreen_page1_bullet2'},
|
||||
{id: '3', tx: 'welcomeScreen_page1_bullet3'},
|
||||
],
|
||||
final: 'welcomeScreen.page1.final'
|
||||
final: 'welcomeScreen_page1_final'
|
||||
},
|
||||
{
|
||||
key: 2,
|
||||
heading: 'welcomeScreen.page2.heading',
|
||||
intro: 'welcomeScreen.page2.intro',
|
||||
heading: 'welcomeScreen_page2_heading',
|
||||
intro: 'welcomeScreen_page2_intro',
|
||||
bullets: [
|
||||
{id: '1', tx: 'welcomeScreen.page2.bullet1'},
|
||||
{id: '2', tx: 'welcomeScreen.page2.bullet2'},
|
||||
{id: '3', tx: 'welcomeScreen.page2.bullet3'},
|
||||
{id: '1', tx: 'welcomeScreen_page2_bullet1'},
|
||||
{id: '2', tx: 'welcomeScreen_page2_bullet2'},
|
||||
{id: '3', tx: 'welcomeScreen_page2_bullet3'},
|
||||
],
|
||||
final: 'welcomeScreen.page2.final'
|
||||
final: 'welcomeScreen_page2_final'
|
||||
},
|
||||
{
|
||||
key: 3,
|
||||
heading: 'welcomeScreen.page3.heading',
|
||||
intro: 'welcomeScreen.page3.intro',
|
||||
heading: 'welcomeScreen_page3_heading',
|
||||
intro: 'welcomeScreen_page3_intro',
|
||||
bullets: [
|
||||
{id: '1', tx: 'welcomeScreen.page3.bullet1'},
|
||||
{id: '2', tx: 'welcomeScreen.page3.bullet2'},
|
||||
{id: '3', tx: 'welcomeScreen.page3.bullet3'},
|
||||
{id: '1', tx: 'welcomeScreen_page3_bullet1'},
|
||||
{id: '2', tx: 'welcomeScreen_page3_bullet2'},
|
||||
{id: '3', tx: 'welcomeScreen_page3_bullet3'},
|
||||
],
|
||||
final: 'welcomeScreen.page3.final'
|
||||
final: 'welcomeScreen_page3_final'
|
||||
}
|
||||
]
|
||||
|
||||
@@ -251,12 +251,12 @@ export const WelcomeScreen = function ({ route }: Props) {
|
||||
<Button
|
||||
onPress={gotoWallet}
|
||||
preset='secondary'
|
||||
tx="welcomeScreen.lastPageConfirmButton"
|
||||
tx="welcomeScreen_lastPageConfirmButton"
|
||||
/>
|
||||
<Button
|
||||
onPress={gotoRecovery}
|
||||
preset='tertiary'
|
||||
tx="welcomeScreen.lastPageRecoverLostWalletButton"
|
||||
tx="welcomeScreen_lastPageRecoverLostWalletButton"
|
||||
LeftAccessory={() => {return<Icon icon='faHeartPulse'/>}}
|
||||
style={{marginTop: spacing.medium}}
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user