diff --git a/src/hooks/useListSearch.tsx b/src/hooks/useListSearch.tsx index ff3ddb85..9ed5abfb 100644 --- a/src/hooks/useListSearch.tsx +++ b/src/hooks/useListSearch.tsx @@ -27,6 +27,10 @@ export function useListSearch(fields: string[][], rows: T[]) { if (typeof value === "string") { return value.toLowerCase().includes(searchText); } + + if (typeof value === "number") { + return (value as Number).toString().includes(searchText); + } }); }); }, [fields, rows, text]); diff --git a/src/pages/payment-record.tsx b/src/pages/payment-record.tsx index aa5ba11c..3eae246a 100644 --- a/src/pages/payment-record.tsx +++ b/src/pages/payment-record.tsx @@ -390,7 +390,7 @@ interface PaypalPaymentWithUserData extends PaypalPayment { email: string; } -const paypalFilterRows = [["email"], ["name"]]; +const paypalFilterRows = [["email"], ["name"], ["orderId"], ["value"]]; export default function PaymentRecord() { const [selectedCorporateUser, setSelectedCorporateUser] = useState(); const [selectedAgentUser, setSelectedAgentUser] = useState(); @@ -414,6 +414,14 @@ export default function PaymentRecord() { const [endDate, setEndDate] = useState( moment().endOf("day").toDate() ); + + const [startDatePaymob, setStartDatePaymob] = useState( + moment("01/01/2023").toDate() + ); + const [endDatePaymob, setEndDatePaymob] = useState( + moment().endOf("day").toDate() + ); + const [paid, setPaid] = useState(IS_PAID_OPTIONS[0].value); const [commissionTransfer, setCommissionTransfer] = useState( IS_FILE_SUBMITTED_OPTIONS[0].value @@ -866,11 +874,16 @@ export default function PaymentRecord() { const updatedPaypalPayments = useMemo( () => - paypalPayments.map((p) => { - const user = users.find((x) => x.id === p.userId) as User; - return { ...p, name: user?.name, email: user?.email }; - }), - [paypalPayments, users] + paypalPayments + .filter((p) => { + const date = moment(p.createdAt); + return date.isAfter(startDatePaymob) && date.isBefore(endDatePaymob); + }) + .map((p) => { + const user = users.find((x) => x.id === p.userId) as User; + return { ...p, name: user?.name, email: user?.email }; + }), + [paypalPayments, users, startDatePaymob, endDatePaymob] ); const paypalColumns = [ @@ -1469,6 +1482,44 @@ export default function PaymentRecord() { {renderTable(table as Table)} +
+
+ + + moment(date).isSameOrBefore(moment(new Date())) + } + onChange={([initialDate, finalDate]: [Date, Date]) => { + setStartDatePaymob( + initialDate ?? moment("01/01/2023").toDate() + ); + if (finalDate) { + // basicly selecting a final day works as if I'm selecting the first + // minute of that day. this way it covers the whole day + setEndDatePaymob( + moment(finalDate).endOf("day").toDate() + ); + return; + } + setEndDatePaymob(null); + }} + /> +
+
{renderSearch()} {renderTable(paypalTable as Table)}