Disable accelerate button after submission
This commit is contained in:
parent
192fd09a00
commit
e55b1740db
@ -26,7 +26,7 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container *ngIf="estimate else loadingEstimate">
|
<ng-container *ngIf="estimate else loadingEstimate">
|
||||||
<div [class]="{estimateDisabled: error}">
|
<div [class]="{estimateDisabled: error || processing || showSuccess }">
|
||||||
|
|
||||||
<div *ngIf="user && !estimate.hasAccess">
|
<div *ngIf="user && !estimate.hasAccess">
|
||||||
<div class="alert alert-mempool">You are currently on the waitlist</div>
|
<div class="alert alert-mempool">You are currently on the waitlist</div>
|
||||||
@ -286,7 +286,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if (!hideCashApp && paymentType === 'cashapp') {
|
@if (!hideCashApp && !(error || processing || showSuccess) && paymentType === 'cashapp') {
|
||||||
<div #cashappCTA class="cashapp-placeholder {{ stickyCTA }}"></div>
|
<div #cashappCTA class="cashapp-placeholder {{ stickyCTA }}"></div>
|
||||||
<div class="d-flex justify-content-center align-items-center cashapp-cta {{ stickyCTA }}" (click)="submitCashappPay()">
|
<div class="d-flex justify-content-center align-items-center cashapp-cta {{ stickyCTA }}" (click)="submitCashappPay()">
|
||||||
<div [style]="showSpinner ? 'opacity: 0' : 'opacity: 1'" class="p-2">Accelerate for <app-fiat [value]="maxCost" [colorClass]="estimate.userBalance < maxCost ? 'red-color' : 'green-color'"></app-fiat> with</div>
|
<div [style]="showSpinner ? 'opacity: 0' : 'opacity: 1'" class="p-2">Accelerate for <app-fiat [value]="maxCost" [colorClass]="estimate.userBalance < maxCost ? 'red-color' : 'green-color'"></app-fiat> with</div>
|
||||||
|
@ -48,6 +48,7 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges
|
|||||||
|
|
||||||
math = Math;
|
math = Math;
|
||||||
error = '';
|
error = '';
|
||||||
|
processing = false;
|
||||||
showSuccess = false;
|
showSuccess = false;
|
||||||
estimateSubscription: Subscription;
|
estimateSubscription: Subscription;
|
||||||
accelerationSubscription: Subscription;
|
accelerationSubscription: Subscription;
|
||||||
@ -245,18 +246,21 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges
|
|||||||
if (this.accelerationSubscription) {
|
if (this.accelerationSubscription) {
|
||||||
this.accelerationSubscription.unsubscribe();
|
this.accelerationSubscription.unsubscribe();
|
||||||
}
|
}
|
||||||
|
this.processing = true;
|
||||||
this.accelerationSubscription = this.servicesApiService.accelerate$(
|
this.accelerationSubscription = this.servicesApiService.accelerate$(
|
||||||
this.tx.txid,
|
this.tx.txid,
|
||||||
this.userBid,
|
this.userBid,
|
||||||
this.accelerationUUID
|
this.accelerationUUID
|
||||||
).subscribe({
|
).subscribe({
|
||||||
next: () => {
|
next: () => {
|
||||||
|
this.processing = false;
|
||||||
this.audioService.playSound('ascend-chime-cartoon');
|
this.audioService.playSound('ascend-chime-cartoon');
|
||||||
this.showSuccess = true;
|
this.showSuccess = true;
|
||||||
this.scrollToPreviewWithTimeout('successAlert', 'center');
|
this.scrollToPreviewWithTimeout('successAlert', 'center');
|
||||||
this.estimateSubscription.unsubscribe();
|
this.estimateSubscription.unsubscribe();
|
||||||
},
|
},
|
||||||
error: (response) => {
|
error: (response) => {
|
||||||
|
this.processing = false;
|
||||||
if (response.status === 403 && response.error === 'not_available') {
|
if (response.status === 403 && response.error === 'not_available') {
|
||||||
this.error = 'waitlisted';
|
this.error = 'waitlisted';
|
||||||
} else {
|
} else {
|
||||||
@ -359,12 +363,14 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges
|
|||||||
that.accelerationUUID
|
that.accelerationUUID
|
||||||
).subscribe({
|
).subscribe({
|
||||||
next: () => {
|
next: () => {
|
||||||
|
this.processing = false;
|
||||||
that.audioService.playSound('ascend-chime-cartoon');
|
that.audioService.playSound('ascend-chime-cartoon');
|
||||||
that.showSuccess = true;
|
that.showSuccess = true;
|
||||||
that.scrollToPreviewWithTimeout('successAlert', 'center');
|
that.scrollToPreviewWithTimeout('successAlert', 'center');
|
||||||
that.estimateSubscription.unsubscribe();
|
that.estimateSubscription.unsubscribe();
|
||||||
},
|
},
|
||||||
error: (response) => {
|
error: (response) => {
|
||||||
|
this.processing = false;
|
||||||
if (response.status === 403 && response.error === 'not_available') {
|
if (response.status === 403 && response.error === 'not_available') {
|
||||||
that.error = 'waitlisted';
|
that.error = 'waitlisted';
|
||||||
} else {
|
} else {
|
||||||
@ -401,6 +407,7 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges
|
|||||||
submitCashappPay(): void {
|
submitCashappPay(): void {
|
||||||
if (this.cashappSubmit) {
|
if (this.cashappSubmit) {
|
||||||
this.cashappSubmit?.begin();
|
this.cashappSubmit?.begin();
|
||||||
|
this.processing = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user