Skip to content

Commit b7778ec

Browse files
committed
Merge branch 'main' of github.com:RequestNetwork/web-components into 70-add-column-for-payment-chain-in-the-invoice-dashboard
2 parents 0eaae49 + 6f0fbe0 commit b7778ec

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

packages/invoice-dashboard/src/lib/dashboard/invoice-view.svelte

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import Download from "@requestnetwork/shared-icons/download.svelte";
2424
// Utils
2525
import { formatDate } from "@requestnetwork/shared-utils/formatDate";
26+
import { checkStatus } from "@requestnetwork/shared-utils/checkStatus";
2627
import { calculateItemTotal } from "@requestnetwork/shared-utils/invoiceTotals";
2728
import { exportToPDF } from "@requestnetwork/shared-utils/generateInvoice";
2829
import { getCurrencyFromManager } from "@requestnetwork/shared-utils/getCurrency";
@@ -73,6 +74,8 @@
7374
| Types.Extension.IPaymentNetworkState<any>
7475
| undefined;
7576
77+
let status = checkStatus(requestData || request);
78+
7679
const generateDetailParagraphs = (info: any) => {
7780
const fullName = [info?.firstName, info?.lastName]
7881
.filter(Boolean)
@@ -186,7 +189,8 @@
186189
} else {
187190
approved = true;
188191
}
189-
isPaid = requestData?.balance?.balance! >= requestData?.expectedAmount;
192+
193+
status = checkStatus(requestData || request);
190194
} catch (err: any) {
191195
console.error("Error while checking invoice: ", err);
192196
if (String(err).includes("Unsupported payment")) {
@@ -368,7 +372,7 @@
368372
<h2 class="invoice-number">
369373
Invoice #{request?.contentData?.invoiceNumber || "-"}
370374
<p class={`invoice-status ${isPaid ? "bg-green" : "bg-zinc"}`}>
371-
{isPaid ? "Paid" : "Created"}
375+
{status}
372376
</p>
373377
<Tooltip text="Download PDF">
374378
<Download

packages/invoice-dashboard/src/lib/view-requests.svelte

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import type { IConfig } from "@requestnetwork/shared-types";
3333
import type { RequestNetwork } from "@requestnetwork/request-client.js";
3434
// Utils
35+
import { checkStatus } from "@requestnetwork/shared-utils/checkStatus";
3536
import { config as defaultConfig } from "@requestnetwork/shared-utils/config";
3637
import { initializeCurrencyManager } from "@requestnetwork/shared-utils/initCurrencyManager";
3738
import { checkStatus } from "@requestnetwork/shared-utils/checkStatus";

shared/utils/checkStatus.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,23 @@ export const checkStatus = (request: Types.IRequestDataWithEvents | null) => {
55
const balance = BigInt(request?.balance?.balance ?? 0);
66
const expectedAmount = BigInt(request?.expectedAmount ?? 0);
77
const today = new Date();
8-
const dueDate = new Date(request?.contentData?.paymentTerms?.dueDate);
8+
let dueDate: Date | null = null;
99
const isPaid = balance >= expectedAmount ? "Paid" : "Partially Paid";
1010

11+
try {
12+
const rawDueDate = request?.contentData?.paymentTerms?.dueDate;
13+
if (rawDueDate) {
14+
dueDate = new Date(rawDueDate);
15+
if (isNaN(dueDate.getTime())) {
16+
console.warn("Invalid due date format");
17+
dueDate = null;
18+
}
19+
}
20+
} catch (e) {
21+
console.error("Error parsing due date:", e);
22+
dueDate = null;
23+
}
24+
1125
const eventStatus = {
1226
reject: "Rejected",
1327
cancel: "Canceled",
@@ -23,7 +37,7 @@ export const checkStatus = (request: Types.IRequestDataWithEvents | null) => {
2337
}
2438
}
2539

26-
if (dueDate < today) {
40+
if (dueDate && dueDate < today) {
2741
if (balance === BigInt(0)) {
2842
return "Overdue";
2943
}

0 commit comments

Comments
 (0)