From 99162f5ec95c75812da60a66459ac3cd745afd90 Mon Sep 17 00:00:00 2001 From: softsimon Date: Mon, 26 Oct 2020 18:29:25 +0700 Subject: [PATCH] Sponsor Lightning support. --- backend/src/api/donations.ts | 4 +- backend/src/routes.ts | 2 +- frontend/src/app/app.module.ts | 4 +- .../app/components/about/about.component.html | 61 ++++++++++++++++--- .../app/components/about/about.component.scss | 5 ++ .../app/components/about/about.component.ts | 5 ++ .../app/components/qrcode/qrcode.component.ts | 5 +- 7 files changed, 72 insertions(+), 14 deletions(-) diff --git a/backend/src/api/donations.ts b/backend/src/api/donations.ts index 979a0f851..ae410520f 100644 --- a/backend/src/api/donations.ts +++ b/backend/src/api/donations.ts @@ -34,7 +34,7 @@ class Donations { this.notifyDonationStatusCallback = fn; } - createRequest(amount: number, orderId: string): Promise { + $createRequest(amount: number, orderId: string): Promise { logger.notice('New invoice request. Handle: ' + orderId + ' Amount: ' + amount + ' BTC'); const postData = { @@ -55,7 +55,7 @@ class Donations { const formattedBody = { id: body.data.id, amount: parseFloat(body.data.btcPrice), - address: body.data.bitcoinAddress, + addresses: body.data.addresses, }; resolve(formattedBody); }); diff --git a/backend/src/routes.ts b/backend/src/routes.ts index ee1653e06..57ffe960c 100644 --- a/backend/src/routes.ts +++ b/backend/src/routes.ts @@ -136,7 +136,7 @@ class Routes { } try { - const result = await donations.createRequest(p.amount, p.orderId); + const result = await donations.$createRequest(p.amount, p.orderId); res.json(result); } catch (e) { res.status(500).send(e.message); diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts index 5a6bdc57a..891c1a351 100644 --- a/frontend/src/app/app.module.ts +++ b/frontend/src/app/app.module.ts @@ -43,7 +43,7 @@ import { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap'; import { FeesBoxComponent } from './components/fees-box/fees-box.component'; import { DashboardComponent } from './dashboard/dashboard.component'; import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome'; -import { faChartArea, faCogs, faCubes, faDatabase, faInfoCircle, faList, faSearch, faTachometerAlt, faThList, faTv } from '@fortawesome/free-solid-svg-icons'; +import { faBolt, faChartArea, faCogs, faCubes, faDatabase, faInfoCircle, faLink, faList, faSearch, faTachometerAlt, faThList, faTv } from '@fortawesome/free-solid-svg-icons'; import { ApiDocsComponent } from './components/api-docs/api-docs.component'; import { TermsOfServiceComponent } from './components/terms-of-service/terms-of-service.component'; @@ -113,5 +113,7 @@ export class AppModule { library.addIcons(faTachometerAlt); library.addIcons(faDatabase); library.addIcons(faSearch); + library.addIcons(faLink); + library.addIcons(faBolt); } } diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index a8fad7015..18312d207 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -92,14 +92,59 @@
-
- - - -
-
-

{{ donationObj.address }}

-

{{ donationObj.amount }} BTC

+ +
+
+ + +
+
+ + +
+ + + +
+
+
+ +
+ +
+
+

{{ donationObj.amount }} BTC

+
+ + +
+ + + +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +

+

{{ donationObj.amount }} BTC

+

Waiting for transaction...

diff --git a/frontend/src/app/components/about/about.component.scss b/frontend/src/app/components/about/about.component.scss index 0ff87851e..d2ffacb40 100644 --- a/frontend/src/app/components/about/about.component.scss +++ b/frontend/src/app/components/about/about.component.scss @@ -2,6 +2,7 @@ background-color: #FFF; padding: 10px; display: inline-block; + padding-bottom: 5px; } .profile_photo { @@ -22,3 +23,7 @@ .text-small { font-size: 12px; } + +.info-group { + max-width: 400px; +} diff --git a/frontend/src/app/components/about/about.component.ts b/frontend/src/app/components/about/about.component.ts index 49a3c867f..6884d6a26 100644 --- a/frontend/src/app/components/about/about.component.ts +++ b/frontend/src/app/components/about/about.component.ts @@ -17,6 +17,7 @@ import { map } from 'rxjs/operators'; export class AboutComponent implements OnInit { gitCommit$: Observable; donationForm: FormGroup; + paymentForm: FormGroup; donationStatus = 1; sponsors$: Observable; donationObj: any; @@ -42,6 +43,10 @@ export class AboutComponent implements OnInit { handle: [''], }); + this.paymentForm = this.formBuilder.group({ + 'method': 'chain' + }); + this.apiService.getDonation$() .subscribe((sponsors) => { this.sponsors = sponsors; diff --git a/frontend/src/app/components/qrcode/qrcode.component.ts b/frontend/src/app/components/qrcode/qrcode.component.ts index 9559fc367..3f1254c3f 100644 --- a/frontend/src/app/components/qrcode/qrcode.component.ts +++ b/frontend/src/app/components/qrcode/qrcode.component.ts @@ -8,6 +8,7 @@ import * as QRCode from 'qrcode/build/qrcode.js'; }) export class QrcodeComponent implements AfterViewInit { @Input() data: string; + @Input() size = 125; @ViewChild('canvas') canvas: ElementRef; qrcodeObject: any; @@ -22,8 +23,8 @@ export class QrcodeComponent implements AfterViewInit { dark: '#000', light: '#fff' }, - width: 125, - height: 125, + width: this.size, + height: this.size, }; if (!this.data) {