feat: data-test
This commit is contained in:
parent
a8a497a8a3
commit
4cac9d663f
@ -1,14 +1,20 @@
|
|||||||
<template>
|
<template>
|
||||||
<b-tab-item :label="$t('deposit')">
|
<b-tab-item :label="$t('deposit')" header-class="button_tab_deposit">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<b-field :label="$t('token')">
|
<b-field :label="$t('token')" data-test="token_list_dropdown">
|
||||||
<b-dropdown v-model="selectedToken" expanded aria-role="list">
|
<b-dropdown v-model="selectedToken" expanded aria-role="list">
|
||||||
<div slot="trigger" class="control">
|
<div slot="trigger" class="control">
|
||||||
<div class="input">
|
<div class="input">
|
||||||
<span>{{ selectedCurrency }}</span>
|
<span>{{ selectedCurrency }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<b-dropdown-item v-for="(token, key) in tokens" :key="key" aria-role="listitem" :value="key">
|
<b-dropdown-item
|
||||||
|
v-for="(token, key) in tokens"
|
||||||
|
:key="key"
|
||||||
|
aria-role="listitem"
|
||||||
|
:value="key"
|
||||||
|
:data-test="token.dataTest"
|
||||||
|
>
|
||||||
{{ token.symbol }}
|
{{ token.symbol }}
|
||||||
</b-dropdown-item>
|
</b-dropdown-item>
|
||||||
</b-dropdown>
|
</b-dropdown>
|
||||||
@ -18,7 +24,7 @@
|
|||||||
{{ $t('amount') }}
|
{{ $t('amount') }}
|
||||||
<b-tooltip :label="$t('amountTooltip')" size="is-small" position="is-right" multilined>
|
<b-tooltip :label="$t('amountTooltip')" size="is-small" position="is-right" multilined>
|
||||||
<button class="button is-primary has-icon">
|
<button class="button is-primary has-icon">
|
||||||
<span class="icon icon-info"></span>
|
<span class="icon icon-info" data-test="choose_amount_info"></span>
|
||||||
</button>
|
</button>
|
||||||
</b-tooltip>
|
</b-tooltip>
|
||||||
</template>
|
</template>
|
||||||
@ -30,13 +36,24 @@
|
|||||||
@input="changeAmount"
|
@input="changeAmount"
|
||||||
>
|
>
|
||||||
<template v-for="({ amount, address }, key) in amounts">
|
<template v-for="({ amount, address }, key) in amounts">
|
||||||
<b-step-item :key="key" :label="shortenAmount(amount)" :clickable="address !== ''"></b-step-item>
|
<b-step-item
|
||||||
|
:key="key"
|
||||||
|
:label="shortenAmount(amount)"
|
||||||
|
:clickable="address !== ''"
|
||||||
|
:header-class="`token-${selectedToken}-${amount}`"
|
||||||
|
></b-step-item>
|
||||||
</template>
|
</template>
|
||||||
</b-steps>
|
</b-steps>
|
||||||
</b-field>
|
</b-field>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<connect-button v-if="!isLoggedIn" type="is-primary is-fullwidth" />
|
<connect-button v-if="!isLoggedIn" type="is-primary is-fullwidth" data-test="button_connect" />
|
||||||
<b-button v-else type="is-primary is-fullwidth" :loading="isDepositBtnClicked" @click="onDeposit">
|
<b-button
|
||||||
|
v-else
|
||||||
|
type="is-primary is-fullwidth"
|
||||||
|
:loading="isDepositBtnClicked"
|
||||||
|
data-test="button_deposit"
|
||||||
|
@click="onDeposit"
|
||||||
|
>
|
||||||
{{ $t('depositButton') }}
|
{{ $t('depositButton') }}
|
||||||
</b-button>
|
</b-button>
|
||||||
</b-tab-item>
|
</b-tab-item>
|
||||||
@ -79,7 +96,14 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
tokens() {
|
tokens() {
|
||||||
return this.networkConfig.tokens
|
return Object.keys(this.networkConfig.tokens).reduce((acc, curr) => {
|
||||||
|
const item = this.networkConfig.tokens[curr]
|
||||||
|
acc[curr] = {
|
||||||
|
...item,
|
||||||
|
dataTest: `token_list_${item.symbol.toLowerCase()}`
|
||||||
|
}
|
||||||
|
return acc
|
||||||
|
}, {})
|
||||||
},
|
},
|
||||||
selectedToken: {
|
selectedToken: {
|
||||||
get() {
|
get() {
|
||||||
|
@ -46,7 +46,9 @@
|
|||||||
</i18n>
|
</i18n>
|
||||||
</b-checkbox>
|
</b-checkbox>
|
||||||
<template v-if="!isSetupAccount || !isEncrypted">
|
<template v-if="!isSetupAccount || !isEncrypted">
|
||||||
<b-checkbox v-model="isBackuped">{{ $t('iBackedUpTheNote') }}</b-checkbox>
|
<b-checkbox v-model="isBackuped" data-test="backup_note_checkbox">{{
|
||||||
|
$t('iBackedUpTheNote')
|
||||||
|
}}</b-checkbox>
|
||||||
<div v-if="isBackuped && isIPFS" class="notice is-warning">
|
<div v-if="isBackuped && isIPFS" class="notice is-warning">
|
||||||
<div class="notice__p">{{ $t('yourNoteWontBeSaved') }}</div>
|
<div class="notice__p">{{ $t('yourNoteWontBeSaved') }}</div>
|
||||||
</div>
|
</div>
|
||||||
@ -56,6 +58,7 @@
|
|||||||
v-else
|
v-else
|
||||||
type="is-primary is-fullwidth"
|
type="is-primary is-fullwidth"
|
||||||
:disabled="disableButton || (!isValidGasPrice && !eipSupported)"
|
:disabled="disableButton || (!isValidGasPrice && !eipSupported)"
|
||||||
|
data-test="send_deposit_button"
|
||||||
@click="_sendDeposit"
|
@click="_sendDeposit"
|
||||||
>
|
>
|
||||||
{{ $t('sendDeposit') }}
|
{{ $t('sendDeposit') }}
|
||||||
|
@ -30,7 +30,12 @@
|
|||||||
<div class="column is-hash" :data-label="$t('txHash')">
|
<div class="column is-hash" :data-label="$t('txHash')">
|
||||||
<div class="details">
|
<div class="details">
|
||||||
<p class="detail">
|
<p class="detail">
|
||||||
<a class="detail-description" :href="txExplorerUrl(tx.txHash)" target="_blank">
|
<a
|
||||||
|
data-test="txhash_text"
|
||||||
|
class="detail-description"
|
||||||
|
:href="txExplorerUrl(tx.txHash)"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
{{ tx.txHash }}
|
{{ tx.txHash }}
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
@ -42,6 +47,7 @@
|
|||||||
<b-tooltip :active="activeCopyTooltip" :label="tooltipCopy" position="is-left" multilined>
|
<b-tooltip :active="activeCopyTooltip" :label="tooltipCopy" position="is-left" multilined>
|
||||||
<b-button
|
<b-button
|
||||||
type="is-primary hide-icon-desktop"
|
type="is-primary hide-icon-desktop"
|
||||||
|
data-test="decrypt_note_button"
|
||||||
size="is-small"
|
size="is-small"
|
||||||
icon-left="decrypt"
|
icon-left="decrypt"
|
||||||
:disabled="disableCopyButton"
|
:disabled="disableCopyButton"
|
||||||
@ -50,7 +56,13 @@
|
|||||||
{{ $t('decrypt') }}
|
{{ $t('decrypt') }}
|
||||||
</b-button>
|
</b-button>
|
||||||
</b-tooltip>
|
</b-tooltip>
|
||||||
<b-button type="is-dark" size="is-small" icon-right="remove" @click="onClose" />
|
<b-button
|
||||||
|
type="is-dark"
|
||||||
|
data-test="remove_note_button"
|
||||||
|
size="is-small"
|
||||||
|
icon-right="remove"
|
||||||
|
@click="onClose"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -14,7 +14,12 @@
|
|||||||
<b-skeleton v-if="!job.txHash && job.status !== 'FAILED'" />
|
<b-skeleton v-if="!job.txHash && job.status !== 'FAILED'" />
|
||||||
<div v-else class="details">
|
<div v-else class="details">
|
||||||
<p class="detail">
|
<p class="detail">
|
||||||
<a class="detail-description" :href="txExplorerUrl(job.txHash)" target="_blank">
|
<a
|
||||||
|
data-test="txhash_text"
|
||||||
|
class="detail-description"
|
||||||
|
:href="txExplorerUrl(job.txHash)"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
{{ job.txHash }}
|
{{ job.txHash }}
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<b-loading v-model="enabled">
|
<b-loading v-model="enabled">
|
||||||
<div class="loading-container">
|
<div class="loading-container">
|
||||||
<div class="loading-tornado"></div>
|
<div class="loading-tornado" data-test="tornado_loader"></div>
|
||||||
<div class="loading-message">{{ message }}...</div>
|
<div class="loading-message">{{ message }}...</div>
|
||||||
<approve-loader v-if="isApprove" />
|
<approve-loader v-if="isApprove" />
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<b-navbar wrapper-class="container" class="header">
|
<b-navbar wrapper-class="container" class="header">
|
||||||
<template slot="brand">
|
<template slot="brand">
|
||||||
<b-navbar-item tag="router-link" to="/" active-class="">
|
<b-navbar-item tag="router-link" to="/" data-test="tornado_main_page" active-class="">
|
||||||
<Logo />
|
<Logo />
|
||||||
</b-navbar-item>
|
</b-navbar-item>
|
||||||
</template>
|
</template>
|
||||||
@ -27,9 +27,16 @@
|
|||||||
<b-navbar-item tag="div">
|
<b-navbar-item tag="div">
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
<network-navbar-icon />
|
<network-navbar-icon />
|
||||||
<metamask-navbar-icon />
|
<metamask-navbar-icon data-test="metamask_connection_state" />
|
||||||
<indicator />
|
<indicator data-test="note_account_connection_state" />
|
||||||
<b-button icon-left="settings" type="is-primary" outlined @mousedown.prevent @click="onAccount">
|
<b-button
|
||||||
|
icon-left="settings"
|
||||||
|
type="is-primary"
|
||||||
|
outlined
|
||||||
|
data-test="button_settings"
|
||||||
|
@mousedown.prevent
|
||||||
|
@click="onAccount"
|
||||||
|
>
|
||||||
{{ $t('settings') }}
|
{{ $t('settings') }}
|
||||||
</b-button>
|
</b-button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -6,10 +6,11 @@
|
|||||||
</header>
|
</header>
|
||||||
<div class="networks">
|
<div class="networks">
|
||||||
<div
|
<div
|
||||||
v-for="{ name, chainId } in networks"
|
v-for="{ name, chainId, dataTest } in networks"
|
||||||
:key="chainId"
|
:key="chainId"
|
||||||
class="item"
|
class="item"
|
||||||
:class="{ 'is-active': chainId === netId }"
|
:class="{ 'is-active': chainId === netId }"
|
||||||
|
:data-test="dataTest"
|
||||||
@click="setNetwork(chainId)"
|
@click="setNetwork(chainId)"
|
||||||
>
|
>
|
||||||
<b-icon class="network-icon" :icon="`${name}`.replace(/\)?\s\(?/g, '-').toLowerCase()" />
|
<b-icon class="network-icon" :icon="`${name}`.replace(/\)?\s\(?/g, '-').toLowerCase()" />
|
||||||
@ -39,6 +40,7 @@ export default {
|
|||||||
return Object.keys(this.networkConfig).map((key) => {
|
return Object.keys(this.networkConfig).map((key) => {
|
||||||
return {
|
return {
|
||||||
name: this.networkConfig[key].networkName,
|
name: this.networkConfig[key].networkName,
|
||||||
|
dataTest: `${this.networkConfig[key].networkName.split(' ').join('_')}__network`,
|
||||||
chainId: Number(key.replace('netId', ''))
|
chainId: Number(key.replace('netId', ''))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<b-button :icon-left="iconName" class="network-button" @click="onClick">{{ shortNetworkName }}</b-button>
|
<b-button :icon-left="iconName" class="network-button" data-test="button_network" @click="onClick">{{
|
||||||
|
shortNetworkName
|
||||||
|
}}</b-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
<a v-if="notice.nova" href="https://nova.tornadocash.eth.link" target="_blank">
|
<a v-if="notice.nova" href="https://nova.tornadocash.eth.link" target="_blank">
|
||||||
Tornado Cash Nova
|
Tornado Cash Nova
|
||||||
</a>
|
</a>
|
||||||
<a v-if="notice.txHash" :href="txExplorerUrl(notice.txHash)" target="_blank">
|
<a v-if="notice.txHash" :href="txExplorerUrl(notice.txHash)" target="_blank" data-test="popup_message">
|
||||||
{{ $t('viewOnEtherscan') }}
|
{{ $t('viewOnEtherscan') }}
|
||||||
</a>
|
</a>
|
||||||
<n-link v-else-if="notice.routerLink" v-bind="notice.routerLink.params" @onClick="$forceUpdate()">
|
<n-link v-else-if="notice.routerLink" v-bind="notice.routerLink.params" @onClick="$forceUpdate()">
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<button type="button" class="delete" @click="$parent.cancel('escape')" />
|
<button type="button" class="delete" @click="$parent.cancel('escape')" />
|
||||||
</header>
|
</header>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<b-field :label="$t('rpc')" class="has-custom-field">
|
<b-field :label="$t('rpc')" class="has-custom-field" data-test="rpc_endpoint_dropdown">
|
||||||
<b-dropdown v-model="selectedRpc" expanded aria-role="list">
|
<b-dropdown v-model="selectedRpc" expanded aria-role="list">
|
||||||
<div slot="trigger" class="control" :class="{ 'is-loading': checkingRpc && !isCustomRpc }">
|
<div slot="trigger" class="control" :class="{ 'is-loading': checkingRpc && !isCustomRpc }">
|
||||||
<div class="input">
|
<div class="input">
|
||||||
@ -17,11 +17,17 @@
|
|||||||
:key="name"
|
:key="name"
|
||||||
:value="name"
|
:value="name"
|
||||||
aria-role="listitem"
|
aria-role="listitem"
|
||||||
|
:data-test="`rpc_endpoint_${name}`"
|
||||||
@click="checkRpc({ name, url })"
|
@click="checkRpc({ name, url })"
|
||||||
>
|
>
|
||||||
{{ name }}
|
{{ name }}
|
||||||
</b-dropdown-item>
|
</b-dropdown-item>
|
||||||
<b-dropdown-item value="custom" aria-role="listitem" @click="checkRpc({ name: 'custom' })">
|
<b-dropdown-item
|
||||||
|
value="custom"
|
||||||
|
aria-role="listitem"
|
||||||
|
data-test="rpc_endpoint_custom"
|
||||||
|
@click="checkRpc({ name: 'custom' })"
|
||||||
|
>
|
||||||
{{ $t('customRpc') }}
|
{{ $t('customRpc') }}
|
||||||
</b-dropdown-item>
|
</b-dropdown-item>
|
||||||
</b-dropdown>
|
</b-dropdown>
|
||||||
@ -42,10 +48,10 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="buttons buttons__halfwidth">
|
<div class="buttons buttons__halfwidth">
|
||||||
<b-button type="is-primary" outlined @mousedown.prevent @click="onReset">
|
<b-button type="is-primary" outlined data-test="button_reset_rpc" @mousedown.prevent @click="onReset">
|
||||||
{{ $t('reset') }}
|
{{ $t('reset') }}
|
||||||
</b-button>
|
</b-button>
|
||||||
<b-button type="is-primary" :disabled="isDisabledSave" @click="onSave">
|
<b-button type="is-primary" :disabled="isDisabledSave" data-test="save_rpc_button" @click="onSave">
|
||||||
{{ $t('save') }}
|
{{ $t('save') }}
|
||||||
</b-button>
|
</b-button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -22,7 +22,12 @@
|
|||||||
<div class="column is-hash" :data-label="$t('txHash')">
|
<div class="column is-hash" :data-label="$t('txHash')">
|
||||||
<div class="details">
|
<div class="details">
|
||||||
<p class="detail">
|
<p class="detail">
|
||||||
<a class="detail-description" :href="txExplorerUrl(tx.txHash)" target="_blank">
|
<a
|
||||||
|
class="detail-description"
|
||||||
|
data-test="txhash_text"
|
||||||
|
:href="txExplorerUrl(tx.txHash)"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
{{ tx.txHash }}
|
{{ tx.txHash }}
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
@ -39,11 +44,18 @@
|
|||||||
size="is-small"
|
size="is-small"
|
||||||
:disabled="!tx.note"
|
:disabled="!tx.note"
|
||||||
icon-left="copy"
|
icon-left="copy"
|
||||||
|
data-test="copy_note_button"
|
||||||
>
|
>
|
||||||
{{ $t('note') }}
|
{{ $t('note') }}
|
||||||
</b-button>
|
</b-button>
|
||||||
</b-tooltip>
|
</b-tooltip>
|
||||||
<b-button type="is-dark" size="is-small" icon-right="remove" @click="onClose" />
|
<b-button
|
||||||
|
data-test="remove_note_button"
|
||||||
|
type="is-dark"
|
||||||
|
size="is-small"
|
||||||
|
icon-right="remove"
|
||||||
|
@click="onClose"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<b-tab-item :label="$t('relayer')" value="relayer">
|
<b-tab-item :label="$t('relayer')" value="relayer" header-class="withdrawal_settings_relayer_tab">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<b-field :label="$t('relayer')">
|
<b-field :label="$t('relayer')" data-test="withdrawal_settings_relayer_dropdown">
|
||||||
<b-dropdown v-model="selectedRelayer" expanded aria-role="list" @change="onChangeRelayer">
|
<b-dropdown v-model="selectedRelayer" expanded aria-role="list" @change="onChangeRelayer">
|
||||||
<div slot="trigger" class="control" :class="{ 'is-loading': checkingRelayer || isLoadingRelayers }">
|
<div slot="trigger" class="control" :class="{ 'is-loading': checkingRelayer || isLoadingRelayers }">
|
||||||
<div class="input">
|
<div class="input">
|
||||||
@ -27,6 +27,7 @@
|
|||||||
ref="customInput"
|
ref="customInput"
|
||||||
v-model="customRelayerUrl"
|
v-model="customRelayerUrl"
|
||||||
type="url"
|
type="url"
|
||||||
|
data-test="enter_relayer_url_field"
|
||||||
:placeholder="$t('pasteYourRelayerUrlorEnsRecord')"
|
:placeholder="$t('pasteYourRelayerUrlorEnsRecord')"
|
||||||
:custom-class="hasErrorRelayer.type"
|
:custom-class="hasErrorRelayer.type"
|
||||||
:use-html5-validation="false"
|
:use-html5-validation="false"
|
||||||
@ -56,13 +57,20 @@
|
|||||||
:service-fee="relayer.tornadoServiceFee"
|
:service-fee="relayer.tornadoServiceFee"
|
||||||
/>
|
/>
|
||||||
<div class="buttons buttons__halfwidth mt-5">
|
<div class="buttons buttons__halfwidth mt-5">
|
||||||
<b-button type="is-primary" outlined @mousedown.prevent @click="onReset">
|
<b-button
|
||||||
|
type="is-primary"
|
||||||
|
outlined
|
||||||
|
data-test="withdrawal_settings_reset_button"
|
||||||
|
@mousedown.prevent
|
||||||
|
@click="onReset"
|
||||||
|
>
|
||||||
{{ $t('reset') }}
|
{{ $t('reset') }}
|
||||||
</b-button>
|
</b-button>
|
||||||
<b-button
|
<b-button
|
||||||
type="is-primary"
|
type="is-primary"
|
||||||
:disabled="isDisabledSave"
|
:disabled="isDisabledSave"
|
||||||
:loading="checkingRelayer || isLoadingRelayers"
|
:loading="checkingRelayer || isLoadingRelayers"
|
||||||
|
data-test="withdrawal_settings_save_button"
|
||||||
@click="onSave"
|
@click="onSave"
|
||||||
>
|
>
|
||||||
{{ $t('save') }}
|
{{ $t('save') }}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<b-tab-item :label="$t('wallet')" value="wallet">
|
<b-tab-item :label="$t('wallet')" value="wallet" header-class="withdrawal_settings_wallet_tab">
|
||||||
<fieldset :disabled="isNotLoggedIn">
|
<fieldset :disabled="isNotLoggedIn">
|
||||||
<div class="notice is-warning">
|
<div class="notice is-warning">
|
||||||
<div class="notice__p">{{ $t('withdrawWalletWarning', { currency: networkCurrency }) }}</div>
|
<div class="notice__p">{{ $t('withdrawWalletWarning', { currency: networkCurrency }) }}</div>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div class="modal-card box box-modal is-wallet-modal">
|
<div class="modal-card box box-modal is-wallet-modal">
|
||||||
<header class="box-modal-header is-spaced">
|
<header class="box-modal-header is-spaced">
|
||||||
<div class="box-modal-title">{{ $t('yourWallet') }}</div>
|
<div class="box-modal-title">{{ $t('yourWallet') }}</div>
|
||||||
<button type="button" class="delete" @click="$emit('close')" />
|
<button type="button" class="delete" data-test="close_popup_button" @click="$emit('close')" />
|
||||||
</header>
|
</header>
|
||||||
<div class="note">
|
<div class="note">
|
||||||
{{ $t('pleaseSelectYourWeb3Wallet') }}
|
{{ $t('pleaseSelectYourWeb3Wallet') }}
|
||||||
@ -22,11 +22,16 @@
|
|||||||
<button
|
<button
|
||||||
v-show="isMetamask"
|
v-show="isMetamask"
|
||||||
class="button is-small is-background is-metamask"
|
class="button is-small is-background is-metamask"
|
||||||
|
data-test="choose_metamask_option"
|
||||||
@click="_web3Connect('metamask')"
|
@click="_web3Connect('metamask')"
|
||||||
>
|
>
|
||||||
Metamask
|
Metamask
|
||||||
</button>
|
</button>
|
||||||
<button class="button is-small is-background is-walletConnect" @click="_web3Connect('walletConnect')">
|
<button
|
||||||
|
class="button is-small is-background is-walletConnect"
|
||||||
|
data-test="choose_wallet_option"
|
||||||
|
@click="_web3Connect('walletConnect')"
|
||||||
|
>
|
||||||
WalletConnect
|
WalletConnect
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,10 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<b-tab-item :label="$t('withdraw')">
|
<b-tab-item :label="$t('withdraw')" header-class="button_tab_withdraw">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<div class="label-with-buttons">
|
<div class="label-with-buttons">
|
||||||
<div class="label">
|
<div class="label">
|
||||||
{{ $t('note') }}
|
{{ $t('note') }}
|
||||||
<b-tooltip :label="$t('noteTooltip')" size="is-small" position="is-right" multilined>
|
<b-tooltip
|
||||||
|
:label="$t('noteTooltip')"
|
||||||
|
size="is-small"
|
||||||
|
position="is-right"
|
||||||
|
multilined
|
||||||
|
data-test="enter_note_info"
|
||||||
|
>
|
||||||
<button class="button is-primary has-icon">
|
<button class="button is-primary has-icon">
|
||||||
<span class="icon icon-info"></span>
|
<span class="icon icon-info"></span>
|
||||||
</button>
|
</button>
|
||||||
@ -25,7 +31,12 @@
|
|||||||
<LinkIcon />
|
<LinkIcon />
|
||||||
</b-tooltip>
|
</b-tooltip>
|
||||||
</a>
|
</a>
|
||||||
<button v-show="shouldSettingsShow" class="button is-icon" @click="onSettings">
|
<button
|
||||||
|
v-show="shouldSettingsShow"
|
||||||
|
class="button is-icon"
|
||||||
|
data-test="withdrawal_settings_button"
|
||||||
|
@click="onSettings"
|
||||||
|
>
|
||||||
<b-tooltip :label="$t('withdrawalSettings')" size="is-small" position="is-right" multilined>
|
<b-tooltip :label="$t('withdrawalSettings')" size="is-small" position="is-right" multilined>
|
||||||
<SettingsIcon />
|
<SettingsIcon />
|
||||||
</b-tooltip>
|
</b-tooltip>
|
||||||
@ -36,6 +47,7 @@
|
|||||||
v-model="withdrawNote"
|
v-model="withdrawNote"
|
||||||
:placeholder="$t('pleaseEnterYourNote')"
|
:placeholder="$t('pleaseEnterYourNote')"
|
||||||
:custom-class="hasErrorNote ? hasErrorNote.type : 'is-primary'"
|
:custom-class="hasErrorNote ? hasErrorNote.type : 'is-primary'"
|
||||||
|
data-test="enter_note_field"
|
||||||
></b-input>
|
></b-input>
|
||||||
<div v-if="hasErrorNote" class="help" :class="hasErrorNote.type">
|
<div v-if="hasErrorNote" class="help" :class="hasErrorNote.type">
|
||||||
<!-- eslint-disable vue/no-v-html -->
|
<!-- eslint-disable vue/no-v-html -->
|
||||||
@ -45,7 +57,8 @@
|
|||||||
<div v-if="!hasErrorNote && depositTxHash" class="field field-withdraw">
|
<div v-if="!hasErrorNote && depositTxHash" class="field field-withdraw">
|
||||||
<div class="withdraw-data">
|
<div class="withdraw-data">
|
||||||
<div class="withdraw-data-item">
|
<div class="withdraw-data-item">
|
||||||
{{ $t('amount') }} <span>{{ selectedAmount }} {{ selectedStatisticCurrency }}</span>
|
{{ $t('amount') }}
|
||||||
|
<span data-test="note_tokens_amount">{{ selectedAmount }} {{ selectedStatisticCurrency }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="withdraw-data-item">
|
<div class="withdraw-data-item">
|
||||||
{{ $t('timePassed') }}
|
{{ $t('timePassed') }}
|
||||||
@ -91,6 +104,7 @@
|
|||||||
v-model="withdrawAddress"
|
v-model="withdrawAddress"
|
||||||
:placeholder="$t('pleasePasteAddressHere')"
|
:placeholder="$t('pleasePasteAddressHere')"
|
||||||
:size="!withdrawAddress ? '' : isValidAddress ? 'is-primary' : 'is-warning'"
|
:size="!withdrawAddress ? '' : isValidAddress ? 'is-primary' : 'is-warning'"
|
||||||
|
data-test="recipient_address_field"
|
||||||
></b-input>
|
></b-input>
|
||||||
<p class="help">
|
<p class="help">
|
||||||
<span class="has-text-warning">{{ error.type }}</span> {{ error.message }}
|
<span class="has-text-warning">{{ error.type }}</span> {{ error.message }}
|
||||||
@ -119,6 +133,7 @@
|
|||||||
:disabled="isWithdrawalButtonDisable"
|
:disabled="isWithdrawalButtonDisable"
|
||||||
:loading="isLoadingRelayers || isLoading"
|
:loading="isLoadingRelayers || isLoading"
|
||||||
@click="onWithdraw"
|
@click="onWithdraw"
|
||||||
|
data-test="button_start_withdraw"
|
||||||
>
|
>
|
||||||
{{ $t('withdrawButton') }}
|
{{ $t('withdrawButton') }}
|
||||||
</b-button>
|
</b-button>
|
||||||
|
@ -4,10 +4,10 @@
|
|||||||
<div class="box-modal-title">{{ $t('withdrawalConfirmation') }}</div>
|
<div class="box-modal-title">{{ $t('withdrawalConfirmation') }}</div>
|
||||||
<button type="button" class="delete" @click="$emit('close')" />
|
<button type="button" class="delete" @click="$emit('close')" />
|
||||||
</header>
|
</header>
|
||||||
<div class="note">
|
<div class="note" data-test="withdrawal_confirmation_text">
|
||||||
{{ message }}
|
{{ message }}
|
||||||
</div>
|
</div>
|
||||||
<b-button type="is-primary is-fullwidth" @click="_sendWithdraw">
|
<b-button type="is-primary is-fullwidth" data-test="withdrawal_confirm_button" @click="_sendWithdraw">
|
||||||
{{ $t('confirm') }}
|
{{ $t('confirm') }}
|
||||||
</b-button>
|
</b-button>
|
||||||
</div>
|
</div>
|
||||||
@ -57,7 +57,7 @@ export default {
|
|||||||
deep: true
|
deep: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
beforeCreate() {
|
||||||
this.$store.dispatch('loading/enable', { message: this.$t('generatingProof') })
|
this.$store.dispatch('loading/enable', { message: this.$t('generatingProof') })
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -17,15 +17,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-if="withdrawType === 'relayer'" class="withdraw-data-item">
|
<div v-if="withdrawType === 'relayer'" class="withdraw-data-item">
|
||||||
{{ $t('networkFee') }}
|
{{ $t('networkFee') }}
|
||||||
<span>{{ toDecimals(networkFee, null, 6) }} {{ networkCurrency }}</span>
|
<span data-test="label_network_fee">{{ toDecimals(networkFee, null, 6) }} {{ networkCurrency }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="withdrawType === 'relayer'" class="withdraw-data-item">
|
<div v-if="withdrawType === 'relayer'" class="withdraw-data-item">
|
||||||
{{ $t('relayerFee') }}
|
{{ $t('relayerFee') }}
|
||||||
<span>{{ toDecimals(relayerFee, null, 6) }} {{ currency }}</span>
|
<span data-test="label_relayer_fee">{{ toDecimals(relayerFee, null, 6) }} {{ currency }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="withdrawType === 'relayer'" class="withdraw-data-item">
|
<div v-if="withdrawType === 'relayer'" class="withdraw-data-item">
|
||||||
{{ $t('totalFee') }}
|
{{ $t('totalFee') }}
|
||||||
<span>{{ toDecimals(totalRelayerFee, null, 6) }} {{ currency }}</span>
|
<span data-test="label_total_fee">{{ toDecimals(totalRelayerFee, null, 6) }} {{ currency }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="isTokenSelected" class="withdraw-data-item">
|
<div v-if="isTokenSelected" class="withdraw-data-item">
|
||||||
{{ $t('ethPurchase', { currency: networkCurrency }) }}
|
{{ $t('ethPurchase', { currency: networkCurrency }) }}
|
||||||
@ -34,7 +34,7 @@
|
|||||||
<hr v-if="withdrawType === 'relayer'" />
|
<hr v-if="withdrawType === 'relayer'" />
|
||||||
<div class="withdraw-data-item">
|
<div class="withdraw-data-item">
|
||||||
{{ $t('tokensToReceive') }}
|
{{ $t('tokensToReceive') }}
|
||||||
<span>{{ total }} {{ currency }}</span>
|
<span data-test="label_tokens_to_receive">{{ total }} {{ currency }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="isTokenSelected" class="withdraw-data-item">
|
<div v-if="isTokenSelected" class="withdraw-data-item">
|
||||||
<span class="is-alone">{{ ethToReceiveFromWei }} {{ networkCurrency }}</span>
|
<span class="is-alone">{{ ethToReceiveFromWei }} {{ networkCurrency }}</span>
|
||||||
|
@ -6,7 +6,13 @@
|
|||||||
<div class="desc">
|
<div class="desc">
|
||||||
{{ $t(action.description) }}
|
{{ $t(action.description) }}
|
||||||
</div>
|
</div>
|
||||||
<b-button type="is-primary" outlined @mousedown.prevent @click="action.onClick">
|
<b-button
|
||||||
|
type="is-primary"
|
||||||
|
outlined
|
||||||
|
:data-test="action.dataAttribute"
|
||||||
|
@mousedown.prevent
|
||||||
|
@click="action.onClick"
|
||||||
|
>
|
||||||
{{ $t(action.button) }}
|
{{ $t(action.button) }}
|
||||||
</b-button>
|
</b-button>
|
||||||
</div>
|
</div>
|
||||||
@ -15,7 +21,9 @@
|
|||||||
<div class="desc">
|
<div class="desc">
|
||||||
{{ $t('account.control.fileDesc') }}
|
{{ $t('account.control.fileDesc') }}
|
||||||
</div>
|
</div>
|
||||||
<b-switch :value="isEnabledSaveFile" size="is-medium" @input="handleEnabledSaveFile" />
|
<div data-test="download_notes__config_switch">
|
||||||
|
<b-switch :value="isEnabledSaveFile" size="is-medium" @input="handleEnabledSaveFile" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -36,19 +44,22 @@ export default {
|
|||||||
icon: 'account-notes',
|
icon: 'account-notes',
|
||||||
onClick: this.getEncryptedNotes,
|
onClick: this.getEncryptedNotes,
|
||||||
button: 'account.control.loadAll',
|
button: 'account.control.loadAll',
|
||||||
description: 'account.control.loadAllDesc'
|
description: 'account.control.loadAllDesc',
|
||||||
|
dataAttribute: 'load_all_encrypted_notes_button'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'account-key',
|
icon: 'account-key',
|
||||||
onClick: this.openRecoverKeyModal,
|
onClick: this.openRecoverKeyModal,
|
||||||
button: 'account.control.showRecoveryKey',
|
button: 'account.control.showRecoveryKey',
|
||||||
description: 'account.control.showRecoveryKeyDesc'
|
description: 'account.control.showRecoveryKeyDesc',
|
||||||
|
dataAttribute: 'reveal_current_note_account'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: 'account-remove',
|
icon: 'account-remove',
|
||||||
button: 'account.control.remove',
|
button: 'account.control.remove',
|
||||||
onClick: this.handleRemoveAccount,
|
onClick: this.handleRemoveAccount,
|
||||||
description: 'account.control.removeDesc'
|
description: 'account.control.removeDesc',
|
||||||
|
dataAttribute: 'clear_account_info_button'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div class="address">
|
<div class="address">
|
||||||
<div class="address-item">
|
<div class="address-item">
|
||||||
<div class="label">{{ $t('account.account') }}</div>
|
<div class="label">{{ $t('account.account') }}</div>
|
||||||
<div class="value">{{ accounts.encrypt }}</div>
|
<div class="value" data-test="note_account_address">{{ accounts.encrypt }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="address-item">
|
<div class="address-item">
|
||||||
<div class="label">{{ $t('account.backedUpWith') }}</div>
|
<div class="label">{{ $t('account.backedUpWith') }}</div>
|
||||||
|
@ -5,17 +5,31 @@
|
|||||||
<div class="desc">
|
<div class="desc">
|
||||||
{{ isLoggedIn ? $t('account.wallet.disconnect') : $t('account.wallet.desc') }}
|
{{ isLoggedIn ? $t('account.wallet.disconnect') : $t('account.wallet.desc') }}
|
||||||
</div>
|
</div>
|
||||||
<b-button v-if="isLoggedIn" type="is-primary" outlined @mousedown.prevent @click="onLogOut">
|
<b-button
|
||||||
|
v-if="isLoggedIn"
|
||||||
|
type="is-primary"
|
||||||
|
outlined
|
||||||
|
data-test="button_disconnect_account"
|
||||||
|
@mousedown.prevent
|
||||||
|
@click="onLogOut"
|
||||||
|
>
|
||||||
{{ $t('account.wallet.logout') }}
|
{{ $t('account.wallet.logout') }}
|
||||||
</b-button>
|
</b-button>
|
||||||
<connect-button v-else outlined action-text="account.wallet.connectWeb3" />
|
<connect-button
|
||||||
|
v-else
|
||||||
|
outlined
|
||||||
|
action-text="account.wallet.connectWeb3"
|
||||||
|
data-test="button_connect_web3"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="action-item">
|
<div class="action-item">
|
||||||
<b-icon icon="account-rpc" size="is-large" />
|
<b-icon icon="account-rpc" size="is-large" />
|
||||||
<div class="desc">
|
<div class="desc">
|
||||||
{{ $t('account.wallet.rpcDesc') }}
|
{{ $t('account.wallet.rpcDesc') }}
|
||||||
</div>
|
</div>
|
||||||
<b-button type="is-primary" outlined @click="onSettings">{{ $t('account.wallet.changeRpc') }}</b-button>
|
<b-button type="is-primary" data-test="button_change_rpc" outlined @click="onSettings">{{
|
||||||
|
$t('account.wallet.changeRpc')
|
||||||
|
}}</b-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -6,9 +6,15 @@
|
|||||||
{{ $t('account.setup.desc') }}
|
{{ $t('account.setup.desc') }}
|
||||||
</div>
|
</div>
|
||||||
<b-tooltip :active="isAccountDisabled" :label="$t(setupAccountTooltip)" multilined size="is-large">
|
<b-tooltip :active="isAccountDisabled" :label="$t(setupAccountTooltip)" multilined size="is-large">
|
||||||
<b-button :disabled="isAccountDisabled" outlined type="is-primary" @click="showSetupModal">{{
|
<b-button
|
||||||
$t('account.setup.account')
|
:disabled="isAccountDisabled"
|
||||||
}}</b-button>
|
outlined
|
||||||
|
type="is-primary"
|
||||||
|
data-test="button_setup_account"
|
||||||
|
@click="showSetupModal"
|
||||||
|
>
|
||||||
|
{{ $t('account.setup.account') }}
|
||||||
|
</b-button>
|
||||||
</b-tooltip>
|
</b-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<div class="action-item">
|
<div class="action-item">
|
||||||
@ -17,7 +23,13 @@
|
|||||||
{{ $t('account.setup.recoverDesc') }}
|
{{ $t('account.setup.recoverDesc') }}
|
||||||
</div>
|
</div>
|
||||||
<b-tooltip :active="isRecoverDisabled" :label="$t(recoverAccountTooltip)" multilined size="is-large">
|
<b-tooltip :active="isRecoverDisabled" :label="$t(recoverAccountTooltip)" multilined size="is-large">
|
||||||
<b-button type="is-primary" outlined :disabled="isRecoverDisabled" @click="handleRecoverAccount">
|
<b-button
|
||||||
|
type="is-primary"
|
||||||
|
outlined
|
||||||
|
:disabled="isRecoverDisabled"
|
||||||
|
data-test="button_recover_account"
|
||||||
|
@click="handleRecoverAccount"
|
||||||
|
>
|
||||||
{{ $t('account.setup.recover') }}
|
{{ $t('account.setup.recover') }}
|
||||||
</b-button>
|
</b-button>
|
||||||
</b-tooltip>
|
</b-tooltip>
|
||||||
@ -27,9 +39,13 @@
|
|||||||
<div class="desc">
|
<div class="desc">
|
||||||
{{ $t('account.setup.enterRawDesc') }}
|
{{ $t('account.setup.enterRawDesc') }}
|
||||||
</div>
|
</div>
|
||||||
<b-button type="is-primary" outlined @click="showRecoverKeyModal">{{
|
<b-button
|
||||||
$t('account.setup.enterRaw')
|
type="is-primary"
|
||||||
}}</b-button>
|
outlined
|
||||||
|
data-test="button_enter_account_key"
|
||||||
|
@click="showRecoverKeyModal"
|
||||||
|
>{{ $t('account.setup.enterRaw') }}</b-button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div class="address">
|
<div class="address">
|
||||||
<div class="address-item">
|
<div class="address-item">
|
||||||
<div class="label">{{ $t('account.account') }}</div>
|
<div class="label">{{ $t('account.account') }}</div>
|
||||||
<div class="value">{{ accounts.backup }}</div>
|
<div class="value" data-test="note_account_address">{{ accounts.backup }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="address-item">
|
<div class="address-item">
|
||||||
<div class="label">{{ $t('account.backedUpWith') }}</div>
|
<div class="label">{{ $t('account.backedUpWith') }}</div>
|
||||||
|
@ -22,10 +22,10 @@
|
|||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div class="buttons buttons__halfwidth mt-3">
|
<div class="buttons buttons__halfwidth mt-3">
|
||||||
<b-button type="is-primary" outlined @click="onClose">
|
<b-button type="is-primary" outlined data-test="button_close_your_note_popup" @click="onClose">
|
||||||
{{ $parent.$t('account.modals.decryptInfo.close') }}
|
{{ $parent.$t('account.modals.decryptInfo.close') }}
|
||||||
</b-button>
|
</b-button>
|
||||||
<b-button type="is-primary" @click="handleRedirect">
|
<b-button type="is-primary" data-test="button_main_page_your_notes_popup" @click="handleRedirect">
|
||||||
{{ $parent.$t('account.modals.decryptInfo.redirect') }}
|
{{ $parent.$t('account.modals.decryptInfo.redirect') }}
|
||||||
</b-button>
|
</b-button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
class="is-disabled-resize"
|
class="is-disabled-resize"
|
||||||
rows="2"
|
rows="2"
|
||||||
:placeholder="$t('enterRecoveryKey')"
|
:placeholder="$t('enterRecoveryKey')"
|
||||||
|
data-test="input_enter_recovery_key"
|
||||||
:class="{ 'is-warning': hasAndValidKey }"
|
:class="{ 'is-warning': hasAndValidKey }"
|
||||||
@input="onInput"
|
@input="onInput"
|
||||||
></b-input>
|
></b-input>
|
||||||
@ -33,6 +34,7 @@
|
|||||||
type="is-primary is-fullwidth"
|
type="is-primary is-fullwidth"
|
||||||
:disabled="hasAndValidKey"
|
:disabled="hasAndValidKey"
|
||||||
:loading="recoverAccountFromKeyRequest.isFetching"
|
:loading="recoverAccountFromKeyRequest.isFetching"
|
||||||
|
data-test="button_connect_recovery_key"
|
||||||
@click="handleRecoverAccount"
|
@click="handleRecoverAccount"
|
||||||
>
|
>
|
||||||
{{ $t('account.modals.recoverAccount.connect') }}
|
{{ $t('account.modals.recoverAccount.connect') }}
|
||||||
|
@ -44,6 +44,7 @@
|
|||||||
<b-button
|
<b-button
|
||||||
v-if="!isBackuped && isSaveOnChain"
|
v-if="!isBackuped && isSaveOnChain"
|
||||||
type="is-primary is-fullwidth"
|
type="is-primary is-fullwidth"
|
||||||
|
data-test="button_confirm_setup_account"
|
||||||
:loading="setupAccountRequest.isFetching"
|
:loading="setupAccountRequest.isFetching"
|
||||||
@click="onSetupAccount"
|
@click="onSetupAccount"
|
||||||
>
|
>
|
||||||
|
Loading…
Reference in New Issue
Block a user