@bigbinary/neeto-payments-frontend 1.5.0-beta1 → 1.6.0-beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -95
- package/app/javascript/src/translations/en.json +0 -15
- package/dist/AccountsDashboard.js +477 -0
- package/dist/AccountsDashboard.js.map +1 -0
- package/dist/Dashboard.js +598 -0
- package/dist/Dashboard.js.map +1 -0
- package/dist/ExportModal-85725c35.js +645 -0
- package/dist/ExportModal-85725c35.js.map +1 -0
- package/dist/IdentifierButton-73cadb18.js +20 -0
- package/dist/IdentifierButton-73cadb18.js.map +1 -0
- package/dist/PaymentKindRestrictionAlert.js +34 -0
- package/dist/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/PayoutsDashboard.js +503 -0
- package/dist/PayoutsDashboard.js.map +1 -0
- package/dist/PayoutsPage.js +185 -0
- package/dist/PayoutsPage.js.map +1 -0
- package/dist/RazorpayDashboard.js +251 -0
- package/dist/RazorpayDashboard.js.map +1 -0
- package/dist/RazorpayPaymentButton.js +111 -0
- package/dist/RazorpayPaymentButton.js.map +1 -0
- package/dist/StripeConnect.js +2071 -0
- package/dist/StripeConnect.js.map +1 -0
- package/dist/U2TDTBMY-c464dc98.js +12081 -0
- package/dist/U2TDTBMY-c464dc98.js.map +1 -0
- package/dist/UpiConnect.js +148 -0
- package/dist/UpiConnect.js.map +1 -0
- package/dist/UpiMarkAsPaidButton.js +42 -0
- package/dist/UpiMarkAsPaidButton.js.map +1 -0
- package/dist/UpiPayment.js +94 -0
- package/dist/UpiPayment.js.map +1 -0
- package/dist/V2PaymentsDashboard.js +302 -0
- package/dist/V2PaymentsDashboard.js.map +1 -0
- package/dist/buildStripeTransactionLink.js +6 -0
- package/dist/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/AccountsDashboard.js +494 -0
- package/dist/cjs/AccountsDashboard.js.map +1 -0
- package/dist/cjs/Dashboard.js +613 -0
- package/dist/cjs/Dashboard.js.map +1 -0
- package/dist/cjs/ExportModal-20f368a1.js +669 -0
- package/dist/cjs/ExportModal-20f368a1.js.map +1 -0
- package/dist/cjs/IdentifierButton-40b5459d.js +27 -0
- package/dist/cjs/IdentifierButton-40b5459d.js.map +1 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js +41 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/cjs/PayoutsDashboard.js +519 -0
- package/dist/cjs/PayoutsDashboard.js.map +1 -0
- package/dist/cjs/PayoutsPage.js +194 -0
- package/dist/cjs/PayoutsPage.js.map +1 -0
- package/dist/cjs/RazorpayDashboard.js +262 -0
- package/dist/cjs/RazorpayDashboard.js.map +1 -0
- package/dist/cjs/RazorpayPaymentButton.js +118 -0
- package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
- package/dist/cjs/StripeConnect.js +2106 -0
- package/dist/cjs/StripeConnect.js.map +1 -0
- package/dist/cjs/U2TDTBMY-e2fad970.js +12083 -0
- package/dist/cjs/U2TDTBMY-e2fad970.js.map +1 -0
- package/dist/cjs/UpiConnect.js +181 -0
- package/dist/cjs/UpiConnect.js.map +1 -0
- package/dist/cjs/UpiMarkAsPaidButton.js +49 -0
- package/dist/cjs/UpiMarkAsPaidButton.js.map +1 -0
- package/dist/cjs/UpiPayment.js +124 -0
- package/dist/cjs/UpiPayment.js.map +1 -0
- package/dist/cjs/V2PaymentsDashboard.js +313 -0
- package/dist/cjs/V2PaymentsDashboard.js.map +1 -0
- package/dist/cjs/buildStripeTransactionLink.js +11 -0
- package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/constants.js +495 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/exportChannel-7bd80952.js +39 -0
- package/dist/cjs/exportChannel-7bd80952.js.map +1 -0
- package/dist/cjs/extends-1b35a664.js +19 -0
- package/dist/cjs/extends-1b35a664.js.map +1 -0
- package/dist/cjs/index-b097dce8.js +41 -0
- package/dist/cjs/index-b097dce8.js.map +1 -0
- package/dist/cjs/index-b7badf96.js +88 -0
- package/dist/cjs/index-b7badf96.js.map +1 -0
- package/dist/cjs/index.js +100 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/mutation-ed7b84fc.js +235 -0
- package/dist/cjs/mutation-ed7b84fc.js.map +1 -0
- package/dist/cjs/queryConstants-de21eed5.js +944 -0
- package/dist/cjs/queryConstants-de21eed5.js.map +1 -0
- package/dist/cjs/renderFunctions-398d3fb5.js +3719 -0
- package/dist/cjs/renderFunctions-398d3fb5.js.map +1 -0
- package/dist/cjs/stripe.esm-4218a1e9.js.map +1 -0
- package/dist/cjs/useConnectApi-f0665633.js +2189 -0
- package/dist/cjs/useConnectApi-f0665633.js.map +1 -0
- package/dist/cjs/useFiltersAndPagination-312c0331.js +277 -0
- package/dist/cjs/useFiltersAndPagination-312c0331.js.map +1 -0
- package/dist/cjs/useMutation-4c7cdbe1.js +154 -0
- package/dist/cjs/useMutation-4c7cdbe1.js.map +1 -0
- package/dist/cjs/usePaymentApi-ae70e5df.js +48 -0
- package/dist/cjs/usePaymentApi-ae70e5df.js.map +1 -0
- package/dist/cjs/usePaymentsApi-815be3da.js +36 -0
- package/dist/cjs/usePaymentsApi-815be3da.js.map +1 -0
- package/dist/cjs/usePlatformApi-830827fa.js +116 -0
- package/dist/cjs/usePlatformApi-830827fa.js.map +1 -0
- package/dist/cjs/useRazorpayPayment.js +91 -0
- package/dist/cjs/useRazorpayPayment.js.map +1 -0
- package/dist/cjs/useStripePromise.js +27 -0
- package/dist/cjs/useStripePromise.js.map +1 -0
- package/dist/cjs/utils-7eba34a4.js +664 -0
- package/dist/cjs/utils-7eba34a4.js.map +1 -0
- package/dist/constants.js +480 -0
- package/dist/constants.js.map +1 -0
- package/dist/exportChannel-250e6f14.js +32 -0
- package/dist/exportChannel-250e6f14.js.map +1 -0
- package/dist/extends-093996c9.js +17 -0
- package/dist/extends-093996c9.js.map +1 -0
- package/dist/index-1aedc364.js +80 -0
- package/dist/index-1aedc364.js.map +1 -0
- package/dist/index-48f8b281.js +32 -0
- package/dist/index-48f8b281.js.map +1 -0
- package/dist/index.js +77 -12558
- package/dist/index.js.map +1 -1
- package/dist/mutation-286611ef.js +232 -0
- package/dist/mutation-286611ef.js.map +1 -0
- package/dist/queryConstants-765c8816.js +920 -0
- package/dist/queryConstants-765c8816.js.map +1 -0
- package/dist/renderFunctions-97b121a4.js +3633 -0
- package/dist/renderFunctions-97b121a4.js.map +1 -0
- package/dist/useConnectApi-87335bf6.js +2174 -0
- package/dist/useConnectApi-87335bf6.js.map +1 -0
- package/dist/useFiltersAndPagination-2ab7bc8f.js +262 -0
- package/dist/useFiltersAndPagination-2ab7bc8f.js.map +1 -0
- package/dist/useMutation-8d67f853.js +132 -0
- package/dist/useMutation-8d67f853.js.map +1 -0
- package/dist/usePaymentApi-12737871.js +41 -0
- package/dist/usePaymentApi-12737871.js.map +1 -0
- package/dist/usePaymentsApi-a801ab15.js +29 -0
- package/dist/usePaymentsApi-a801ab15.js.map +1 -0
- package/dist/usePlatformApi-8adc2a50.js +104 -0
- package/dist/usePlatformApi-8adc2a50.js.map +1 -0
- package/dist/useRazorpayPayment.js +89 -0
- package/dist/useRazorpayPayment.js.map +1 -0
- package/dist/useStripePromise.js +25 -0
- package/dist/useStripePromise.js.map +1 -0
- package/dist/utils-e29db9c9.js +614 -0
- package/dist/utils-e29db9c9.js.map +1 -0
- package/package.json +18 -10
- package/types/AccountsDashboard.d.ts +3 -0
- package/types/Dashboard.d.ts +15 -0
- package/types/PaymentKindRestrictionAlert.d.ts +11 -0
- package/types/PayoutsDashboard.d.ts +10 -0
- package/types/PayoutsPage.d.ts +11 -0
- package/types/StripeConnect.d.ts +13 -0
- package/types/buildStripeTransactionLink.d.ts +6 -0
- package/types/useStripePromise.d.ts +5 -0
- package/types.d.ts +8 -75
- package/dist/index-042b6907.js +0 -6
- package/dist/index-042b6907.js.map +0 -1
- package/dist/index-87824935.js +0 -4
- package/dist/index-87824935.js.map +0 -1
- package/dist/index.cjs.js +0 -12633
- package/dist/index.cjs.js.map +0 -1
- package/dist/stripe.esm-4218a1e9.js.map +0 -1
- /package/dist/{stripe.esm-4218a1e9.js → cjs/stripe.esm-4218a1e9.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExportModal-85725c35.js","sources":["../app/javascript/src/apis/razorpay/exports.js","../app/javascript/src/hooks/reactQuery/razorpay/useExportsApi.js","../app/javascript/src/components/Dashboard/utils/renderFunctions.jsx","../app/javascript/src/components/Dashboard/utils/columns.js","../app/javascript/src/components/Dashboard/constants/columns.js","../app/javascript/src/components/Dashboard/utils/index.js","../app/javascript/src/components/Dashboard/ExportModal.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst exportData = payload =>\n axios.post(`${BASE_URL}/api/v1/razorpay/exports`, payload);\n\nconst exportsApi = { exportData };\n\nexport default exportsApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport exportsApi from \"apis/razorpay/exports\";\n\nconst useExportRazorpayData = () =>\n useMutation({ mutationFn: exportsApi.exportData });\n\nexport { useExportRazorpayData };\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { Button, Tag, Tooltip, Typography } from \"neetoui\";\nimport { curry } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport {\n buildStripeAccountLink,\n buildStripeRefundLink,\n buildStripeSplitLink,\n buildStripeTransactionLink,\n buildStripeTransferLink,\n} from \"utils\";\nimport { renderDate } from \"utils/renderFunctions\";\n\nimport IdentifierButton from \"../IdentifierButton\";\n\nexport const renderIdentifier = ({\n identifier = \"\",\n live: isLive = false,\n} = {}) => (\n <CopyButtonWrapper content={identifier}>\n <IdentifierButton\n href={buildStripeTransactionLink(identifier, isLive)}\n label={identifier}\n />\n </CopyButtonWrapper>\n);\n\nexport const renderKind = curry((type, kind) => (\n <Tooltip\n content={t(`neetoPayments.tooltipContent.${type}.${kind}`)}\n position=\"top\"\n >\n <div className=\"w-fit\">\n <Tag\n label={t(`neetoPayments.tagLabels.${type}.${kind}`)}\n style=\"secondary\"\n />\n </div>\n </Tooltip>\n));\n\nexport const renderSplitIdentifier = ({ identifier, live: isLive }) =>\n identifier ? (\n <CopyButtonWrapper content={identifier}>\n <IdentifierButton\n href={buildStripeSplitLink(identifier, isLive)}\n label={identifier}\n />\n </CopyButtonWrapper>\n ) : (\n <Tooltip\n content={t(\"neetoPayments.tooltipContent.identifierUnavailable\")}\n position=\"top\"\n >\n <div className=\"text-center\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.common.notAvailable\")}\n </Typography>\n </div>\n </Tooltip>\n );\n\nexport const renderTransferIdentifier = ({\n identifier = \"\",\n account = {},\n live: isLive = false,\n} = {}) =>\n identifier ? (\n <CopyButtonWrapper content={identifier}>\n <IdentifierButton\n label={identifier}\n href={\n identifier.startsWith(\"py\")\n ? buildStripeTransferLink(identifier, account?.identifier, isLive)\n : buildStripeTransactionLink(identifier, isLive)\n }\n />\n </CopyButtonWrapper>\n ) : (\n <div className=\"text-center\">\n <Tooltip\n position=\"top\"\n content={t(\n \"neetoPayments.tooltipContent.connectedTransactionUnavailable\"\n )}\n >\n <Typography style=\"body2\">\n {t(\"neetoPayments.common.notAvailable\")}\n </Typography>\n </Tooltip>\n </div>\n );\n\nexport const renderPlatformIdentifier = curry((setPaneStatus, data) => (\n <CopyButtonWrapper content={data?.identifier}>\n <Button\n label={data?.identifier}\n size=\"small\"\n style=\"link\"\n onClick={() => setPaneStatus({ transactionId: data?.id, isOpen: true })}\n />\n </CopyButtonWrapper>\n));\n\nexport const renderAccountIdentifier = ({\n identifier = \"\",\n live: isLive = false,\n}) => (\n <CopyButtonWrapper content={identifier}>\n <IdentifierButton\n href={buildStripeAccountLink(identifier, isLive)}\n label={identifier}\n />\n </CopyButtonWrapper>\n);\n\nexport const renderSplitDate = date =>\n isPresent(date) ? (\n renderDate(date)\n ) : (\n <Tooltip\n content={t(\"neetoPayments.tooltipContent.dateUnavailable\")}\n position=\"top\"\n >\n <div className=\"text-center\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.common.notAvailable\")}\n </Typography>\n </div>\n </Tooltip>\n );\n\nexport const renderRefundIdentifier = ({\n identifier = \"\",\n live: isLive = false,\n} = {}) => (\n <CopyButtonWrapper content={identifier}>\n <IdentifierButton\n href={buildStripeRefundLink(identifier, isLive)}\n label={identifier}\n />\n </CopyButtonWrapper>\n);\n","import { t } from \"i18next\";\n\nimport { renderPlatformIdentifier } from \"./renderFunctions\";\n\nexport const generateSpecialColumns = ({ setPaneStatus }) => [\n {\n title: t(\"neetoPayments.common.platformTransaction\"),\n dataIndex: \"paymentIntent\",\n key: \"paymentIntent\",\n width: \"290px\",\n position: 9,\n render: renderPlatformIdentifier(setPaneStatus),\n },\n];\n","import { t } from \"i18next\";\n\nimport { renderDate, renderStatus } from \"utils/renderFunctions\";\n\nimport {\n renderAccountIdentifier,\n renderIdentifier,\n renderRefundIdentifier,\n renderSplitDate,\n renderSplitIdentifier,\n renderTransferIdentifier,\n} from \"../utils/renderFunctions\";\n\nexport const COLUMNS = [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: \"72px\",\n position: 0,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: \"300px\",\n render: renderIdentifier,\n position: 1,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"splitIdentifier\",\n width: \"300px\",\n render: renderSplitIdentifier,\n position: 1,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"refundIdentifier\",\n width: \"300px\",\n render: renderRefundIdentifier,\n position: 1,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"transferIdentifier\",\n width: \"300px\",\n render: renderTransferIdentifier,\n position: 1,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: \"150px\",\n render: renderStatus(\"transaction\"),\n sorter: true,\n position: 2,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.amount\"),\n dataIndex: \"amount\",\n key: \"amount\",\n width: \"150px\",\n sorter: true,\n position: 3,\n },\n {\n title: t(\"neetoPayments.common.platformSplitAmount\"),\n dataIndex: \"platformSplitAmount\",\n key: \"platformSplitAmount\",\n width: \"280px\",\n position: 3,\n },\n {\n title: t(\"neetoPayments.common.paymentTime\"),\n dataIndex: \"paymentAt\",\n key: \"paymentTime\",\n width: \"220px\",\n render: renderDate,\n sorter: true,\n position: 5,\n },\n {\n title: t(\"neetoPayments.common.refundTime\"),\n dataIndex: \"refunds\",\n key: \"refundsTime\",\n width: \"220px\",\n render: (refunds = []) => renderDate(refunds[0]?.updatedAt),\n position: 6,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n width: \"150px\",\n key: \"refundStatus\",\n render: renderStatus(\"refund\"),\n sorter: true,\n position: 3,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.paymentAmount\"),\n dataIndex: \"paymentAmount\",\n key: \"paymentAmount\",\n width: \"240px\",\n sorter: true,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.refundAmount\"),\n dataIndex: \"amount\",\n key: \"refundAmount\",\n width: \"200px\",\n sorter: true,\n position: 3,\n },\n {\n title: t(\"neetoPayments.common.refundTime\"),\n dataIndex: \"updatedAt\",\n key: \"refundTime\",\n width: \"220px\",\n render: renderDate,\n sorter: true,\n position: 9,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"splitStatus\",\n width: \"150px\",\n render: renderStatus(\"split\"),\n sorter: true,\n position: 3,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.transferTime\"),\n key: \"splitTime\",\n dataIndex: \"paymentAt\",\n width: \"220px\",\n render: renderSplitDate,\n sorter: true,\n position: 7,\n },\n {\n title: t(\"neetoPayments.common.paymentIdentifier\"),\n key: \"refundPaymentIdentifier\",\n dataIndex: \"transaction\",\n width: \"300px\",\n render: renderTransferIdentifier,\n position: 8,\n },\n {\n title: t(\"neetoPayments.common.connectedTransaction\"),\n dataIndex: \"connectedPayment\",\n key: \"connectedPayment\",\n width: \"300px\",\n render: renderTransferIdentifier,\n position: 9,\n },\n {\n title: t(\"neetoPayments.common.accountIdentifier\"),\n dataIndex: \"account\",\n key: \"destinationAccount\",\n width: \"160px\",\n render: renderAccountIdentifier,\n position: 10,\n },\n];\n\nexport const COLUMN_METADATA = {\n identifier: {\n isHidden: { split: true, transfer: true, refund: true },\n },\n amount: { isHidden: { refund: true } },\n paymentTime: { isHidden: { refund: true, split: true } },\n splitIdentifier: {\n isHidden: {\n platform: true,\n refund: true,\n connected: true,\n transfer: true,\n pending: true,\n },\n },\n transferIdentifier: {\n isHidden: {\n platform: true,\n split: true,\n connected: true,\n refund: true,\n },\n },\n platformSplitAmount: {\n isHidden: {\n platform: true,\n connected: true,\n transfer: true,\n refund: true,\n },\n },\n status: {\n isHidden: {\n refund: true,\n split: true,\n declined: true,\n pending: true,\n successful: true,\n refunded: true,\n },\n },\n refundStatus: {\n isHidden: {\n platform: true,\n split: true,\n connected: true,\n transfer: true,\n failed: true,\n pending: true,\n successful: true,\n },\n },\n refundAmount: {\n isHidden: {\n platform: true,\n split: true,\n connected: true,\n transfer: true,\n },\n },\n refundTime: {\n isHidden: {\n platform: true,\n split: true,\n connected: true,\n transfer: true,\n },\n },\n splitStatus: {\n isHidden: {\n platform: true,\n refund: true,\n connected: true,\n transfer: true,\n declined: true,\n pending: true,\n successful: true,\n cancelled: true,\n },\n },\n splitTime: {\n isHidden: {\n platform: true,\n refund: true,\n connected: true,\n transfer: true,\n },\n },\n paymentIntent: {\n isHidden: {\n platform: true,\n refund: true,\n connected: true,\n transfer: true,\n },\n },\n connectedPayment: {\n isHidden: {\n platform: true,\n refund: true,\n connected: true,\n transfer: true,\n pending: true,\n },\n },\n refundPaymentIdentifier: {\n isHidden: {\n platform: true,\n split: true,\n connected: true,\n transfer: true,\n },\n },\n refundIdentifier: {\n isHidden: {\n platform: true,\n split: true,\n connected: true,\n transfer: true,\n },\n },\n destinationAccount: {\n isHidden: {\n platform: true,\n refund: true,\n connected: true,\n transfer: true,\n },\n },\n paymentAmount: {\n isHidden: {\n platform: true,\n split: true,\n connected: true,\n transfer: true,\n },\n },\n refundsTime: {\n isHidden: {\n split: true,\n all: true,\n declined: true,\n pending: true,\n successful: true,\n },\n },\n};\n\nexport const FILTER_COLUMNS = [\n {\n key: \"amount\",\n label: t(\"neetoPayments.common.amount\"),\n node: \"amount\",\n type: \"decimal\",\n showRuleSelector: true,\n },\n {\n key: \"payment_amount\",\n label: t(\"neetoPayments.common.paymentAmount\"),\n node: \"payment_intent.amount\",\n model: \"NeetoPaymentsEngine::Stripe::Transaction\",\n type: \"decimal\",\n showRuleSelector: true,\n },\n {\n key: \"refund_amount\",\n label: t(\"neetoPayments.common.refundAmount\"),\n node: \"amount\",\n type: \"decimal\",\n showRuleSelector: true,\n },\n {\n key: \"payment_time\",\n label: t(\"neetoPayments.common.paymentTime\"),\n node: \"payment_at\",\n type: \"date\",\n showRuleSelector: true,\n },\n {\n key: \"refund_time\",\n label: t(\"neetoPayments.common.refundTime\"),\n node: \"updated_at\",\n type: \"date\",\n showRuleSelector: true,\n },\n {\n key: \"split_time\",\n label: t(\"neetoPayments.common.transferTime\"),\n node: \"payment_at\",\n type: \"date\",\n showRuleSelector: true,\n },\n];\n","import { filterBy, snakeToCamelCase } from \"neetocist\";\nimport { map, prop, equals, concat, evolve, sortBy } from \"ramda\";\n\nimport { generateSpecialColumns } from \"./columns\";\n\nimport { APPENDABLE_SEARCH_PROPS, KIND } from \"../constants\";\nimport { FILTER_COLUMNS, COLUMNS, COLUMN_METADATA } from \"../constants/columns\";\n\nexport const isPlatformKind = equals(KIND.platform);\nexport const isConnectedKind = equals(KIND.connected);\nexport const isSplitKind = equals(KIND.split);\nexport const isTransferKind = equals(KIND.transfer);\nexport const isRefundKind = equals(KIND.refund);\n\nexport const buildPaymentColumns = ({\n tab,\n kind,\n payableEntityColumns = [],\n specialColumnArguments = {},\n}) =>\n sortBy(\n prop(\"position\"),\n COLUMNS.concat(generateSpecialColumns(specialColumnArguments))\n .filter(\n ({ key }) =>\n !(\n COLUMN_METADATA[key]?.isHidden?.[kind] ||\n COLUMN_METADATA[key]?.isHidden?.[tab]\n )\n )\n .concat(\n payableEntityColumns.filter(\n ({ isHidden }) => !(isHidden?.[tab] || isHidden?.[kind])\n )\n )\n );\n\nexport const buildFilterColumns = (tab, kind, payableEntityColumns = []) => {\n const filterColumns = FILTER_COLUMNS.filter(\n ({ key }) => !COLUMN_METADATA[snakeToCamelCase(key)]?.isHidden?.[kind]\n );\n\n return concat(\n filterColumns,\n map(\n prop(\"filterProps\"),\n filterBy(\n {\n isFilterable: true,\n isHidden: isHidden => !(isHidden?.[tab] || isHidden?.[kind]),\n },\n payableEntityColumns\n )\n )\n );\n};\n\nexport const processResponse = (data, kind) => {\n if (isSplitKind(kind)) return data?.splits;\n\n if (isRefundKind(kind)) return data?.refunds;\n\n return data?.transactions;\n};\n\nexport const modifySearchProps = ({ searchProps, kind }) =>\n evolve(\n {\n node: concat(APPENDABLE_SEARCH_PROPS[kind]?.node),\n model: concat(APPENDABLE_SEARCH_PROPS[kind]?.model),\n },\n searchProps\n );\n","import React, { useEffect, useMemo, useState } from \"react\";\n\nimport { Download } from \"neetoicons\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportRazorpayData } from \"hooks/reactQuery/razorpay/useExportsApi\";\nimport { useExportData } from \"hooks/reactQuery/stripe/useExportsApi\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nimport { isTransferKind } from \"./utils\";\n\nconst ExportModal = ({\n showExportModal,\n setShowExportModal,\n kind,\n tab,\n filters,\n holdableId,\n sortProperties = {},\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { mutate: exportRazorpayPaymentsCsv, isLoading: isRazorpayLoading } =\n useExportRazorpayData();\n const { mutate: exportCsv, isLoading } = useExportData();\n const isFileLoading = isLoading || isGenerating || isRazorpayLoading;\n\n const token = useMemo(() => `${kind}-report-${uuidV4()}`, [kind]);\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n const handleGenerateClick = () => {\n const payload = {\n kind: isTransferKind(kind) ? \"connected\" : kind,\n token,\n filters,\n tab,\n holdableId,\n ...sortProperties,\n };\n\n if (kind === \"razorpayPayment\") {\n return exportRazorpayPaymentsCsv(payload, {\n onSuccess: () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n },\n });\n }\n\n return exportCsv(payload, {\n onSuccess: () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n },\n });\n };\n\n useEffect(() => {\n if (showExportModal) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [showExportModal, token]);\n\n const onClose = () => setShowExportModal(false);\n\n return (\n <Modal {...{ onClose }} isOpen={showExportModal}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(`neetoPayments.export.title.${kind}`)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n {isFileLoading ? (\n <Typography style=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography style=\"body2\">\n {downloadUrl\n ? t(\"neetoPayments.export.fileReady\")\n : t(`neetoPayments.export.download.${kind}`)}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n {downloadUrl ? (\n <Button\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.export\")}\n loading={isFileLoading}\n onClick={handleGenerateClick}\n />\n </>\n )}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ExportModal;\n"],"names":["exportData","payload","axios","post","BASE_URL","exportsApi","useExportRazorpayData","useMutation","mutationFn","renderIdentifier","identifier","live","isLive","arguments","length","undefined","React","createElement","CopyButtonWrapper","content","IdentifierButton","href","buildStripeTransactionLink","label","curry","type","kind","Tooltip","t","position","className","Tag","style","renderSplitIdentifier","_ref","buildStripeSplitLink","Typography","renderTransferIdentifier","account","startsWith","buildStripeTransferLink","renderPlatformIdentifier","setPaneStatus","data","Button","size","onClick","transactionId","id","isOpen","renderAccountIdentifier","_ref2","buildStripeAccountLink","renderSplitDate","date","isPresent","renderDate","renderRefundIdentifier","buildStripeRefundLink","generateSpecialColumns","title","dataIndex","key","width","render","COLUMNS","isHidable","renderStatus","sorter","refunds","updatedAt","COLUMN_METADATA","isHidden","split","transfer","refund","amount","paymentTime","splitIdentifier","platform","connected","pending","transferIdentifier","platformSplitAmount","status","declined","successful","refunded","refundStatus","failed","refundAmount","refundTime","splitStatus","cancelled","splitTime","paymentIntent","connectedPayment","refundPaymentIdentifier","refundIdentifier","destinationAccount","paymentAmount","refundsTime","all","FILTER_COLUMNS","node","showRuleSelector","model","isPlatformKind","equals","KIND","isConnectedKind","isSplitKind","isTransferKind","isRefundKind","buildPaymentColumns","tab","payableEntityColumns","specialColumnArguments","sortBy","prop","concat","filter","_ref3","buildFilterColumns","filterColumns","_ref4","snakeToCamelCase","map","filterBy","isFilterable","processResponse","splits","transactions","modifySearchProps","_ref5","searchProps","evolve","APPENDABLE_SEARCH_PROPS","ExportModal","showExportModal","setShowExportModal","filters","holdableId","sortProperties","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","mutate","exportRazorpayPaymentsCsv","isLoading","isRazorpayLoading","exportCsv","useExportData","isFileLoading","token","useMemo","uuidV4","receivedCallback","download_url","handleGenerateClick","onSuccess","useEffect","channel","exportChannel","disconnected","onClose","Modal","Header","Body","Footer","icon","Download","Fragment","disabled","loading"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import Button from '@bigbinary/neetoui/Button';
|
|
3
|
+
|
|
4
|
+
const IdentifierButton = _ref => {
|
|
5
|
+
let {
|
|
6
|
+
href,
|
|
7
|
+
label
|
|
8
|
+
} = _ref;
|
|
9
|
+
return /*#__PURE__*/React__default.createElement(Button, {
|
|
10
|
+
href,
|
|
11
|
+
label,
|
|
12
|
+
size: "small",
|
|
13
|
+
style: "link",
|
|
14
|
+
target: "_blank"
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
var IdentifierButton$1 = /*#__PURE__*/React__default.memo(IdentifierButton);
|
|
18
|
+
|
|
19
|
+
export { IdentifierButton$1 as I };
|
|
20
|
+
//# sourceMappingURL=IdentifierButton-73cadb18.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdentifierButton-73cadb18.js","sources":["../app/javascript/src/components/Dashboard/IdentifierButton.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { Button } from \"neetoui\";\n\nconst IdentifierButton = ({ href, label }) => (\n <Button {...{ href, label }} size=\"small\" style=\"link\" target=\"_blank\" />\n);\n\nexport default React.memo(IdentifierButton);\n"],"names":["IdentifierButton","_ref","href","label","React","createElement","Button","size","style","target","memo"],"mappings":";;;AAIA,MAAMA,gBAAgB,GAAGC,IAAA,IAAA;EAAA,IAAC;IAAEC,IAAI;AAAEC,IAAAA,KAAAA;AAAM,GAAC,GAAAF,IAAA,CAAA;AAAA,EAAA,oBACvCG,cAAA,CAAAC,aAAA,CAACC,MAAM,EAAA;IAAOJ,IAAI;IAAEC,KAAK;AAAII,IAAAA,IAAI,EAAC,OAAO;AAACC,IAAAA,KAAK,EAAC,MAAM;AAACC,IAAAA,MAAM,EAAC,QAAA;AAAQ,GAAE,CAAC,CAAA;AAAA,CAC1E,CAAA;AAED,yBAAA,aAAeL,cAAK,CAACM,IAAI,CAACV,gBAAgB,CAAC;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { _ as _extends } from './extends-093996c9.js';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { noop } from '@bigbinary/neeto-cist';
|
|
4
|
+
import Alert from '@bigbinary/neetoui/Alert';
|
|
5
|
+
import { t } from 'i18next';
|
|
6
|
+
|
|
7
|
+
const STRIPE_ALERT_PAYMENT_KIND_CONTENT = {
|
|
8
|
+
standard: {
|
|
9
|
+
title: t("neetoPayments.alert.stripe.connectRestrictionTitle"),
|
|
10
|
+
message: t("neetoPayments.alert.stripe.connectRestrictionMessage")
|
|
11
|
+
},
|
|
12
|
+
platform: {
|
|
13
|
+
title: t("neetoPayments.alert.stripePlatform.connectRestrictionTitle"),
|
|
14
|
+
message: t("neetoPayments.alert.stripePlatform.connectRestrictionMessage")
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const PaymentKindRestrictionAlert = _ref => {
|
|
19
|
+
let {
|
|
20
|
+
isOpen = false,
|
|
21
|
+
paymentKind = "standard",
|
|
22
|
+
onClose = noop,
|
|
23
|
+
...otherProps
|
|
24
|
+
} = _ref;
|
|
25
|
+
return /*#__PURE__*/React__default.createElement(Alert, _extends({
|
|
26
|
+
isOpen,
|
|
27
|
+
onClose,
|
|
28
|
+
message: STRIPE_ALERT_PAYMENT_KIND_CONTENT[paymentKind].message,
|
|
29
|
+
title: STRIPE_ALERT_PAYMENT_KIND_CONTENT[paymentKind].title
|
|
30
|
+
}, otherProps));
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { PaymentKindRestrictionAlert as default };
|
|
34
|
+
//# sourceMappingURL=PaymentKindRestrictionAlert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentKindRestrictionAlert.js","sources":["../app/javascript/src/components/PaymentKindRestrictionAlert/constants.js","../app/javascript/src/components/PaymentKindRestrictionAlert/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const STRIPE_ALERT_PAYMENT_KIND_CONTENT = {\n standard: {\n title: t(\"neetoPayments.alert.stripe.connectRestrictionTitle\"),\n message: t(\"neetoPayments.alert.stripe.connectRestrictionMessage\"),\n },\n platform: {\n title: t(\"neetoPayments.alert.stripePlatform.connectRestrictionTitle\"),\n message: t(\"neetoPayments.alert.stripePlatform.connectRestrictionMessage\"),\n },\n};\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Alert } from \"neetoui\";\n\nimport { STRIPE_ALERT_PAYMENT_KIND_CONTENT } from \"./constants\";\n\nconst PaymentKindRestrictionAlert = ({\n isOpen = false,\n paymentKind = \"standard\",\n onClose = noop,\n ...otherProps\n}) => (\n <Alert\n {...{ isOpen, onClose }}\n message={STRIPE_ALERT_PAYMENT_KIND_CONTENT[paymentKind].message}\n title={STRIPE_ALERT_PAYMENT_KIND_CONTENT[paymentKind].title}\n {...otherProps}\n />\n);\n\nexport default PaymentKindRestrictionAlert;\n"],"names":["STRIPE_ALERT_PAYMENT_KIND_CONTENT","standard","title","t","message","platform","PaymentKindRestrictionAlert","_ref","isOpen","paymentKind","onClose","noop","otherProps","React","createElement","Alert","_extends"],"mappings":";;;;;;AAEO,MAAMA,iCAAiC,GAAG;AAC/CC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,KAAK,EAAEC,CAAC,CAAC,oDAAoD,CAAC;IAC9DC,OAAO,EAAED,CAAC,CAAC,sDAAsD,CAAA;GAClE;AACDE,EAAAA,QAAQ,EAAE;AACRH,IAAAA,KAAK,EAAEC,CAAC,CAAC,4DAA4D,CAAC;IACtEC,OAAO,EAAED,CAAC,CAAC,8DAA8D,CAAA;AAC3E,GAAA;AACF,CAAC;;ACJKG,MAAAA,2BAA2B,GAAGC,IAAA,IAAA;EAAA,IAAC;AACnCC,IAAAA,MAAM,GAAG,KAAK;AACdC,IAAAA,WAAW,GAAG,UAAU;AACxBC,IAAAA,OAAO,GAAGC,IAAI;IACd,GAAGC,UAAAA;AACL,GAAC,GAAAL,IAAA,CAAA;AAAA,EAAA,oBACCM,cAAA,CAAAC,aAAA,CAACC,KAAK,EAAAC,QAAA,CAAA;IACER,MAAM;IAAEE,OAAO;AACrBN,IAAAA,OAAO,EAAEJ,iCAAiC,CAACS,WAAW,CAAC,CAACL,OAAQ;AAChEF,IAAAA,KAAK,EAAEF,iCAAiC,CAACS,WAAW,CAAC,CAACP,KAAAA;GAClDU,EAAAA,UAAU,CACf,CAAC,CAAA;AAAA;;;;"}
|
|
@@ -0,0 +1,503 @@
|
|
|
1
|
+
import React__default, { useState, useMemo, useEffect, useTransition } from 'react';
|
|
2
|
+
import { t } from 'i18next';
|
|
3
|
+
import { camelToSnakeCase, removeBy, snakeToCamelCase, isPresent } from '@bigbinary/neeto-cist';
|
|
4
|
+
import { useQueryParams, withTitle } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
5
|
+
import { buildFiltersFromURL, Bar } from '@bigbinary/neeto-filters-frontend';
|
|
6
|
+
import Header from '@bigbinary/neeto-molecules/Header';
|
|
7
|
+
import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
|
|
8
|
+
import Tab from '@bigbinary/neetoui/Tab';
|
|
9
|
+
import Typography from '@bigbinary/neetoui/Typography';
|
|
10
|
+
import { useTranslation } from 'react-i18next';
|
|
11
|
+
import { r as renderStatus, c as renderDate, C as CopyButtonWrapper, d as buildDefaultPageProperties, e as buildPayload, f as buildRowData, w as withReactQuery } from './renderFunctions-97b121a4.js';
|
|
12
|
+
import { Download } from '@bigbinary/neeto-icons';
|
|
13
|
+
import Button from '@bigbinary/neetoui/Button';
|
|
14
|
+
import Modal from '@bigbinary/neetoui/Modal';
|
|
15
|
+
import { u as useExportData, e as exportChannel } from './exportChannel-250e6f14.js';
|
|
16
|
+
import { u as uuidV4 } from './index-48f8b281.js';
|
|
17
|
+
import { buildUrl, getQueryParams } from '@bigbinary/neeto-commons-frontend/utils';
|
|
18
|
+
import { curry, assoc, insert, mergeLeft } from 'ramda';
|
|
19
|
+
import { useHistory } from 'react-router-dom';
|
|
20
|
+
import { DEFAULT_SORT_PROPERTIES as DEFAULT_SORT_PROPERTIES$1, SORT_DIRECTIONS } from './constants.js';
|
|
21
|
+
import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX } from '@bigbinary/neeto-commons-frontend/constants';
|
|
22
|
+
import { useHiddenColumns } from '@bigbinary/neeto-molecules/Columns';
|
|
23
|
+
import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
|
|
24
|
+
import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
|
|
25
|
+
import Table from '@bigbinary/neetoui/Table';
|
|
26
|
+
import NoData from '@bigbinary/neetoui/NoData';
|
|
27
|
+
import { b as useFetchStripePayouts } from './useConnectApi-87335bf6.js';
|
|
28
|
+
import { e as useFetchStripePlatformPayouts } from './usePlatformApi-8adc2a50.js';
|
|
29
|
+
import './utils-e29db9c9.js';
|
|
30
|
+
import 'react/jsx-runtime';
|
|
31
|
+
import './queryConstants-765c8816.js';
|
|
32
|
+
import './mutation-286611ef.js';
|
|
33
|
+
import '@bigbinary/neeto-molecules/DateFormat';
|
|
34
|
+
import '@bigbinary/neetoui/Tag';
|
|
35
|
+
import '@bigbinary/neetoui/Tooltip';
|
|
36
|
+
import '@bigbinary/neeto-molecules/CopyToClipboardButton';
|
|
37
|
+
import './useMutation-8d67f853.js';
|
|
38
|
+
import 'axios';
|
|
39
|
+
import 'util';
|
|
40
|
+
|
|
41
|
+
const TAB = {
|
|
42
|
+
all: "all",
|
|
43
|
+
paid: "paid",
|
|
44
|
+
inTransit: "inTransit",
|
|
45
|
+
failed: "failed",
|
|
46
|
+
canceled: "canceled",
|
|
47
|
+
pending: "pending"
|
|
48
|
+
};
|
|
49
|
+
const TABS = Object.values(TAB);
|
|
50
|
+
const SEARCH_PROPS = {
|
|
51
|
+
key: "keyword",
|
|
52
|
+
node: "identifier,destination_identifier",
|
|
53
|
+
model: "NeetoPaymentsEngine::Payout"
|
|
54
|
+
};
|
|
55
|
+
const DASHBOARD_MANDATORY_COLUMNS = ["id", "status", "identifier"];
|
|
56
|
+
const FILTER_COLUMNS = [{
|
|
57
|
+
key: "created_at",
|
|
58
|
+
label: t("neetoPayments.common.createdAt"),
|
|
59
|
+
node: "created_at",
|
|
60
|
+
type: "date",
|
|
61
|
+
showRuleSelector: true
|
|
62
|
+
}, {
|
|
63
|
+
key: "arrival_date",
|
|
64
|
+
label: t("neetoPayments.common.arrivalDate"),
|
|
65
|
+
node: "arrival_date",
|
|
66
|
+
type: "date",
|
|
67
|
+
showRuleSelector: true
|
|
68
|
+
}];
|
|
69
|
+
const DEFAULT_SORT_PROPERTIES = {
|
|
70
|
+
sortBy: "created_at",
|
|
71
|
+
orderBy: "DESC"
|
|
72
|
+
};
|
|
73
|
+
const STRIPE_PAYOUTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY = "stripePayoutsDashboard";
|
|
74
|
+
|
|
75
|
+
const ExportModal = _ref => {
|
|
76
|
+
let {
|
|
77
|
+
showExportModal,
|
|
78
|
+
setShowExportModal,
|
|
79
|
+
tab,
|
|
80
|
+
filters,
|
|
81
|
+
sortProperties = {}
|
|
82
|
+
} = _ref;
|
|
83
|
+
const {
|
|
84
|
+
t
|
|
85
|
+
} = useTranslation();
|
|
86
|
+
const [downloadUrl, setDownloadUrl] = useState("");
|
|
87
|
+
const [isGenerating, setIsGenerating] = useState(false);
|
|
88
|
+
const {
|
|
89
|
+
mutate: exportCsv,
|
|
90
|
+
isLoading
|
|
91
|
+
} = useExportData();
|
|
92
|
+
const isFileLoading = isLoading || isGenerating;
|
|
93
|
+
const token = useMemo(() => `payout-report-${uuidV4()}`, []);
|
|
94
|
+
const receivedCallback = data => {
|
|
95
|
+
if (!data.download_url) return;
|
|
96
|
+
setDownloadUrl(data.download_url);
|
|
97
|
+
setIsGenerating(false);
|
|
98
|
+
};
|
|
99
|
+
const handleGenerateClick = () => {
|
|
100
|
+
const payload = {
|
|
101
|
+
kind: "payout",
|
|
102
|
+
token,
|
|
103
|
+
filters,
|
|
104
|
+
tab,
|
|
105
|
+
...sortProperties
|
|
106
|
+
};
|
|
107
|
+
exportCsv(payload, {
|
|
108
|
+
onSuccess: () => {
|
|
109
|
+
setDownloadUrl("");
|
|
110
|
+
setIsGenerating(true);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
useEffect(() => {
|
|
115
|
+
if (showExportModal) {
|
|
116
|
+
const channel = exportChannel(token, receivedCallback);
|
|
117
|
+
setDownloadUrl("");
|
|
118
|
+
setIsGenerating(false);
|
|
119
|
+
return () => {
|
|
120
|
+
channel.disconnected();
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
return undefined;
|
|
124
|
+
}, [showExportModal, token]);
|
|
125
|
+
const onClose = () => setShowExportModal(false);
|
|
126
|
+
return /*#__PURE__*/React__default.createElement(Modal, {
|
|
127
|
+
onClose,
|
|
128
|
+
isOpen: showExportModal
|
|
129
|
+
}, /*#__PURE__*/React__default.createElement(Modal.Header, null, /*#__PURE__*/React__default.createElement(Typography, {
|
|
130
|
+
style: "h2"
|
|
131
|
+
}, t("neetoPayments.export.title.payout"))), /*#__PURE__*/React__default.createElement(Modal.Body, null, isFileLoading ? /*#__PURE__*/React__default.createElement(Typography, {
|
|
132
|
+
style: "body2"
|
|
133
|
+
}, t("neetoPayments.export.pleaseWait")) : /*#__PURE__*/React__default.createElement(Typography, {
|
|
134
|
+
style: "body2"
|
|
135
|
+
}, downloadUrl ? t("neetoPayments.export.fileReady") : t("neetoPayments.export.download.payout"))), /*#__PURE__*/React__default.createElement(Modal.Footer, {
|
|
136
|
+
className: "space-x-2"
|
|
137
|
+
}, downloadUrl ? /*#__PURE__*/React__default.createElement(Button, {
|
|
138
|
+
href: downloadUrl,
|
|
139
|
+
icon: Download,
|
|
140
|
+
label: t("neetoPayments.common.download"),
|
|
141
|
+
onClick: onClose
|
|
142
|
+
}) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Button, {
|
|
143
|
+
disabled: isFileLoading,
|
|
144
|
+
label: t("neetoPayments.common.cancel"),
|
|
145
|
+
style: "tertiary",
|
|
146
|
+
onClick: onClose
|
|
147
|
+
}), /*#__PURE__*/React__default.createElement(Button, {
|
|
148
|
+
disabled: isFileLoading,
|
|
149
|
+
label: t("neetoPayments.common.export"),
|
|
150
|
+
loading: isFileLoading,
|
|
151
|
+
onClick: handleGenerateClick
|
|
152
|
+
}))));
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
const COLUMNS = [{
|
|
156
|
+
title: t("neetoPayments.common.id"),
|
|
157
|
+
dataIndex: "id",
|
|
158
|
+
key: "id",
|
|
159
|
+
width: "72px",
|
|
160
|
+
isHidable: false
|
|
161
|
+
}, {
|
|
162
|
+
title: t("neetoPayments.common.status"),
|
|
163
|
+
dataIndex: "status",
|
|
164
|
+
key: "status",
|
|
165
|
+
render: renderStatus("payout"),
|
|
166
|
+
width: "150px",
|
|
167
|
+
sorter: true,
|
|
168
|
+
isHidable: false
|
|
169
|
+
}, {
|
|
170
|
+
title: t("neetoPayments.common.amount"),
|
|
171
|
+
dataIndex: "amount",
|
|
172
|
+
key: "amount",
|
|
173
|
+
width: "150px",
|
|
174
|
+
sorter: true
|
|
175
|
+
}, {
|
|
176
|
+
title: t("neetoPayments.common.createdAt"),
|
|
177
|
+
dataIndex: "createdAt",
|
|
178
|
+
key: "createdAt",
|
|
179
|
+
width: "220px",
|
|
180
|
+
render: renderDate,
|
|
181
|
+
sorter: true
|
|
182
|
+
}, {
|
|
183
|
+
title: t("neetoPayments.common.arrivalDate"),
|
|
184
|
+
dataIndex: "arrivalDate",
|
|
185
|
+
key: "arrivalDate",
|
|
186
|
+
width: "220px",
|
|
187
|
+
render: renderDate,
|
|
188
|
+
sorter: true
|
|
189
|
+
}, {
|
|
190
|
+
title: t("neetoPayments.common.destinationIdentifier"),
|
|
191
|
+
dataIndex: "destinationIdentifier",
|
|
192
|
+
key: "destinationIdentifier",
|
|
193
|
+
width: "300px"
|
|
194
|
+
}];
|
|
195
|
+
const IDENTIFIER_COLUMN = {
|
|
196
|
+
title: t("neetoPayments.common.identifier"),
|
|
197
|
+
dataIndex: "identifier",
|
|
198
|
+
key: "identifier",
|
|
199
|
+
width: "300px",
|
|
200
|
+
isHidable: false
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
const processTab = status => camelToSnakeCase(status).split("_").join(" ");
|
|
204
|
+
const renderPayoutIdentifier = curry((route, _ref) => {
|
|
205
|
+
let {
|
|
206
|
+
identifier = "",
|
|
207
|
+
id = ""
|
|
208
|
+
} = _ref;
|
|
209
|
+
return /*#__PURE__*/React__default.createElement(CopyButtonWrapper, {
|
|
210
|
+
content: identifier
|
|
211
|
+
}, /*#__PURE__*/React__default.createElement(Button, {
|
|
212
|
+
label: identifier,
|
|
213
|
+
size: "small",
|
|
214
|
+
style: "link",
|
|
215
|
+
to: buildUrl(route, {
|
|
216
|
+
id
|
|
217
|
+
})
|
|
218
|
+
}));
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
const useFiltersAndPagination = payoutsPageRoute => {
|
|
222
|
+
const history = useHistory();
|
|
223
|
+
const [isFilterButtonVisible, setIsFilterButtonVisible] = useState(false);
|
|
224
|
+
const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);
|
|
225
|
+
const [pageProperties, setPageProperties] = useState(buildDefaultPageProperties(TABS));
|
|
226
|
+
const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES$1);
|
|
227
|
+
const {
|
|
228
|
+
tab = TAB.all
|
|
229
|
+
} = useQueryParams();
|
|
230
|
+
const {
|
|
231
|
+
searchTerm = ""
|
|
232
|
+
} = getQueryParams();
|
|
233
|
+
const searchKeywordProps = {
|
|
234
|
+
...SEARCH_PROPS,
|
|
235
|
+
key: "search_term",
|
|
236
|
+
value: searchTerm.trim()
|
|
237
|
+
};
|
|
238
|
+
const [filters, setFilters] = useState(buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps]));
|
|
239
|
+
const [dataSize, setDataSize] = useState(null);
|
|
240
|
+
const identifierColumn = assoc("render", renderPayoutIdentifier(payoutsPageRoute), IDENTIFIER_COLUMN);
|
|
241
|
+
const columns = insert(1, identifierColumn, COLUMNS);
|
|
242
|
+
const columnData = tab !== TAB.all ? removeBy({
|
|
243
|
+
key: "status"
|
|
244
|
+
}, columns) : columns;
|
|
245
|
+
const handleTabChange = tab => {
|
|
246
|
+
setDataSize(null);
|
|
247
|
+
const queryParams = getQueryParams({
|
|
248
|
+
toCamelCase: false
|
|
249
|
+
});
|
|
250
|
+
const newParams = {
|
|
251
|
+
tab,
|
|
252
|
+
page: pageProperties[tab]?.page,
|
|
253
|
+
page_size: pageProperties[tab]?.pageSize
|
|
254
|
+
};
|
|
255
|
+
history.push(buildUrl(window.location.pathname, mergeLeft(newParams, queryParams)));
|
|
256
|
+
};
|
|
257
|
+
return {
|
|
258
|
+
isFilterButtonVisible,
|
|
259
|
+
isFilterPaneOpen,
|
|
260
|
+
pageProperties,
|
|
261
|
+
filters,
|
|
262
|
+
searchKeywordProps,
|
|
263
|
+
tab,
|
|
264
|
+
sortProperties,
|
|
265
|
+
columnData,
|
|
266
|
+
dataSize,
|
|
267
|
+
setDataSize,
|
|
268
|
+
setIsFilterButtonVisible,
|
|
269
|
+
setIsFilterPaneOpen,
|
|
270
|
+
setPageProperties,
|
|
271
|
+
setFilters,
|
|
272
|
+
handleTabChange,
|
|
273
|
+
setSortProperties
|
|
274
|
+
};
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
const useFetchData = _ref => {
|
|
278
|
+
let {
|
|
279
|
+
isPlatformEnabled,
|
|
280
|
+
payload
|
|
281
|
+
} = _ref;
|
|
282
|
+
const data = {};
|
|
283
|
+
const kind = isPlatformEnabled ? "platform" : "connected";
|
|
284
|
+
const tab = snakeToCamelCase(payload?.tab || "");
|
|
285
|
+
data.connected = useFetchStripePayouts(payload, {
|
|
286
|
+
enabled: !isPlatformEnabled
|
|
287
|
+
});
|
|
288
|
+
data.platform = useFetchStripePlatformPayouts(payload, {
|
|
289
|
+
enabled: isPlatformEnabled
|
|
290
|
+
});
|
|
291
|
+
return {
|
|
292
|
+
data: data[kind]?.data?.payouts,
|
|
293
|
+
dataSize: data[kind]?.data?.views?.[tab],
|
|
294
|
+
isDataLoading: data[kind]?.isLoading,
|
|
295
|
+
isDataFetching: data[kind]?.isFetching
|
|
296
|
+
};
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
const List = _ref => {
|
|
300
|
+
let {
|
|
301
|
+
columnData,
|
|
302
|
+
filters,
|
|
303
|
+
pageProperties,
|
|
304
|
+
setDataSize,
|
|
305
|
+
setIsFilterButtonVisible,
|
|
306
|
+
setPageProperties,
|
|
307
|
+
setSortProperties,
|
|
308
|
+
sortProperties,
|
|
309
|
+
tab,
|
|
310
|
+
isPlatformEnabled
|
|
311
|
+
} = _ref;
|
|
312
|
+
const history = useHistory();
|
|
313
|
+
const {
|
|
314
|
+
t
|
|
315
|
+
} = useTranslation();
|
|
316
|
+
const {
|
|
317
|
+
hideColumn,
|
|
318
|
+
getVisibleColumnData
|
|
319
|
+
} = useHiddenColumns(STRIPE_PAYOUTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY);
|
|
320
|
+
const {
|
|
321
|
+
data: payouts,
|
|
322
|
+
isDataLoading,
|
|
323
|
+
dataSize,
|
|
324
|
+
isDataFetching
|
|
325
|
+
} = useFetchData({
|
|
326
|
+
payload: buildPayload({
|
|
327
|
+
filters,
|
|
328
|
+
pageProperties,
|
|
329
|
+
sortProperties,
|
|
330
|
+
tab
|
|
331
|
+
}),
|
|
332
|
+
isPlatformEnabled
|
|
333
|
+
});
|
|
334
|
+
useEffect(() => {
|
|
335
|
+
setIsFilterButtonVisible(isPresent(payouts) || isPresent(filters));
|
|
336
|
+
setDataSize(dataSize);
|
|
337
|
+
}, [payouts]);
|
|
338
|
+
const handleTablePagination = (page, pageSize) => {
|
|
339
|
+
const queryParams = getQueryParams({
|
|
340
|
+
toCamelCase: false
|
|
341
|
+
});
|
|
342
|
+
history.push(buildUrl(window.location.pathname, mergeLeft({
|
|
343
|
+
page,
|
|
344
|
+
page_size: pageSize
|
|
345
|
+
}, queryParams)));
|
|
346
|
+
setPageProperties(assoc(tab, {
|
|
347
|
+
page,
|
|
348
|
+
pageSize
|
|
349
|
+
}));
|
|
350
|
+
};
|
|
351
|
+
useEffect(() => {
|
|
352
|
+
handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);
|
|
353
|
+
setSortProperties(DEFAULT_SORT_PROPERTIES);
|
|
354
|
+
}, [filters, tab]);
|
|
355
|
+
const handleTableChange = (_, __, sorter) => {
|
|
356
|
+
setSortProperties(isPresent(sorter?.column) ? {
|
|
357
|
+
sortBy: camelToSnakeCase(sorter.field),
|
|
358
|
+
orderBy: sorter.order === "ascend" ? "ASC" : "DESC"
|
|
359
|
+
} : DEFAULT_SORT_PROPERTIES);
|
|
360
|
+
};
|
|
361
|
+
if (isDataLoading) {
|
|
362
|
+
return /*#__PURE__*/React__default.createElement(PageLoader, null);
|
|
363
|
+
}
|
|
364
|
+
if (dataSize <= 0 || !isPresent(payouts)) {
|
|
365
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
366
|
+
className: "flex h-full w-full items-center justify-center"
|
|
367
|
+
}, /*#__PURE__*/React__default.createElement(NoData, {
|
|
368
|
+
title: t(`neetoPayments.emptyState.payouts.${tab}`)
|
|
369
|
+
}));
|
|
370
|
+
}
|
|
371
|
+
return /*#__PURE__*/React__default.createElement(TableWrapper, {
|
|
372
|
+
hasPagination: dataSize > pageProperties[tab]?.pageSize
|
|
373
|
+
}, /*#__PURE__*/React__default.createElement(Table, {
|
|
374
|
+
fixedHeight: true,
|
|
375
|
+
allowRowClick: false,
|
|
376
|
+
columnData: getVisibleColumnData(columnData),
|
|
377
|
+
currentPageNumber: pageProperties[tab]?.page,
|
|
378
|
+
handlePageChange: handleTablePagination,
|
|
379
|
+
loading: isDataFetching,
|
|
380
|
+
rowData: buildRowData({
|
|
381
|
+
data: payouts,
|
|
382
|
+
pageProperties,
|
|
383
|
+
tab
|
|
384
|
+
}),
|
|
385
|
+
rowSelection: false,
|
|
386
|
+
sortDirections: SORT_DIRECTIONS,
|
|
387
|
+
totalCount: dataSize,
|
|
388
|
+
paginationProps: {
|
|
389
|
+
showSizeChanger: true,
|
|
390
|
+
hideOnSinglePage: true,
|
|
391
|
+
pageSize: pageProperties[tab]?.pageSize,
|
|
392
|
+
total: dataSize
|
|
393
|
+
},
|
|
394
|
+
onChange: handleTableChange,
|
|
395
|
+
onColumnHide: _ref2 => {
|
|
396
|
+
let {
|
|
397
|
+
dataIndex
|
|
398
|
+
} = _ref2;
|
|
399
|
+
return hideColumn(dataIndex);
|
|
400
|
+
}
|
|
401
|
+
}));
|
|
402
|
+
};
|
|
403
|
+
|
|
404
|
+
const PayoutsDashboard = _ref => {
|
|
405
|
+
let {
|
|
406
|
+
payoutsPageRoute,
|
|
407
|
+
isPlatformEnabled
|
|
408
|
+
} = _ref;
|
|
409
|
+
const [_, startTransition] = useTransition();
|
|
410
|
+
const {
|
|
411
|
+
t
|
|
412
|
+
} = useTranslation();
|
|
413
|
+
const [showExportModal, setShowExportModal] = useState(false);
|
|
414
|
+
const {
|
|
415
|
+
isFilterButtonVisible,
|
|
416
|
+
isFilterPaneOpen,
|
|
417
|
+
pageProperties,
|
|
418
|
+
filters,
|
|
419
|
+
searchKeywordProps,
|
|
420
|
+
tab,
|
|
421
|
+
sortProperties,
|
|
422
|
+
columnData,
|
|
423
|
+
dataSize,
|
|
424
|
+
setDataSize,
|
|
425
|
+
setIsFilterButtonVisible,
|
|
426
|
+
setIsFilterPaneOpen,
|
|
427
|
+
setPageProperties,
|
|
428
|
+
setFilters,
|
|
429
|
+
handleTabChange,
|
|
430
|
+
setSortProperties
|
|
431
|
+
} = useFiltersAndPagination(payoutsPageRoute);
|
|
432
|
+
const isTabsVisible = isFilterButtonVisible || tab !== "all";
|
|
433
|
+
const handleFiltersChange = filters => {
|
|
434
|
+
startTransition(() => {
|
|
435
|
+
setFilters(filters);
|
|
436
|
+
});
|
|
437
|
+
};
|
|
438
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Header, {
|
|
439
|
+
title: t("neetoPayments.title.payouts"),
|
|
440
|
+
searchProps: isFilterButtonVisible && {
|
|
441
|
+
placeholder: t("neetoPayments.common.search"),
|
|
442
|
+
className: "w-80"
|
|
443
|
+
}
|
|
444
|
+
}), isTabsVisible && /*#__PURE__*/React__default.createElement(Tab, null, TABS.map(item => /*#__PURE__*/React__default.createElement(Tab.Item, {
|
|
445
|
+
active: tab === item,
|
|
446
|
+
key: item,
|
|
447
|
+
onClick: () => handleTabChange(item)
|
|
448
|
+
}, t(`neetoPayments.common.${item}`)))), /*#__PURE__*/React__default.createElement(SubHeader, {
|
|
449
|
+
className: "mt-4",
|
|
450
|
+
leftActionBlock: isPresent(dataSize) && /*#__PURE__*/React__default.createElement(Typography, {
|
|
451
|
+
className: "neeto-ui-gray-800 mr-2 font-semibold",
|
|
452
|
+
component: "h4"
|
|
453
|
+
}, tab === TAB.all ? t("neetoPayments.countOf.payout", {
|
|
454
|
+
count: dataSize
|
|
455
|
+
}) : t("neetoPayments.countOf.payoutWithStatus", {
|
|
456
|
+
count: dataSize,
|
|
457
|
+
status: processTab(tab)
|
|
458
|
+
})),
|
|
459
|
+
rightActionBlock: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Bar, {
|
|
460
|
+
columns: FILTER_COLUMNS,
|
|
461
|
+
keyword: searchKeywordProps,
|
|
462
|
+
setIsPaneOpen: setIsFilterPaneOpen,
|
|
463
|
+
onChange: handleFiltersChange
|
|
464
|
+
}), isFilterButtonVisible && /*#__PURE__*/React__default.createElement(SubHeader.RightBlock, {
|
|
465
|
+
columnsButtonProps: {
|
|
466
|
+
columnData,
|
|
467
|
+
fixedColumns: DASHBOARD_MANDATORY_COLUMNS,
|
|
468
|
+
localStorageKey: STRIPE_PAYOUTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY
|
|
469
|
+
},
|
|
470
|
+
downloadButtonProps: {
|
|
471
|
+
onClick: () => setShowExportModal(true)
|
|
472
|
+
},
|
|
473
|
+
filterProps: {
|
|
474
|
+
columns: FILTER_COLUMNS,
|
|
475
|
+
isOpen: isFilterPaneOpen,
|
|
476
|
+
keyword: searchKeywordProps,
|
|
477
|
+
setIsOpen: setIsFilterPaneOpen,
|
|
478
|
+
onChange: handleFiltersChange
|
|
479
|
+
}
|
|
480
|
+
}))
|
|
481
|
+
}), /*#__PURE__*/React__default.createElement(List, {
|
|
482
|
+
columnData,
|
|
483
|
+
filters,
|
|
484
|
+
isPlatformEnabled,
|
|
485
|
+
pageProperties,
|
|
486
|
+
setDataSize,
|
|
487
|
+
setIsFilterButtonVisible,
|
|
488
|
+
setPageProperties,
|
|
489
|
+
setSortProperties,
|
|
490
|
+
sortProperties,
|
|
491
|
+
tab
|
|
492
|
+
}), /*#__PURE__*/React__default.createElement(ExportModal, {
|
|
493
|
+
filters,
|
|
494
|
+
setShowExportModal,
|
|
495
|
+
showExportModal,
|
|
496
|
+
sortProperties,
|
|
497
|
+
tab
|
|
498
|
+
}));
|
|
499
|
+
};
|
|
500
|
+
var index = withTitle(withReactQuery(PayoutsDashboard), t("neetoPayments.title.payouts"));
|
|
501
|
+
|
|
502
|
+
export { index as default };
|
|
503
|
+
//# sourceMappingURL=PayoutsDashboard.js.map
|