diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html
index f925ad052..5a6213802 100644
--- a/frontend/src/app/components/about/about.component.html
+++ b/frontend/src/app/components/about/about.component.html
@@ -204,10 +204,10 @@
-
+
- Copyright © 2019-2021
- The Mempool Open Source Project
+ The Mempool Open Source Project
+ Copyright © 2019-2021
The Mempool Open Source Project is free software; you can redistribute it and/or modify it under the terms of (at your option) either:
@@ -223,22 +223,30 @@
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the full license terms for more details.
-
- Trademark Notice
-
+
+
Trademark Notice
+
The Mempool Open Source Project™, mempool.space™, the mempool logo™, the mempool.space logos™, the mempool square logo™, and the mempool blocks logo™ are either registered trademarks or trademarks of Mempool Space K.K in Japan, the United States, and/or other countries.
While our software is available under an open source software license, the copyright license does not include an implied right or license to use our trademarks. See our Trademark Policy and Guidelines for more details, published on <https://mempool.space/trademark-policy>.
+
+
Third Party Software
+
+
This software incorporates materials from third parties, with permission of the respective licensors and/or copyright holders on the terms provided by such parties as identified below.
+
+
+
+
+
diff --git a/frontend/src/app/components/about/about.component.scss b/frontend/src/app/components/about/about.component.scss
index 161ec0f87..edd71ac45 100644
--- a/frontend/src/app/components/about/about.component.scss
+++ b/frontend/src/app/components/about/about.component.scss
@@ -137,7 +137,7 @@
}
}
- .copyright {
+ .legal {
text-align: left;
max-width: 620px;
padding: 0px 15px;
@@ -161,16 +161,23 @@
}
}
+ .thirdPartyLicenses {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+ width: 600px;
+ height: 30em;
+ font-family: SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+ font-size: 10px;
+ border-color: #e83e8c;
+ background: transparent;
+ color: #e83e8c;
+ }
+ .thirdPartyLicenses > .scroll-pane{
+ -fx-vbar-policy: always;
+ }
+
.footer-links {
- display: flex;
- flex-direction: column;
- a {
- display: inline-block;
- margin: 15px auto 0px;
- &:last-child {
- margin: 20px auto 30px;
- }
- }
}
.footer-version {
@@ -180,4 +187,4 @@
.no-about-margin {
height: 10px;
-}
\ No newline at end of file
+}
diff --git a/frontend/src/app/components/about/about.component.ts b/frontend/src/app/components/about/about.component.ts
index e47095e57..b6490c7cd 100644
--- a/frontend/src/app/components/about/about.component.ts
+++ b/frontend/src/app/components/about/about.component.ts
@@ -2,6 +2,7 @@ import { ChangeDetectionStrategy, Component, Inject, LOCALE_ID, OnInit } from '@
import { WebsocketService } from '../../services/websocket.service';
import { SeoService } from 'src/app/services/seo.service';
import { StateService } from 'src/app/services/state.service';
+import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ApiService } from 'src/app/services/api.service';
import { IBackendInfo } from 'src/app/interfaces/websocket.interface';
@@ -17,6 +18,7 @@ import { map } from 'rxjs/operators';
export class AboutComponent implements OnInit {
backendInfo$: Observable
;
sponsors$: Observable;
+ thirdPartyLicenses$: Observable;
allContributors$: Observable;
frontendGitCommitHash = this.stateService.env.GIT_COMMIT_HASH;
packetJsonVersion = this.stateService.env.PACKAGE_JSON_VERSION;
@@ -27,6 +29,7 @@ export class AboutComponent implements OnInit {
private websocketService: WebsocketService,
private seoService: SeoService,
public stateService: StateService,
+ private httpClient: HttpClient,
private apiService: ApiService,
private router: Router,
@Inject(LOCALE_ID) public locale: string,
@@ -38,6 +41,7 @@ export class AboutComponent implements OnInit {
this.websocketService.want(['blocks']);
this.sponsors$ = this.apiService.getDonation$();
+ this.thirdPartyLicenses$ = this.getThirdPartyLicenses$();
this.allContributors$ = this.apiService.getContributor$().pipe(
map((contributors) => {
return {
@@ -48,6 +52,10 @@ export class AboutComponent implements OnInit {
);
}
+ getThirdPartyLicenses$(): Observable {
+ return this.httpClient.get('/3rdpartylicenses.txt', { responseType: 'text' as 'json' });
+ }
+
sponsor() {
if (this.officialMempoolSpace && this.stateService.env.BASE_MODULE === 'mempool') {
this.router.navigateByUrl('/sponsor');