@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.
Files changed (157) hide show
  1. package/README.md +4 -95
  2. package/app/javascript/src/translations/en.json +0 -15
  3. package/dist/AccountsDashboard.js +477 -0
  4. package/dist/AccountsDashboard.js.map +1 -0
  5. package/dist/Dashboard.js +598 -0
  6. package/dist/Dashboard.js.map +1 -0
  7. package/dist/ExportModal-85725c35.js +645 -0
  8. package/dist/ExportModal-85725c35.js.map +1 -0
  9. package/dist/IdentifierButton-73cadb18.js +20 -0
  10. package/dist/IdentifierButton-73cadb18.js.map +1 -0
  11. package/dist/PaymentKindRestrictionAlert.js +34 -0
  12. package/dist/PaymentKindRestrictionAlert.js.map +1 -0
  13. package/dist/PayoutsDashboard.js +503 -0
  14. package/dist/PayoutsDashboard.js.map +1 -0
  15. package/dist/PayoutsPage.js +185 -0
  16. package/dist/PayoutsPage.js.map +1 -0
  17. package/dist/RazorpayDashboard.js +251 -0
  18. package/dist/RazorpayDashboard.js.map +1 -0
  19. package/dist/RazorpayPaymentButton.js +111 -0
  20. package/dist/RazorpayPaymentButton.js.map +1 -0
  21. package/dist/StripeConnect.js +2071 -0
  22. package/dist/StripeConnect.js.map +1 -0
  23. package/dist/U2TDTBMY-c464dc98.js +12081 -0
  24. package/dist/U2TDTBMY-c464dc98.js.map +1 -0
  25. package/dist/UpiConnect.js +148 -0
  26. package/dist/UpiConnect.js.map +1 -0
  27. package/dist/UpiMarkAsPaidButton.js +42 -0
  28. package/dist/UpiMarkAsPaidButton.js.map +1 -0
  29. package/dist/UpiPayment.js +94 -0
  30. package/dist/UpiPayment.js.map +1 -0
  31. package/dist/V2PaymentsDashboard.js +302 -0
  32. package/dist/V2PaymentsDashboard.js.map +1 -0
  33. package/dist/buildStripeTransactionLink.js +6 -0
  34. package/dist/buildStripeTransactionLink.js.map +1 -0
  35. package/dist/cjs/AccountsDashboard.js +494 -0
  36. package/dist/cjs/AccountsDashboard.js.map +1 -0
  37. package/dist/cjs/Dashboard.js +613 -0
  38. package/dist/cjs/Dashboard.js.map +1 -0
  39. package/dist/cjs/ExportModal-20f368a1.js +669 -0
  40. package/dist/cjs/ExportModal-20f368a1.js.map +1 -0
  41. package/dist/cjs/IdentifierButton-40b5459d.js +27 -0
  42. package/dist/cjs/IdentifierButton-40b5459d.js.map +1 -0
  43. package/dist/cjs/PaymentKindRestrictionAlert.js +41 -0
  44. package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
  45. package/dist/cjs/PayoutsDashboard.js +519 -0
  46. package/dist/cjs/PayoutsDashboard.js.map +1 -0
  47. package/dist/cjs/PayoutsPage.js +194 -0
  48. package/dist/cjs/PayoutsPage.js.map +1 -0
  49. package/dist/cjs/RazorpayDashboard.js +262 -0
  50. package/dist/cjs/RazorpayDashboard.js.map +1 -0
  51. package/dist/cjs/RazorpayPaymentButton.js +118 -0
  52. package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
  53. package/dist/cjs/StripeConnect.js +2106 -0
  54. package/dist/cjs/StripeConnect.js.map +1 -0
  55. package/dist/cjs/U2TDTBMY-e2fad970.js +12083 -0
  56. package/dist/cjs/U2TDTBMY-e2fad970.js.map +1 -0
  57. package/dist/cjs/UpiConnect.js +181 -0
  58. package/dist/cjs/UpiConnect.js.map +1 -0
  59. package/dist/cjs/UpiMarkAsPaidButton.js +49 -0
  60. package/dist/cjs/UpiMarkAsPaidButton.js.map +1 -0
  61. package/dist/cjs/UpiPayment.js +124 -0
  62. package/dist/cjs/UpiPayment.js.map +1 -0
  63. package/dist/cjs/V2PaymentsDashboard.js +313 -0
  64. package/dist/cjs/V2PaymentsDashboard.js.map +1 -0
  65. package/dist/cjs/buildStripeTransactionLink.js +11 -0
  66. package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
  67. package/dist/cjs/constants.js +495 -0
  68. package/dist/cjs/constants.js.map +1 -0
  69. package/dist/cjs/exportChannel-7bd80952.js +39 -0
  70. package/dist/cjs/exportChannel-7bd80952.js.map +1 -0
  71. package/dist/cjs/extends-1b35a664.js +19 -0
  72. package/dist/cjs/extends-1b35a664.js.map +1 -0
  73. package/dist/cjs/index-b097dce8.js +41 -0
  74. package/dist/cjs/index-b097dce8.js.map +1 -0
  75. package/dist/cjs/index-b7badf96.js +88 -0
  76. package/dist/cjs/index-b7badf96.js.map +1 -0
  77. package/dist/cjs/index.js +100 -0
  78. package/dist/cjs/index.js.map +1 -0
  79. package/dist/cjs/mutation-ed7b84fc.js +235 -0
  80. package/dist/cjs/mutation-ed7b84fc.js.map +1 -0
  81. package/dist/cjs/queryConstants-de21eed5.js +944 -0
  82. package/dist/cjs/queryConstants-de21eed5.js.map +1 -0
  83. package/dist/cjs/renderFunctions-398d3fb5.js +3719 -0
  84. package/dist/cjs/renderFunctions-398d3fb5.js.map +1 -0
  85. package/dist/cjs/stripe.esm-4218a1e9.js.map +1 -0
  86. package/dist/cjs/useConnectApi-f0665633.js +2189 -0
  87. package/dist/cjs/useConnectApi-f0665633.js.map +1 -0
  88. package/dist/cjs/useFiltersAndPagination-312c0331.js +277 -0
  89. package/dist/cjs/useFiltersAndPagination-312c0331.js.map +1 -0
  90. package/dist/cjs/useMutation-4c7cdbe1.js +154 -0
  91. package/dist/cjs/useMutation-4c7cdbe1.js.map +1 -0
  92. package/dist/cjs/usePaymentApi-ae70e5df.js +48 -0
  93. package/dist/cjs/usePaymentApi-ae70e5df.js.map +1 -0
  94. package/dist/cjs/usePaymentsApi-815be3da.js +36 -0
  95. package/dist/cjs/usePaymentsApi-815be3da.js.map +1 -0
  96. package/dist/cjs/usePlatformApi-830827fa.js +116 -0
  97. package/dist/cjs/usePlatformApi-830827fa.js.map +1 -0
  98. package/dist/cjs/useRazorpayPayment.js +91 -0
  99. package/dist/cjs/useRazorpayPayment.js.map +1 -0
  100. package/dist/cjs/useStripePromise.js +27 -0
  101. package/dist/cjs/useStripePromise.js.map +1 -0
  102. package/dist/cjs/utils-7eba34a4.js +664 -0
  103. package/dist/cjs/utils-7eba34a4.js.map +1 -0
  104. package/dist/constants.js +480 -0
  105. package/dist/constants.js.map +1 -0
  106. package/dist/exportChannel-250e6f14.js +32 -0
  107. package/dist/exportChannel-250e6f14.js.map +1 -0
  108. package/dist/extends-093996c9.js +17 -0
  109. package/dist/extends-093996c9.js.map +1 -0
  110. package/dist/index-1aedc364.js +80 -0
  111. package/dist/index-1aedc364.js.map +1 -0
  112. package/dist/index-48f8b281.js +32 -0
  113. package/dist/index-48f8b281.js.map +1 -0
  114. package/dist/index.js +77 -12558
  115. package/dist/index.js.map +1 -1
  116. package/dist/mutation-286611ef.js +232 -0
  117. package/dist/mutation-286611ef.js.map +1 -0
  118. package/dist/queryConstants-765c8816.js +920 -0
  119. package/dist/queryConstants-765c8816.js.map +1 -0
  120. package/dist/renderFunctions-97b121a4.js +3633 -0
  121. package/dist/renderFunctions-97b121a4.js.map +1 -0
  122. package/dist/useConnectApi-87335bf6.js +2174 -0
  123. package/dist/useConnectApi-87335bf6.js.map +1 -0
  124. package/dist/useFiltersAndPagination-2ab7bc8f.js +262 -0
  125. package/dist/useFiltersAndPagination-2ab7bc8f.js.map +1 -0
  126. package/dist/useMutation-8d67f853.js +132 -0
  127. package/dist/useMutation-8d67f853.js.map +1 -0
  128. package/dist/usePaymentApi-12737871.js +41 -0
  129. package/dist/usePaymentApi-12737871.js.map +1 -0
  130. package/dist/usePaymentsApi-a801ab15.js +29 -0
  131. package/dist/usePaymentsApi-a801ab15.js.map +1 -0
  132. package/dist/usePlatformApi-8adc2a50.js +104 -0
  133. package/dist/usePlatformApi-8adc2a50.js.map +1 -0
  134. package/dist/useRazorpayPayment.js +89 -0
  135. package/dist/useRazorpayPayment.js.map +1 -0
  136. package/dist/useStripePromise.js +25 -0
  137. package/dist/useStripePromise.js.map +1 -0
  138. package/dist/utils-e29db9c9.js +614 -0
  139. package/dist/utils-e29db9c9.js.map +1 -0
  140. package/package.json +18 -10
  141. package/types/AccountsDashboard.d.ts +3 -0
  142. package/types/Dashboard.d.ts +15 -0
  143. package/types/PaymentKindRestrictionAlert.d.ts +11 -0
  144. package/types/PayoutsDashboard.d.ts +10 -0
  145. package/types/PayoutsPage.d.ts +11 -0
  146. package/types/StripeConnect.d.ts +13 -0
  147. package/types/buildStripeTransactionLink.d.ts +6 -0
  148. package/types/useStripePromise.d.ts +5 -0
  149. package/types.d.ts +8 -75
  150. package/dist/index-042b6907.js +0 -6
  151. package/dist/index-042b6907.js.map +0 -1
  152. package/dist/index-87824935.js +0 -4
  153. package/dist/index-87824935.js.map +0 -1
  154. package/dist/index.cjs.js +0 -12633
  155. package/dist/index.cjs.js.map +0 -1
  156. package/dist/stripe.esm-4218a1e9.js.map +0 -1
  157. /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