diff --git a/packages/app/src/Pages/WalletPage.tsx b/packages/app/src/Pages/WalletPage.tsx
index 930118864..56701d8c4 100644
--- a/packages/app/src/Pages/WalletPage.tsx
+++ b/packages/app/src/Pages/WalletPage.tsx
@@ -146,7 +146,7 @@ export default function WalletPage() {
{(a.memo ?? "").length === 0 ? <> > : a.memo}
{
+ className={`nowrap ${(() => {
switch (a.state) {
case WalletInvoiceState.Paid:
return "success";
@@ -157,7 +157,7 @@ export default function WalletPage() {
default:
return "pending";
}
- })()}>
+ })()}`}>
{stateIcon(a.state)}
+
,
}}
/>
-
+
);
}
@@ -190,17 +190,16 @@ export default function WalletPage() {
if (!wallet?.isReady()) return null;
return (
<>
- {info?.alias}
- {walletBalance()}
+
+
{info?.alias}
+ {walletBalance()}
+
{/**/}
{walletHistory()}
-
>
);
}
@@ -211,6 +210,10 @@ export default function WalletPage() {
{walletList()}
{unlockWallet()}
{walletInfo()}
+
+
);
}
diff --git a/packages/app/src/Wallet/LNCWallet.ts b/packages/app/src/Wallet/LNCWallet.ts
index b00dd9879..da5c3ac23 100644
--- a/packages/app/src/Wallet/LNCWallet.ts
+++ b/packages/app/src/Wallet/LNCWallet.ts
@@ -131,14 +131,18 @@ export class LNCWallet implements LNWallet {
reversed: true,
});
+ console.debug(invoices);
return invoices.payments.map(a => {
const parsedInvoice = prToWalletInvoice(a.paymentRequest);
+ if (!parsedInvoice) {
+ throw new WalletError(WalletErrorCode.InvalidInvoice, `Could not parse ${a.paymentRequest}`);
+ }
return {
...parsedInvoice,
state: (() => {
switch (a.status) {
case Payment_PaymentStatus.SUCCEEDED:
- return;
+ return WalletInvoiceState.Paid;
case Payment_PaymentStatus.FAILED:
return WalletInvoiceState.Failed;
default:
diff --git a/packages/app/src/Wallet/LNDHub.ts b/packages/app/src/Wallet/LNDHub.ts
index a649866d1..a7d75da83 100644
--- a/packages/app/src/Wallet/LNDHub.ts
+++ b/packages/app/src/Wallet/LNDHub.ts
@@ -18,7 +18,7 @@ const defaultHeaders = {
export default class LNDHubWallet implements LNWallet {
type: "lndhub" | "snort";
- url: string;
+ url: URL;
user: string;
password: string;
auth?: AuthResponse;
@@ -32,13 +32,13 @@ export default class LNDHubWallet implements LNWallet {
if (!parsedUrl || parsedUrl.length !== 4) {
throw new Error("Invalid LNDHUB config");
}
- this.url = new URL(parsedUrl[3]).toString();
+ this.url = new URL(parsedUrl[3]);
this.user = parsedUrl[1];
this.password = parsedUrl[2];
this.type = "lndhub";
} else if (url.startsWith("snort://")) {
const u = new URL(url);
- this.url = `https://${u.host}${u.pathname}`;
+ this.url = new URL(`https://${u.host}${u.pathname}`);
this.user = "";
this.password = "";
this.type = "snort";
@@ -125,10 +125,11 @@ export default class LNDHubWallet implements LNWallet {
private async getJson(method: "GET" | "POST", path: string, body?: unknown): Promise {
let auth = `Bearer ${this.auth?.access_token}`;
if (this.type === "snort") {
- const ev = await this.publisher?.generic(`${new URL(this.url).pathname}${path}`, 30_000);
+ const ev = await this.publisher?.generic(`${this.url.pathname}${path}`, 30_000);
auth = JSON.stringify(ev?.ToObject());
}
- const rsp = await fetch(`${this.url}${path}`, {
+ const url = `${this.url.pathname === "/" ? this.url.toString().slice(0, -1) : this.url.toString()}${path}`;
+ const rsp = await fetch(url, {
method: method,
body: body ? JSON.stringify(body) : undefined,
headers: {
diff --git a/packages/app/src/index.css b/packages/app/src/index.css
index a7baf00a0..d7ea2e3ea 100644
--- a/packages/app/src/index.css
+++ b/packages/app/src/index.css
@@ -535,6 +535,10 @@ body.scroll-lock {
font-weight: 700;
}
+.nowrap {
+ white-space: nowrap;
+}
+
.main-content h2 {
font-weight: 600;
font-size: 32px;