diff --git a/frontend/src/app/components/accelerate-checkout/accelerate-checkout.component.html b/frontend/src/app/components/accelerate-checkout/accelerate-checkout.component.html
index 7a7dab8cf..5a57b492b 100644
--- a/frontend/src/app/components/accelerate-checkout/accelerate-checkout.component.html
+++ b/frontend/src/app/components/accelerate-checkout/accelerate-checkout.component.html
@@ -335,7 +335,7 @@
} @else {
Loading invoice...
-
- @if (showAccelerationSummary && !accelerationFlowCompleted) {
+ @if (isLoading) {
+
+
+ } @else if (showAccelerationSummary && !accelerationFlowCompleted) {
diff --git a/frontend/src/app/components/tracker/tracker.component.ts b/frontend/src/app/components/tracker/tracker.component.ts
index 508c8db19..234d89adc 100644
--- a/frontend/src/app/components/tracker/tracker.component.ts
+++ b/frontend/src/app/components/tracker/tracker.component.ts
@@ -63,8 +63,9 @@ export class TrackerComponent implements OnInit, OnDestroy {
mempoolPosition: MempoolPosition;
accelerationPositions: AccelerationPosition[];
isLoadingTx = true;
- error: any = undefined;
loadingCachedTx = false;
+ loadingPosition = true;
+ error: any = undefined;
waitingForTransaction = false;
latestBlock: BlockExtended;
transactionTime = -1;
@@ -148,13 +149,6 @@ export class TrackerComponent implements OnInit, OnDestroy {
ngOnInit() {
this.onResize();
- window['setStage'] = ((stage: TrackerStage) => {
- this.zone.run(() => {
- this.trackerStage = stage;
- this.cd.markForCheck();
- });
- }).bind(this);
-
this.acceleratorAvailable = this.stateService.env.OFFICIAL_MEMPOOL_SPACE && this.stateService.env.ACCELERATOR && this.stateService.network === '';
const urlParams = new URLSearchParams(window.location.search);
@@ -361,6 +355,7 @@ export class TrackerComponent implements OnInit, OnDestroy {
this.mempoolPositionSubscription = this.stateService.mempoolTxPosition$.subscribe(txPosition => {
this.now = Date.now();
if (txPosition && txPosition.txid === this.txId && txPosition.position) {
+ this.loadingPosition = false;
this.mempoolPosition = txPosition.position;
this.accelerationPositions = txPosition.accelerationPositions;
if (this.tx && !this.tx.status.confirmed) {
@@ -443,6 +438,7 @@ export class TrackerComponent implements OnInit, OnDestroy {
))
.subscribe((tx: Transaction) => {
if (!tx) {
+ this.loadingPosition = false;
this.fetchCachedTx$.next(this.txId);
this.seoService.logSoft404();
return;
@@ -475,6 +471,7 @@ export class TrackerComponent implements OnInit, OnDestroy {
}
} else {
this.trackerStage = 'confirmed';
+ this.loadingPosition = false;
this.fetchAcceleration$.next(tx.status.block_hash);
this.fetchMiningInfo$.next({ hash: tx.status.block_hash, height: tx.status.block_height, txid: tx.txid });
this.transactionTime = 0;
@@ -735,12 +732,17 @@ export class TrackerComponent implements OnInit, OnDestroy {
return false;
}
+ get isLoading(): boolean {
+ return this.isLoadingTx || this.loadingCachedTx || this.loadingPosition;
+ }
+
resetTransaction() {
this.error = undefined;
this.tx = null;
this.txChanged$.next(true);
this.waitingForTransaction = false;
this.isLoadingTx = true;
+ this.loadingPosition = true;
this.rbfTransaction = undefined;
this.replaced = false;
this.latestReplacement = '';