diff --git a/src/components/InvoiceSearch/InvoiceSearch.tsx b/src/components/InvoiceSearch/InvoiceSearch.tsx index dfe10a5..6b2dd22 100644 --- a/src/components/InvoiceSearch/InvoiceSearch.tsx +++ b/src/components/InvoiceSearch/InvoiceSearch.tsx @@ -227,16 +227,15 @@ const InvoiceSearch: React.FC = ({ issuedInvoice, receivedInvoice }) => { function isDateInRange(dateToCheck: string, startDate: string, endDate: string): boolean { - if (!startDate || !endDate) { - return false; + if ((!startDate || startDate === "Invalid Date") && (!endDate || endDate === "Invalid Date")) { + return true; } - // console.log(dateToCheck, startDate, endDate) const dateToCheckObj = new Date(dateToCheck); const startDateObj = new Date(startDate); const endDateObj = new Date(endDate); - // console.log(dateToCheckObj >= startDateObj && dateToCheckObj <= endDateObj) - return dateToCheckObj >= startDateObj && dateToCheckObj <= endDateObj; + + return ((!startDate || startDate === "Invalid Date") || dateToCheckObj >= startDateObj) && ((!endDate || endDate === "Invalid Date") || dateToCheckObj <= endDateObj); } const handleTabChange = useCallback>( @@ -286,10 +285,10 @@ const InvoiceSearch: React.FC = ({ issuedInvoice, receivedInvoice }) => { setFilteredIssuedInvoices( issuedInvoice.filter( (s) => - (isDateInRange(s.invoiceDate, query.invoiceDate ?? undefined, query.invoiceDateTo ?? undefined)) || - (isDateInRange(s.dueDate, query.dueDate ?? undefined, query.dueDateTo ?? undefined)) || - (s.invoiceNo === query.invoiceNo) || - (s.projectCode === query.projectCode) + (isDateInRange(s.invoiceDate, query.invoiceDate ?? undefined, query.invoiceDateTo ?? undefined)) && + (isDateInRange(s.dueDate, query.dueDate ?? undefined, query.dueDateTo ?? undefined)) && + (s.invoiceNo.toLowerCase().includes(query.invoiceNo.toLowerCase())) && + (s.projectCode.toLowerCase().includes(query.projectCode.toLowerCase())) ), ); }} @@ -305,9 +304,9 @@ const InvoiceSearch: React.FC = ({ issuedInvoice, receivedInvoice }) => { setFilteredReceivedInvoices( receivedInvoice.filter( (s) => - (isDateInRange(s.receiptDate, query.receiptDate ?? undefined, query.receiptDateTo ?? undefined)) || - (s.invoiceNo === query.invoiceNo) || - (s.projectCode === query.projectCode) + (isDateInRange(s.receiptDate, query.receiptDate ?? undefined, query.receiptDateTo ?? undefined)) && + (s.invoiceNo.toLowerCase().includes(query.invoiceNo.toLowerCase())) && + (s.projectCode.toLowerCase().includes(query.projectCode.toLowerCase())) ), ); }}