From 10819fda6d00f02042b19b9036b44999f2742181 Mon Sep 17 00:00:00 2001
From: nymkappa <1612910616@pm.me>
Date: Sat, 9 Mar 2024 17:33:38 +0900
Subject: [PATCH 01/32] [ui] disable sign in button in global footer
---
frontend/src/app/services/state.service.ts | 1 +
.../components/global-footer/global-footer.component.html | 4 ++--
.../components/global-footer/global-footer.component.ts | 2 --
3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/frontend/src/app/services/state.service.ts b/frontend/src/app/services/state.service.ts
index e54d89403..8957af736 100644
--- a/frontend/src/app/services/state.service.ts
+++ b/frontend/src/app/services/state.service.ts
@@ -89,6 +89,7 @@ const defaultEnv: Env = {
})
export class StateService {
isBrowser: boolean = isPlatformBrowser(this.platformId);
+ isMempoolSpaceBuild = window['isMempoolSpaceBuild'] ?? false;
network = '';
lightning = false;
blockVSize: number;
diff --git a/frontend/src/app/shared/components/global-footer/global-footer.component.html b/frontend/src/app/shared/components/global-footer/global-footer.component.html
index 271279589..b92e8a339 100644
--- a/frontend/src/app/shared/components/global-footer/global-footer.component.html
+++ b/frontend/src/app/shared/components/global-footer/global-footer.component.html
@@ -21,12 +21,12 @@
-
-
diff --git a/frontend/src/app/shared/components/global-footer/global-footer.component.ts b/frontend/src/app/shared/components/global-footer/global-footer.component.ts
index 2e3f98e2d..e76a5de0d 100644
--- a/frontend/src/app/shared/components/global-footer/global-footer.component.ts
+++ b/frontend/src/app/shared/components/global-footer/global-footer.component.ts
@@ -30,7 +30,6 @@ export class GlobalFooterComponent implements OnInit {
loggedIn = false;
urlSubscription: Subscription;
isServicesPage = false;
- servicesEnabled = false;
constructor(
public stateService: StateService,
@@ -45,7 +44,6 @@ export class GlobalFooterComponent implements OnInit {
) {}
ngOnInit(): void {
- this.servicesEnabled = this.officialMempoolSpace && this.stateService.env.ACCELERATOR === true && this.stateService.network === '';
this.isServicesPage = this.router.url.includes('/services/');
this.env = this.stateService.env;
From 52c4dd8bc39dd7e5e330e654f1511c144bbaadd7 Mon Sep 17 00:00:00 2001
From: nymkappa <1612910616@pm.me>
Date: Sat, 9 Mar 2024 17:45:08 +0900
Subject: [PATCH 02/32] [accelerator] preview cta points to mempool.space if
not official build
---
.../accelerate-preview.component.html | 11 ++++++++++-
.../accelerate-preview.component.ts | 2 ++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html
index b4488d33d..a848a645b 100644
--- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html
+++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.html
@@ -219,7 +219,7 @@
-
+
|
|
@@ -228,6 +228,15 @@
+
+
+ |
+ |
+
+ Accelerate on mempool.space
+ |
+
+
diff --git a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts
index 43ccce3b7..3e8dbb6ff 100644
--- a/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts
+++ b/frontend/src/app/components/accelerate-preview/accelerate-preview.component.ts
@@ -6,6 +6,7 @@ import { Transaction } from '../../interfaces/electrs.interface';
import { nextRoundNumber } from '../../shared/common.utils';
import { ServicesApiServices } from '../../services/services-api.service';
import { AudioService } from '../../services/audio.service';
+import { StateService } from '../../services/state.service';
export type AccelerationEstimate = {
txSummary: TxSummary;
@@ -63,6 +64,7 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges
maxRateOptions: RateOption[] = [];
constructor(
+ public stateService: StateService,
private servicesApiService: ServicesApiServices,
private storageService: StorageService,
private audioService: AudioService,
From 2647e94bc870b4037f4a5e2cabf489e27c37d7e8 Mon Sep 17 00:00:00 2001
From: Mononaut
Date: Sat, 9 Mar 2024 18:14:48 +0000
Subject: [PATCH 03/32] Move accelerated badge into tx mining info field
---
.../app/components/transaction/transaction.component.html | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html
index 188868b11..adff17e8f 100644
--- a/frontend/src/app/components/transaction/transaction.component.html
+++ b/frontend/src/app/components/transaction/transaction.component.html
@@ -78,7 +78,8 @@
{{ pool.name }}
- Coinbase
+ Coinbase
+ Accelerated
Expected in Block
Seen in Mempool
Not seen in Mempool
@@ -554,10 +555,6 @@
-
-
- Accelerated
-
From 1b92c62353cfa0029598ffe372201826d1377ef2 Mon Sep 17 00:00:00 2001
From: hunicus <93150691+hunicus@users.noreply.github.com>
Date: Sun, 10 Mar 2024 08:21:00 +0900
Subject: [PATCH 04/32] Update default preview image location
Remove duplicate image, move to previews folder, and update
existing paths.
---
frontend/src/app/services/opengraph.service.ts | 2 +-
frontend/src/index.mempool.html | 4 ++--
frontend/src/resources/previews/dashboard.png | Bin 295855 -> 0 bytes
.../{ => previews}/mempool-space-preview.png | Bin
unfurler/src/routes.ts | 4 ++--
5 files changed, 5 insertions(+), 5 deletions(-)
delete mode 100644 frontend/src/resources/previews/dashboard.png
rename frontend/src/resources/{ => previews}/mempool-space-preview.png (100%)
diff --git a/frontend/src/app/services/opengraph.service.ts b/frontend/src/app/services/opengraph.service.ts
index 9e2fef781..c5ca2306d 100644
--- a/frontend/src/app/services/opengraph.service.ts
+++ b/frontend/src/app/services/opengraph.service.ts
@@ -25,7 +25,7 @@ export class OpenGraphService {
) {
// save og:image tag from original template
const initialOgImageTag = metaService.getTag("property='og:image'");
- this.defaultImageUrl = initialOgImageTag?.content || 'https://mempool.space/resources/mempool-space-preview.png';
+ this.defaultImageUrl = initialOgImageTag?.content || 'https://mempool.space/resources/previews/mempool-space-preview.png';
this.router.events.pipe(
filter(event => event instanceof NavigationEnd),
map(() => this.activatedRoute),
diff --git a/frontend/src/index.mempool.html b/frontend/src/index.mempool.html
index def14434e..5f790151f 100644
--- a/frontend/src/index.mempool.html
+++ b/frontend/src/index.mempool.html
@@ -8,7 +8,7 @@
-
+
@@ -18,7 +18,7 @@
-
+
diff --git a/frontend/src/resources/previews/dashboard.png b/frontend/src/resources/previews/dashboard.png
deleted file mode 100644
index 60c8bcc6ac4a1ef484e3df91b4fada5e068426c4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 295855
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