From 957400cb823f4623f091087d783d1438fc19bfa2 Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Sun, 7 Jan 2024 15:22:46 +0000 Subject: [PATCH] Payment Record: Created Filters for Corporate and Country Manager that has submitted file in payment records --- src/pages/payment-record.tsx | 108 ++++++++++++++++++++++++++++++++--- 1 file changed, 101 insertions(+), 7 deletions(-) diff --git a/src/pages/payment-record.tsx b/src/pages/payment-record.tsx index fade89c2..81b1fed8 100644 --- a/src/pages/payment-record.tsx +++ b/src/pages/payment-record.tsx @@ -239,6 +239,21 @@ const IS_PAID_OPTIONS = [ }, ]; +const IS_FILE_SUBMITTED_OPTIONS = [ + { + value: null, + label: "All", + }, + { + value: false, + label: "Submitted", + }, + { + value: true, + label: "Not Submitted", + }, +]; + const CSV_WHITELISTED_KEYS = ["corporateId", "corporate", "date", "amount", "agent", "agentCommission", "agentValue", "isPaid"]; interface SimpleCSVColumn { @@ -263,6 +278,8 @@ export default function PaymentRecord() { const [startDate, setStartDate] = useState(moment("01/01/2023").toDate()); const [endDate, setEndDate] = useState(moment().endOf("day").toDate()); const [paid, setPaid] = useState(IS_PAID_OPTIONS[0].value); + const [commissionTransfer, setCommissionTransfer] = useState(IS_FILE_SUBMITTED_OPTIONS[0].value); + const [corporateTransfer, setCorporateTransfer] = useState(IS_FILE_SUBMITTED_OPTIONS[0].value); const reload = () => { reloadUsers(); reloadPayment(); @@ -297,8 +314,6 @@ export default function PaymentRecord() { ]); }, [agent]); - useEffect(() => console.log(filters), [filters]); - useEffect(() => { setFilters((prev) => [ ...prev.filter((x) => x.id !== "corporate-filter"), @@ -313,6 +328,24 @@ export default function PaymentRecord() { ]); }, [paid]); + useEffect(() => { + setFilters((prev) => [ + ...prev.filter((x) => x.id !== "commissionTransfer"), + ...(typeof commissionTransfer !== "boolean" + ? [] + : [{id: "commissionTransfer", filter: (p: Payment) => !p.commissionTransfer === commissionTransfer}]), + ]); + }, [commissionTransfer]); + + useEffect(() => { + setFilters((prev) => [ + ...prev.filter((x) => x.id !== "corporateTransfer"), + ...(typeof corporateTransfer !== "boolean" + ? [] + : [{id: "corporateTransfer", filter: (p: Payment) => !p.corporateTransfer === corporateTransfer}]), + ]); + }, [corporateTransfer]); + const updatePayment = (payment: Payment, key: string, value: any) => { axios .patch(`api/payments/${payment.id}`, {...payment, [key]: value}) @@ -745,7 +778,7 @@ export default function PaymentRecord() { )} -
+
e.value === commissionTransfer)} + onChange={(value) => { + if (value) return setCommissionTransfer(value.value); + setCommissionTransfer(null); + }} + styles={{ + control: (styles) => ({ + ...styles, + paddingLeft: "4px", + border: "none", + outline: "none", + ":focus": { + outline: "none", + }, + }), + option: (styles, state) => ({ + ...styles, + backgroundColor: state.isFocused ? "#D5D9F0" : state.isSelected ? "#7872BF" : "white", + color: state.isFocused ? "black" : styles.color, + }), + }} + /> +
+
+ +