File tree Expand file tree Collapse file tree 3 files changed +23
-4
lines changed
packages/invoice-dashboard/src/lib Expand file tree Collapse file tree 3 files changed +23
-4
lines changed Original file line number Diff line number Diff line change 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" ;
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 )
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" )) {
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
Original file line number Diff line number Diff line change 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" ;
Original file line number Diff line number Diff 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 }
You can’t perform that action at this time.
0 commit comments