mirror of
https://github.com/cryptoadvance/specter-desktop.git
synced 2026-08-13 12:33:29 +02:00
Wallet loading error UI (#2107)
* sidebar + overlay adjustments * fix flaky cypress test
This commit is contained in:
parent
3ee881805e
commit
cb04bd5fa4
3 changed files with 35 additions and 24 deletions
|
|
@ -27,8 +27,6 @@ describe('Test the rendering of balances and amounts', () => {
|
|||
cy.get('#satoshis_hot_keys_hot_sign_btn').click()
|
||||
cy.get('#hot_enter_passphrase__submit').click()
|
||||
cy.get('#broadcast_local_btn').click()
|
||||
// To close the overlay (no cancel button here)
|
||||
cy.get('#page_overlay_popup').click()
|
||||
cy.reload()
|
||||
cy.selectWallet('Ghost wallet')
|
||||
cy.get('#unconfirmed_amount').then(($amount) => {
|
||||
|
|
@ -44,9 +42,6 @@ describe('Test the rendering of balances and amounts', () => {
|
|||
|
||||
it('Total balance with all digits', () => {
|
||||
cy.selectWallet('Funding wallet')
|
||||
cy.get('#fullbalance_amount').then(($amount) => {
|
||||
expect(parseFloat($amount.text())).to.be.gt(19).and.to.be.lt(20);
|
||||
})
|
||||
cy.get('#fullbalance_amount').find('.thousand-digits-in-btc-amount').should(($amount) => {
|
||||
expect($amount.text()).to.match(/^\d{3}$/)
|
||||
}).and(($amount) => {
|
||||
|
|
|
|||
|
|
@ -1501,6 +1501,10 @@ input[type="number"]::-webkit-outer-spin-button,
|
|||
width: 2.25rem;
|
||||
}
|
||||
|
||||
.w-48 {
|
||||
width: 12rem;
|
||||
}
|
||||
|
||||
.min-w-\[300px\] {
|
||||
min-width: 300px;
|
||||
}
|
||||
|
|
@ -1889,6 +1893,16 @@ input[type="number"]::-webkit-outer-spin-button,
|
|||
background-color: rgb(220 38 38 / var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.bg-dark-300 {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(111 112 115 / var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.bg-dark-400 {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(87 88 91 / var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
.fill-current {
|
||||
fill: currentColor;
|
||||
}
|
||||
|
|
@ -2193,18 +2207,10 @@ input[type="number"]::-webkit-outer-spin-button,
|
|||
transition-duration: 200ms;
|
||||
}
|
||||
|
||||
.duration-1000 {
|
||||
transition-duration: 1000ms;
|
||||
}
|
||||
|
||||
.ease-out {
|
||||
transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
|
||||
}
|
||||
|
||||
.ease-in-out {
|
||||
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
||||
}
|
||||
|
||||
* {
|
||||
font-family: "Social";
|
||||
font-style: normal;
|
||||
|
|
|
|||
|
|
@ -100,25 +100,35 @@
|
|||
{% if specter.wallet_manager.failed_load_wallets %}
|
||||
<form action="{{ url_for('wallets_endpoint.failed_wallets') }}" method="POST">
|
||||
<input type="hidden" class="csrf-token" name="csrf_token" value="{{ csrf_token() }}"/>
|
||||
<p class="warning center">
|
||||
<img src="{{ url_for('static', filename='img/warning_sign.svg') }}" data-style="width: 20px;"/><br>{{ _("Failed to load some wallets") }}<br>
|
||||
<button class="btn" name="action" value="retry_loading_wallets" data-style="margin: auto;">{{ _("Retry loading wallets") }}</button>
|
||||
<button type="button" class="btn" onclick="showPageOverlay('failed_wallets_popup')" data-style="margin: auto; margin-top: 5px;">{{ _("Show Details") }}</button>
|
||||
</p>
|
||||
<div class="flex flex-col items-center justify-center p-4 bg-dark-600 rounded-lg" role="alert">
|
||||
<img src="{{ url_for('static', filename='img/warning_sign.svg') }}" width="28px" height="28px">
|
||||
<div class="mt-2 flex items-center">
|
||||
{{ _("Not all wallets loaded") }}
|
||||
</div>
|
||||
<div class="mx-3 mt-3" id="show-details-btn">
|
||||
<a class="w-48 text-white flex items-center rounded-lg bg-dark-400 hover:bg-dark-700 justify-center py-1 cursor-pointer" onclick="showPageOverlay('failed_wallets_popup')">
|
||||
<div>{{ _("Show Details") }}</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="mx-3 mt-3" id="retry-loading-wallets-btn">
|
||||
<button class="w-48 text-white flex items-center rounded-lg bg-dark-400 hover:bg-dark-700 justify-center py-1" name="action" value="retry_loading_wallets">
|
||||
<div>{{ _("Retry loading wallets") }}</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="hidden" id="failed_wallets_popup">
|
||||
{% for wallet in specter.wallet_manager.failed_load_wallets %}
|
||||
<div class="card">
|
||||
<div class="bg-dark-800 p-4 rounded-lg ">
|
||||
<h1>{{ _("Wallet Name") }}: {{wallet.name}}</h1>
|
||||
<h2>{{ _("Error Details") }}:</h2>
|
||||
<p data-style="color: red">{{wallet.loading_error}}</p>
|
||||
<br><br>
|
||||
<form action="{{ url_for('wallets_endpoint.failed_wallets') }}" method="POST" class="row center">
|
||||
<form class="mt-3" action="{{ url_for('wallets_endpoint.failed_wallets') }}" method="POST" class="row center">
|
||||
<input type="hidden" class="csrf-token" name="csrf_token" value="{{ csrf_token() }}"/>
|
||||
<input type="hidden" name="wallet_data" value='{{ wallet|tojson }}' />
|
||||
<a class="btn" id="download_failed_wallet_{{wallet.alias}}" download="{{ wallet.name }}.json" data-style="width: 180px; height: 35px; margin-top: 1.5px;">{{ _("Download wallet file") }}</a>
|
||||
<button class="btn" type="submit" name="action" value="importwallet" formaction="{{ url_for('wallets_endpoint.new_wallet', wallet_type='import_wallet') }}">{{ _("Recreate the wallet") }}</button>
|
||||
<button class="btn" name="action" value="delete_failed_wallet">{{ _("Delete wallet") }}</button>
|
||||
<a class="button" id="download_failed_wallet_{{wallet.alias}}" download="{{ wallet.name }}.json" data-style="width: 180px; height: 35px; margin-top: 1.5px;">{{ _("Download wallet file") }}</a>
|
||||
<button class="button" type="submit" name="action" value="importwallet" formaction="{{ url_for('wallets_endpoint.new_wallet', wallet_type='import_wallet') }}">{{ _("Recreate the wallet") }}</button>
|
||||
<button class="button" name="action" value="delete_failed_wallet">{{ _("Delete wallet") }}</button>
|
||||
</form>
|
||||
</div>
|
||||
<script>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue