@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,194 @@
1
+ 'use strict';
2
+
3
+ var _extends = require('./extends-1b35a664.js');
4
+ var React = require('react');
5
+ var neetoCist = require('@bigbinary/neeto-cist');
6
+ var Header = require('@bigbinary/neeto-molecules/Header');
7
+ var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
8
+ var Typography = require('@bigbinary/neetoui/Typography');
9
+ var reactI18next = require('react-i18next');
10
+ var reactRouterDom = require('react-router-dom/cjs/react-router-dom');
11
+ var renderFunctions = require('./renderFunctions-398d3fb5.js');
12
+ var useConnectApi = require('./useConnectApi-f0665633.js');
13
+ var usePlatformApi = require('./usePlatformApi-830827fa.js');
14
+ var IdentifierButton = require('./IdentifierButton-40b5459d.js');
15
+ var index = require('./index-b097dce8.js');
16
+ var Dashboard = require('./Dashboard.js');
17
+ require('./utils-7eba34a4.js');
18
+ require('react/jsx-runtime');
19
+ require('@bigbinary/neeto-commons-frontend/constants');
20
+ require('./queryConstants-de21eed5.js');
21
+ require('./mutation-ed7b84fc.js');
22
+ require('ramda');
23
+ require('./constants.js');
24
+ require('i18next');
25
+ require('@bigbinary/neeto-molecules/DateFormat');
26
+ require('@bigbinary/neetoui/Button');
27
+ require('@bigbinary/neetoui/Tag');
28
+ require('@bigbinary/neetoui/Tooltip');
29
+ require('@bigbinary/neeto-molecules/CopyToClipboardButton');
30
+ require('@bigbinary/neeto-commons-frontend/react-utils');
31
+ require('axios');
32
+ require('util');
33
+ require('@bigbinary/neeto-filters-frontend');
34
+ require('@bigbinary/neeto-molecules/SubHeader');
35
+ require('@bigbinary/neetoui/Tab');
36
+ require('./index-b7badf96.js');
37
+ require('./ExportModal-20f368a1.js');
38
+ require('@bigbinary/neeto-icons');
39
+ require('@bigbinary/neetoui/Modal');
40
+ require('./useMutation-4c7cdbe1.js');
41
+ require('./exportChannel-7bd80952.js');
42
+ require('@bigbinary/neeto-commons-frontend/utils');
43
+ require('react-router-dom');
44
+ require('@bigbinary/neeto-molecules/Columns');
45
+ require('@bigbinary/neeto-molecules/TableWrapper');
46
+ require('@bigbinary/neetoui/Table');
47
+ require('@bigbinary/neetoui/NoData');
48
+ require('@bigbinary/neetoui/Pane');
49
+
50
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
51
+
52
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
53
+ var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header);
54
+ var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
55
+ var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
56
+
57
+ const useFetchData = _ref => {
58
+ let {
59
+ id,
60
+ isPlatformEnabled
61
+ } = _ref;
62
+ const data = {};
63
+ const kind = isPlatformEnabled ? "platform" : "connected";
64
+ data.connected = useConnectApi.useShowStripePayout(id, {
65
+ enabled: !isPlatformEnabled
66
+ });
67
+ data.platform = usePlatformApi.useShowStripePlatformPayout(id, {
68
+ enabled: isPlatformEnabled
69
+ });
70
+ return {
71
+ data: data[kind]?.data?.payout,
72
+ isDataLoading: data[kind]?.isLoading
73
+ };
74
+ };
75
+
76
+ const renderPayoutIdentifier = function () {
77
+ let identifier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
78
+ let isLive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
79
+ return /*#__PURE__*/React__default["default"].createElement(renderFunctions.CopyButtonWrapper, {
80
+ content: identifier
81
+ }, /*#__PURE__*/React__default["default"].createElement(IdentifierButton.IdentifierButton, {
82
+ href: index.buildStripePayoutLink(identifier, isLive),
83
+ label: identifier
84
+ }));
85
+ };
86
+
87
+ const PayoutsPage = _ref => {
88
+ let {
89
+ isPlatformEnabled,
90
+ indexRoute,
91
+ ...otherProps
92
+ } = _ref;
93
+ const {
94
+ t
95
+ } = reactI18next.useTranslation();
96
+ const {
97
+ id
98
+ } = reactRouterDom.useParams();
99
+ const {
100
+ isDataLoading,
101
+ data: {
102
+ amount,
103
+ identifier,
104
+ status,
105
+ destinationIdentifier,
106
+ arrivalDate,
107
+ createdAt,
108
+ isAutomatic,
109
+ failureMessage,
110
+ live
111
+ } = {}
112
+ } = useFetchData({
113
+ id,
114
+ isPlatformEnabled
115
+ });
116
+ const headerBreadCrumbs = [{
117
+ text: t("neetoPayments.title.payouts"),
118
+ link: indexRoute
119
+ }, {
120
+ text: identifier
121
+ }];
122
+ if (isDataLoading) return /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null);
123
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header__default["default"], {
124
+ breadcrumbs: headerBreadCrumbs,
125
+ title: t("neetoPayments.payoutsPage.title")
126
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
127
+ className: "w-full space-y-6 p-2"
128
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
129
+ className: "w-full space-y-2"
130
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
131
+ className: "flex items-center space-x-2"
132
+ }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
133
+ style: "body2"
134
+ }, t("neetoPayments.payoutsPage.payoutId")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
135
+ className: "neeto-ui-text-black font-medium",
136
+ style: "body2"
137
+ }, renderPayoutIdentifier(identifier, live))), /*#__PURE__*/React__default["default"].createElement("div", {
138
+ className: "flex items-center space-x-2"
139
+ }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
140
+ style: "body2"
141
+ }, t("neetoPayments.payoutsPage.status")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
142
+ className: "neeto-ui-text-black font-medium",
143
+ style: "body2"
144
+ }, renderFunctions.renderStatus("payout", status, {}))), /*#__PURE__*/React__default["default"].createElement("div", {
145
+ className: "flex items-center space-x-2"
146
+ }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
147
+ style: "body2"
148
+ }, t("neetoPayments.payoutsPage.amount")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
149
+ className: "neeto-ui-text-black font-medium",
150
+ style: "body2"
151
+ }, amount)), /*#__PURE__*/React__default["default"].createElement("div", {
152
+ className: "flex items-center space-x-2"
153
+ }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
154
+ style: "body2"
155
+ }, t("neetoPayments.payoutsPage.arrivalDate")), renderFunctions.renderDate(arrivalDate)), /*#__PURE__*/React__default["default"].createElement("div", {
156
+ className: "flex items-center space-x-2"
157
+ }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
158
+ style: "body2"
159
+ }, t("neetoPayments.payoutsPage.createdAt")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
160
+ className: "neeto-ui-text-black font-medium",
161
+ style: "body2"
162
+ }, renderFunctions.renderDate(createdAt))), /*#__PURE__*/React__default["default"].createElement("div", {
163
+ className: "flex items-center space-x-2"
164
+ }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
165
+ style: "body2"
166
+ }, t("neetoPayments.payoutsPage.destinationId")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
167
+ className: "neeto-ui-text-black font-medium",
168
+ style: "body2"
169
+ }, destinationIdentifier)), /*#__PURE__*/React__default["default"].createElement("div", {
170
+ className: "flex items-center space-x-2"
171
+ }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
172
+ style: "body2"
173
+ }, t("neetoPayments.payoutsPage.automatic")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
174
+ className: "neeto-ui-text-black font-medium",
175
+ style: "body2"
176
+ }, isAutomatic ? t("neetoPayments.common.yes") : t("neetoPayments.common.no"))), neetoCist.isPresent(failureMessage) && /*#__PURE__*/React__default["default"].createElement("div", {
177
+ className: "flex items-center space-x-2"
178
+ }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
179
+ style: "body2"
180
+ }, t("neetoPayments.payoutsPage.failureMessage")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
181
+ className: "neeto-ui-text-black font-medium",
182
+ style: "body2"
183
+ }, failureMessage)))), isAutomatic && /*#__PURE__*/React__default["default"].createElement(Dashboard, _extends._extends({}, isPlatformEnabled, {
184
+ kind: "connected"
185
+ }, otherProps, {
186
+ headerProps: {
187
+ size: "nano"
188
+ },
189
+ payoutId: id
190
+ })));
191
+ };
192
+
193
+ module.exports = PayoutsPage;
194
+ //# sourceMappingURL=PayoutsPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayoutsPage.js","sources":["../../app/javascript/src/components/PayoutsPage/hooks/useFetchData.js","../../app/javascript/src/components/PayoutsPage/utils.jsx","../../app/javascript/src/components/PayoutsPage/index.jsx"],"sourcesContent":["import { useShowStripePayout } from \"hooks/reactQuery/stripe/useConnectApi\";\nimport { useShowStripePlatformPayout } from \"hooks/reactQuery/stripe/usePlatformApi\";\n\nexport const useFetchData = ({ id, isPlatformEnabled }) => {\n const data = {};\n const kind = isPlatformEnabled ? \"platform\" : \"connected\";\n\n data.connected = useShowStripePayout(id, {\n enabled: !isPlatformEnabled,\n });\n\n data.platform = useShowStripePlatformPayout(id, {\n enabled: isPlatformEnabled,\n });\n\n return {\n data: data[kind]?.data?.payout,\n isDataLoading: data[kind]?.isLoading,\n };\n};\n","import React from \"react\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport IdentifierButton from \"components/Dashboard/IdentifierButton\";\nimport { buildStripePayoutLink } from \"utils\";\n\nexport const renderPayoutIdentifier = (identifier = \"\", isLive = false) => (\n <CopyButtonWrapper content={identifier}>\n <IdentifierButton\n href={buildStripePayoutLink(identifier, isLive)}\n label={identifier}\n />\n </CopyButtonWrapper>\n);\n","import React from \"react\";\n\nimport { isPresent } from \"@bigbinary/neeto-cist\";\nimport Header from \"neetomolecules/Header\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom/cjs/react-router-dom\";\n\nimport { renderDate, renderStatus } from \"utils/renderFunctions\";\n\nimport { useFetchData } from \"./hooks/useFetchData\";\nimport { renderPayoutIdentifier } from \"./utils\";\n\nimport Dashboard from \"../Dashboard\";\n\nconst PayoutsPage = ({ isPlatformEnabled, indexRoute, ...otherProps }) => {\n const { t } = useTranslation();\n const { id } = useParams();\n\n const {\n isDataLoading,\n data: {\n amount,\n identifier,\n status,\n destinationIdentifier,\n arrivalDate,\n createdAt,\n isAutomatic,\n failureMessage,\n live,\n } = {},\n } = useFetchData({ id, isPlatformEnabled });\n\n const headerBreadCrumbs = [\n { text: t(\"neetoPayments.title.payouts\"), link: indexRoute },\n { text: identifier },\n ];\n\n if (isDataLoading) return <PageLoader />;\n\n return (\n <>\n <Header\n breadcrumbs={headerBreadCrumbs}\n title={t(\"neetoPayments.payoutsPage.title\")}\n />\n <div className=\"w-full space-y-6 p-2\">\n <div className=\"w-full space-y-2\">\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.payoutId\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {renderPayoutIdentifier(identifier, live)}\n </Typography>\n </div>\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.status\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {renderStatus(\"payout\", status, {})}\n </Typography>\n </div>\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.amount\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {amount}\n </Typography>\n </div>\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.arrivalDate\")}\n </Typography>\n {renderDate(arrivalDate)}\n </div>\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.createdAt\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {renderDate(createdAt)}\n </Typography>\n </div>\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.destinationId\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {destinationIdentifier}\n </Typography>\n </div>\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.automatic\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {isAutomatic\n ? t(\"neetoPayments.common.yes\")\n : t(\"neetoPayments.common.no\")}\n </Typography>\n </div>\n {isPresent(failureMessage) && (\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.failureMessage\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {failureMessage}\n </Typography>\n </div>\n )}\n </div>\n </div>\n {isAutomatic && (\n <Dashboard\n {...isPlatformEnabled}\n kind=\"connected\"\n {...otherProps}\n headerProps={{ size: \"nano\" }}\n payoutId={id}\n />\n )}\n </>\n );\n};\n\nexport default PayoutsPage;\n"],"names":["useFetchData","_ref","id","isPlatformEnabled","data","kind","connected","useShowStripePayout","enabled","platform","useShowStripePlatformPayout","payout","isDataLoading","isLoading","renderPayoutIdentifier","identifier","arguments","length","undefined","isLive","React","createElement","CopyButtonWrapper","content","IdentifierButton","href","buildStripePayoutLink","label","PayoutsPage","indexRoute","otherProps","t","useTranslation","useParams","amount","status","destinationIdentifier","arrivalDate","createdAt","isAutomatic","failureMessage","live","headerBreadCrumbs","text","link","PageLoader","Fragment","Header","breadcrumbs","title","className","Typography","style","renderStatus","renderDate","isPresent","Dashboard","_extends","headerProps","size","payoutId"],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ 'use strict';
2
+
3
+ var _extends = require('./extends-1b35a664.js');
4
+ var React = require('react');
5
+ var i18next = require('i18next');
6
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
7
+ var reactI18next = require('react-i18next');
8
+ var useFiltersAndPagination = require('./useFiltersAndPagination-312c0331.js');
9
+ var renderFunctions = require('./renderFunctions-398d3fb5.js');
10
+ var ExportModal = require('./ExportModal-20f368a1.js');
11
+ var neetoCist = require('@bigbinary/neeto-cist');
12
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
13
+ var Columns = require('@bigbinary/neeto-molecules/Columns');
14
+ var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
15
+ var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
16
+ var Table = require('@bigbinary/neetoui/Table');
17
+ var NoData = require('@bigbinary/neetoui/NoData');
18
+ var ramda = require('ramda');
19
+ var reactRouterDom = require('react-router-dom');
20
+ var queryConstants = require('./queryConstants-de21eed5.js');
21
+ var axios = require('axios');
22
+ var constants = require('./constants.js');
23
+ var usePaymentApi = require('./usePaymentApi-ae70e5df.js');
24
+ var index$1 = require('./index-b097dce8.js');
25
+ require('@bigbinary/neeto-filters-frontend');
26
+ require('@bigbinary/neeto-molecules/Header');
27
+ require('@bigbinary/neeto-molecules/SubHeader');
28
+ require('@bigbinary/neetoui/Tab');
29
+ require('@bigbinary/neetoui/Typography');
30
+ require('./index-b7badf96.js');
31
+ require('@bigbinary/neetoui/Button');
32
+ require('@bigbinary/neetoui/Tooltip');
33
+ require('./utils-7eba34a4.js');
34
+ require('react/jsx-runtime');
35
+ require('@bigbinary/neeto-commons-frontend/constants');
36
+ require('./mutation-ed7b84fc.js');
37
+ require('@bigbinary/neeto-molecules/DateFormat');
38
+ require('@bigbinary/neetoui/Tag');
39
+ require('@bigbinary/neeto-molecules/CopyToClipboardButton');
40
+ require('@bigbinary/neeto-icons');
41
+ require('@bigbinary/neetoui/Modal');
42
+ require('./useMutation-4c7cdbe1.js');
43
+ require('./exportChannel-7bd80952.js');
44
+ require('./IdentifierButton-40b5459d.js');
45
+
46
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
47
+
48
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
49
+ var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
50
+ var TableWrapper__default = /*#__PURE__*/_interopDefaultLegacy(TableWrapper);
51
+ var Table__default = /*#__PURE__*/_interopDefaultLegacy(Table);
52
+ var NoData__default = /*#__PURE__*/_interopDefaultLegacy(NoData);
53
+ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
54
+
55
+ const TAB = {
56
+ all: "all",
57
+ successful: "successful",
58
+ declined: "declined",
59
+ refunded: "refunded"
60
+ };
61
+ const TABS = Object.values(TAB);
62
+
63
+ const defaultShow = () => axios__default["default"].get(`${constants.BASE_URL}/api/v1/razorpay/holdable/account`);
64
+ const show = holdableId => axios__default["default"].get(`${constants.BASE_URL}/api/v1/razorpay/holdables/${holdableId}/account`);
65
+ const accountsApi = {
66
+ defaultShow,
67
+ show
68
+ };
69
+
70
+ const useFetchRazorpayAccount = function (holdableId) {
71
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
72
+ return queryConstants.useQuery({
73
+ queryKey: [queryConstants.QUERY_KEYS.RAZORPAY_ACCOUNT_DETAILS, holdableId],
74
+ queryFn: () => {
75
+ if (neetoCist.isPresent(holdableId)) return accountsApi.show(holdableId);
76
+ return accountsApi.defaultShow();
77
+ },
78
+ ...options
79
+ });
80
+ };
81
+
82
+ const List = _ref => {
83
+ let {
84
+ holdableId,
85
+ kind,
86
+ filters,
87
+ setIsFilterButtonVisible,
88
+ pageProperties,
89
+ payableEntityColumns,
90
+ setPageProperties,
91
+ tab,
92
+ sortProperties,
93
+ setSortProperties,
94
+ setDataSize
95
+ } = _ref;
96
+ const history = reactRouterDom.useHistory();
97
+ const {
98
+ t
99
+ } = reactI18next.useTranslation();
100
+ const columnData = useFiltersAndPagination.buildPaymentColumns({
101
+ tab,
102
+ kind,
103
+ payableEntityColumns
104
+ });
105
+ const {
106
+ isLoading: isAccountLoading,
107
+ data: {
108
+ account
109
+ } = {}
110
+ } = useFetchRazorpayAccount();
111
+ const payload = renderFunctions.buildPayload({
112
+ tab,
113
+ filters,
114
+ pageProperties,
115
+ sortProperties
116
+ });
117
+ const {
118
+ hideColumn,
119
+ hiddenColumns = []
120
+ } = Columns.useHiddenColumns(`paymentDashboard_${kind}`);
121
+ const {
122
+ data: {
123
+ payments,
124
+ views = {}
125
+ } = {},
126
+ isLoading: isPaymentsLoaidng,
127
+ isFetching
128
+ } = usePaymentApi.useFetchRazorpayPayments(holdableId, payload, {
129
+ enabled: useFiltersAndPagination.isPaymentKind(kind)
130
+ });
131
+ React.useEffect(() => {
132
+ setIsFilterButtonVisible(neetoCist.isPresent(payments) || neetoCist.isPresent(filters));
133
+ setDataSize(views[tab]);
134
+ }, [payments]);
135
+ const handleTablePaginaton = (page, pageSize) => {
136
+ const queryParams = utils.getQueryParams({
137
+ toCamelCase: false
138
+ });
139
+ history.push(utils.buildUrl(window.location.pathname, ramda.mergeLeft({
140
+ page,
141
+ page_size: pageSize
142
+ }, queryParams)));
143
+ setPageProperties(ramda.assoc(tab, {
144
+ page,
145
+ pageSize
146
+ }));
147
+ };
148
+ const handleTableChange = (_, __, sorter) => {
149
+ setSortProperties(neetoCist.isPresent(sorter?.column) ? {
150
+ sortBy: neetoCist.camelToSnakeCase(sorter.field),
151
+ orderBy: sorter.order === "ascend" ? "ASC" : "DESC"
152
+ } : constants.DEFAULT_SORT_PROPERTIES);
153
+ };
154
+ const visibleColumns = columnData.filter(_ref2 => {
155
+ let {
156
+ dataIndex
157
+ } = _ref2;
158
+ return !hiddenColumns.includes(index$1.processDataIndex(dataIndex));
159
+ });
160
+ if (isAccountLoading || isPaymentsLoaidng) {
161
+ return /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null);
162
+ }
163
+ if (!account?.isConnected && views <= 0 || !neetoCist.isPresent(payments)) {
164
+ return /*#__PURE__*/React__default["default"].createElement("div", {
165
+ className: "flex h-full w-full items-center justify-center"
166
+ }, /*#__PURE__*/React__default["default"].createElement(NoData__default["default"], {
167
+ title: tab === TAB.all ? t(`neetoPayments.emptyState.${kind}`) : t(`neetoPayments.emptyState.${kind}WithStatus`, {
168
+ status: tab
169
+ })
170
+ }));
171
+ }
172
+ return /*#__PURE__*/React__default["default"].createElement(TableWrapper__default["default"], {
173
+ hasPagination: views > pageProperties[tab]?.pageSize
174
+ }, /*#__PURE__*/React__default["default"].createElement(Table__default["default"], {
175
+ fixedHeight: true,
176
+ allowRowClick: false,
177
+ columnData: visibleColumns,
178
+ currentPageNumber: pageProperties[tab]?.page,
179
+ handlePageChange: handleTablePaginaton,
180
+ loading: isFetching,
181
+ rowData: renderFunctions.buildRowData({
182
+ data: payments,
183
+ pageProperties,
184
+ tab
185
+ }),
186
+ rowSelection: false,
187
+ sortDirections: constants.SORT_DIRECTIONS,
188
+ totalCount: views,
189
+ paginationProps: {
190
+ showSizeChanger: true,
191
+ hideOnSinglePage: true,
192
+ pageSize: pageProperties[tab]?.pageSize,
193
+ total: views
194
+ },
195
+ onChange: handleTableChange,
196
+ onColumnHide: columnData => {
197
+ hideColumn(index$1.processDataIndex(columnData.dataIndex));
198
+ }
199
+ }));
200
+ };
201
+
202
+ const RazorpayDashboard = _ref => {
203
+ let {
204
+ searchProps,
205
+ headerProps = {},
206
+ holdableId = null,
207
+ payableEntityColumns = [],
208
+ kind = "razorpayPayment"
209
+ } = _ref;
210
+ const [showExportModal, setShowExportModal] = React.useState(false);
211
+ const {
212
+ t
213
+ } = reactI18next.useTranslation();
214
+ const filterPaginationState = useFiltersAndPagination.useFiltersAndPagination({
215
+ payableEntityColumns,
216
+ kind,
217
+ initialTabs: TABS,
218
+ tabMetaData: {}
219
+ });
220
+ const {
221
+ filters,
222
+ setIsFilterButtonVisible,
223
+ pageProperties,
224
+ setPageProperties,
225
+ sortProperties,
226
+ setSortProperties,
227
+ tab,
228
+ setDataSize
229
+ } = filterPaginationState;
230
+ return /*#__PURE__*/React__default["default"].createElement(useFiltersAndPagination.FilterWrapper, _extends._extends({
231
+ title: t("neetoPayments.common.razorpayPayments"),
232
+ headerProps,
233
+ kind,
234
+ payableEntityColumns,
235
+ searchProps,
236
+ setShowExportModal
237
+ }, filterPaginationState), /*#__PURE__*/React__default["default"].createElement(List, {
238
+ filters,
239
+ holdableId,
240
+ kind,
241
+ pageProperties,
242
+ payableEntityColumns,
243
+ setDataSize,
244
+ setIsFilterButtonVisible,
245
+ setPageProperties,
246
+ setSortProperties,
247
+ sortProperties,
248
+ tab
249
+ }), /*#__PURE__*/React__default["default"].createElement(ExportModal.ExportModal, {
250
+ filters,
251
+ holdableId,
252
+ kind,
253
+ setShowExportModal,
254
+ showExportModal,
255
+ sortProperties,
256
+ tab
257
+ }));
258
+ };
259
+ var index = reactUtils.withTitle(renderFunctions.withReactQuery(RazorpayDashboard), i18next.t("neetoPayments.common.razorpayPayments"));
260
+
261
+ module.exports = index;
262
+ //# sourceMappingURL=RazorpayDashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RazorpayDashboard.js","sources":["../../app/javascript/src/components/RazorpayDashboard/constants/index.js","../../app/javascript/src/apis/razorpay/accounts.js","../../app/javascript/src/hooks/reactQuery/razorpay/useAccountApi.js","../../app/javascript/src/components/RazorpayDashboard/List.jsx","../../app/javascript/src/components/RazorpayDashboard/index.jsx"],"sourcesContent":["export const TAB = {\n all: \"all\",\n successful: \"successful\",\n declined: \"declined\",\n refunded: \"refunded\",\n};\n\nexport const TABS = Object.values(TAB);\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst defaultShow = () =>\n axios.get(`${BASE_URL}/api/v1/razorpay/holdable/account`);\n\nconst show = holdableId =>\n axios.get(`${BASE_URL}/api/v1/razorpay/holdables/${holdableId}/account`);\n\nconst accountsApi = { defaultShow, show };\n\nexport default accountsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { isPresent } from \"neetocist\";\n\nimport accountsApi from \"apis/razorpay/accounts\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchRazorpayAccount = (holdableId, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.RAZORPAY_ACCOUNT_DETAILS, holdableId],\n queryFn: () => {\n if (isPresent(holdableId)) return accountsApi.show(holdableId);\n\n return accountsApi.defaultShow();\n },\n ...options,\n });\n","import React, { useEffect } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { useHiddenColumns } from \"neetomolecules/Columns\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { assoc, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useFetchRazorpayAccount } from \"hooks/reactQuery/razorpay/useAccountApi\";\nimport { useFetchRazorpayPayments } from \"hooks/reactQuery/razorpay/usePaymentApi\";\nimport { DEFAULT_SORT_PROPERTIES, SORT_DIRECTIONS } from \"src/constants\";\nimport { processDataIndex } from \"utils\";\nimport { buildPayload, buildRowData } from \"utils/dashboard\";\n\nimport { TAB } from \"./constants\";\nimport { buildPaymentColumns, isPaymentKind } from \"./utils\";\n\nconst List = ({\n holdableId,\n kind,\n filters,\n setIsFilterButtonVisible,\n pageProperties,\n payableEntityColumns,\n setPageProperties,\n tab,\n sortProperties,\n setSortProperties,\n setDataSize,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n const columnData = buildPaymentColumns({\n tab,\n kind,\n payableEntityColumns,\n });\n\n const { isLoading: isAccountLoading, data: { account } = {} } =\n useFetchRazorpayAccount();\n\n const payload = buildPayload({\n tab,\n filters,\n pageProperties,\n sortProperties,\n });\n\n const { hideColumn, hiddenColumns = [] } = useHiddenColumns(\n `paymentDashboard_${kind}`\n );\n\n const {\n data: { payments, views = {} } = {},\n isLoading: isPaymentsLoaidng,\n isFetching,\n } = useFetchRazorpayPayments(holdableId, payload, {\n enabled: isPaymentKind(kind),\n });\n\n useEffect(() => {\n setIsFilterButtonVisible(isPresent(payments) || isPresent(filters));\n setDataSize(views[tab]);\n }, [payments]);\n\n const handleTablePaginaton = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties(assoc(tab, { page, pageSize }));\n };\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(sorter.field),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n const visibleColumns = columnData.filter(\n ({ dataIndex }) => !hiddenColumns.includes(processDataIndex(dataIndex))\n );\n\n if (isAccountLoading || isPaymentsLoaidng) {\n return <PageLoader />;\n }\n\n if ((!account?.isConnected && views <= 0) || !isPresent(payments)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === TAB.all\n ? t(`neetoPayments.emptyState.${kind}`)\n : t(`neetoPayments.emptyState.${kind}WithStatus`, { status: tab })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={views > pageProperties[tab]?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={visibleColumns}\n currentPageNumber={pageProperties[tab]?.page}\n handlePageChange={handleTablePaginaton}\n loading={isFetching}\n rowData={buildRowData({ data: payments, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={views}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties[tab]?.pageSize,\n total: views,\n }}\n onChange={handleTableChange}\n onColumnHide={columnData => {\n hideColumn(processDataIndex(columnData.dataIndex));\n }}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import React, { useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FilterWrapper from \"components/Common/FilterWrapper\";\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport ExportModal from \"components/Dashboard/ExportModal\";\nimport { useFiltersAndPagination } from \"hooks/useFiltersAndPagination\";\n\nimport { TABS } from \"./constants\";\nimport List from \"./List\";\n\nconst RazorpayDashboard = ({\n searchProps,\n headerProps = {},\n holdableId = null,\n payableEntityColumns = [],\n kind = \"razorpayPayment\",\n}) => {\n const [showExportModal, setShowExportModal] = useState(false);\n const { t } = useTranslation();\n const filterPaginationState = useFiltersAndPagination({\n payableEntityColumns,\n kind,\n initialTabs: TABS,\n tabMetaData: {},\n });\n\n const {\n filters,\n setIsFilterButtonVisible,\n pageProperties,\n setPageProperties,\n sortProperties,\n setSortProperties,\n tab,\n setDataSize,\n } = filterPaginationState;\n\n return (\n <FilterWrapper\n title={t(\"neetoPayments.common.razorpayPayments\")}\n {...{\n headerProps,\n kind,\n payableEntityColumns,\n searchProps,\n setShowExportModal,\n ...filterPaginationState,\n }}\n >\n <List\n {...{\n filters,\n holdableId,\n kind,\n pageProperties,\n payableEntityColumns,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n }}\n />\n <ExportModal\n {...{\n filters,\n holdableId,\n kind,\n setShowExportModal,\n showExportModal,\n sortProperties,\n tab,\n }}\n />\n </FilterWrapper>\n );\n};\n\nexport default withTitle(\n withReactQuery(RazorpayDashboard),\n t(\"neetoPayments.common.razorpayPayments\")\n);\n"],"names":["TAB","all","successful","declined","refunded","TABS","Object","values","defaultShow","axios","get","BASE_URL","show","holdableId","accountsApi","useFetchRazorpayAccount","options","arguments","length","undefined","useQuery","queryKey","QUERY_KEYS","RAZORPAY_ACCOUNT_DETAILS","queryFn","isPresent","List","_ref","kind","filters","setIsFilterButtonVisible","pageProperties","payableEntityColumns","setPageProperties","tab","sortProperties","setSortProperties","setDataSize","history","useHistory","t","useTranslation","columnData","buildPaymentColumns","isLoading","isAccountLoading","data","account","payload","buildPayload","hideColumn","hiddenColumns","useHiddenColumns","payments","views","isPaymentsLoaidng","isFetching","useFetchRazorpayPayments","enabled","isPaymentKind","useEffect","handleTablePaginaton","page","pageSize","queryParams","getQueryParams","toCamelCase","push","buildUrl","window","location","pathname","mergeLeft","page_size","assoc","handleTableChange","_","__","sorter","column","sortBy","camelToSnakeCase","field","orderBy","order","DEFAULT_SORT_PROPERTIES","visibleColumns","filter","_ref2","dataIndex","includes","processDataIndex","React","createElement","PageLoader","isConnected","className","NoData","title","status","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","handlePageChange","loading","rowData","buildRowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","RazorpayDashboard","searchProps","headerProps","showExportModal","setShowExportModal","useState","filterPaginationState","useFiltersAndPagination","initialTabs","tabMetaData","FilterWrapper","_extends","ExportModal","withTitle","withReactQuery"],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var neetoCist = require('@bigbinary/neeto-cist');
5
+ var Button = require('@bigbinary/neetoui/Button');
6
+ var ramda = require('ramda');
7
+ var reactI18next = require('react-i18next');
8
+ var usePaymentApi = require('./usePaymentApi-ae70e5df.js');
9
+ var constants = require('./constants.js');
10
+ require('./queryConstants-de21eed5.js');
11
+ require('./utils-7eba34a4.js');
12
+ require('react/jsx-runtime');
13
+ require('./useMutation-4c7cdbe1.js');
14
+ require('./mutation-ed7b84fc.js');
15
+ require('axios');
16
+ require('i18next');
17
+ require('@bigbinary/neeto-commons-frontend/constants');
18
+
19
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
+
21
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
+ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
23
+
24
+ const loadScript = src => new Promise(resolve => {
25
+ const script = document.createElement("script");
26
+ script.src = src;
27
+ script.onload = () => {
28
+ resolve(true);
29
+ };
30
+ script.onerror = () => {
31
+ resolve(false);
32
+ };
33
+ document.body.appendChild(script);
34
+ });
35
+ const RazorpayPaymentButton = _ref => {
36
+ let {
37
+ label,
38
+ payableId,
39
+ discountCode,
40
+ email,
41
+ name,
42
+ isCardPreservable = false,
43
+ onBeforePayment = neetoCist.noop,
44
+ onSuccessfulPayment = neetoCist.noop,
45
+ onFailedPayment = neetoCist.noop
46
+ } = _ref;
47
+ const {
48
+ t
49
+ } = reactI18next.useTranslation();
50
+ const openRazorpayCheckout = async options => {
51
+ const script = await loadScript("https://checkout.razorpay.com/v1/checkout.js");
52
+ if (!script) {
53
+ logger.error(t("neetoPayments.razorpay.loadError"));
54
+ return;
55
+ }
56
+ const checkout = new window.Razorpay(options);
57
+ checkout.open();
58
+ };
59
+ const handlePayment = response => {
60
+ if (neetoCist.isNotPresent(response?.razorpay_signature)) {
61
+ onFailedPayment();
62
+ return;
63
+ }
64
+ onSuccessfulPayment();
65
+ };
66
+ const handleSuccess = _ref2 => {
67
+ let {
68
+ payment
69
+ } = _ref2;
70
+ if (payment?.status === "successful") {
71
+ return onSuccessfulPayment();
72
+ }
73
+ const save = isCardPreservable ? 1 : 0;
74
+ const options = {
75
+ save,
76
+ key: payment.publicKey,
77
+ order_id: payment.orderIdentifier,
78
+ customer_id: payment.customerIdentifier,
79
+ prefill: {
80
+ name,
81
+ email
82
+ },
83
+ modal: {
84
+ confirm_close: true,
85
+ ondismiss: onFailedPayment
86
+ },
87
+ handler: handlePayment
88
+ };
89
+ return openRazorpayCheckout(ramda.mergeDeepLeft(constants.RAZORPAY_PAYMENT_BUTTON_OPTIONS, options));
90
+ };
91
+ const {
92
+ isLoading,
93
+ mutate: createRazorpayOrder
94
+ } = usePaymentApi.useCreateRazorpayPayment({
95
+ onSuccess: handleSuccess
96
+ });
97
+ const handleClick = () => {
98
+ onBeforePayment();
99
+ const payload = {
100
+ payableId,
101
+ discountCode,
102
+ customerAttributes: {
103
+ email,
104
+ name
105
+ }
106
+ };
107
+ createRazorpayOrder(payload);
108
+ };
109
+ return /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
110
+ disabled: isLoading,
111
+ label: label || t("neetoPayments.common.pay"),
112
+ loading: isLoading,
113
+ onClick: handleClick
114
+ });
115
+ };
116
+
117
+ module.exports = RazorpayPaymentButton;
118
+ //# sourceMappingURL=RazorpayPaymentButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RazorpayPaymentButton.js","sources":["../../app/javascript/src/components/RazorpayPaymentButton.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { isNotPresent, noop } from \"neetocist\";\nimport { Button } from \"neetoui\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateRazorpayPayment } from \"hooks/reactQuery/razorpay/usePaymentApi\";\nimport { RAZORPAY_PAYMENT_BUTTON_OPTIONS } from \"src/constants\";\n\nconst loadScript = src =>\n new Promise(resolve => {\n const script = document.createElement(\"script\");\n script.src = src;\n script.onload = () => {\n resolve(true);\n };\n\n script.onerror = () => {\n resolve(false);\n };\n document.body.appendChild(script);\n });\n\nconst RazorpayPaymentButton = ({\n label,\n payableId,\n discountCode,\n email,\n name,\n isCardPreservable = false,\n onBeforePayment = noop,\n onSuccessfulPayment = noop,\n onFailedPayment = noop,\n}) => {\n const { t } = useTranslation();\n\n const openRazorpayCheckout = async options => {\n const script = await loadScript(\n \"https://checkout.razorpay.com/v1/checkout.js\"\n );\n\n if (!script) {\n logger.error(t(\"neetoPayments.razorpay.loadError\"));\n\n return;\n }\n const checkout = new window.Razorpay(options);\n checkout.open();\n };\n\n const handlePayment = response => {\n if (isNotPresent(response?.razorpay_signature)) {\n onFailedPayment();\n\n return;\n }\n\n onSuccessfulPayment();\n };\n\n const handleSuccess = ({ payment }) => {\n if (payment?.status === \"successful\") {\n return onSuccessfulPayment();\n }\n\n const save = isCardPreservable ? 1 : 0;\n const options = {\n save,\n key: payment.publicKey,\n order_id: payment.orderIdentifier,\n customer_id: payment.customerIdentifier,\n prefill: { name, email },\n modal: { confirm_close: true, ondismiss: onFailedPayment },\n handler: handlePayment,\n };\n\n return openRazorpayCheckout(\n mergeDeepLeft(RAZORPAY_PAYMENT_BUTTON_OPTIONS, options)\n );\n };\n\n const { isLoading, mutate: createRazorpayOrder } = useCreateRazorpayPayment({\n onSuccess: handleSuccess,\n });\n\n const handleClick = () => {\n onBeforePayment();\n const payload = {\n payableId,\n discountCode,\n customerAttributes: { email, name },\n };\n createRazorpayOrder(payload);\n };\n\n return (\n <Button\n disabled={isLoading}\n label={label || t(\"neetoPayments.common.pay\")}\n loading={isLoading}\n onClick={handleClick}\n />\n );\n};\n\nexport default RazorpayPaymentButton;\n"],"names":["loadScript","src","Promise","resolve","script","document","createElement","onload","onerror","body","appendChild","RazorpayPaymentButton","_ref","label","payableId","discountCode","email","name","isCardPreservable","onBeforePayment","noop","onSuccessfulPayment","onFailedPayment","t","useTranslation","openRazorpayCheckout","options","logger","error","checkout","window","Razorpay","open","handlePayment","response","isNotPresent","razorpay_signature","handleSuccess","_ref2","payment","status","save","key","publicKey","order_id","orderIdentifier","customer_id","customerIdentifier","prefill","modal","confirm_close","ondismiss","handler","mergeDeepLeft","RAZORPAY_PAYMENT_BUTTON_OPTIONS","isLoading","mutate","createRazorpayOrder","useCreateRazorpayPayment","onSuccess","handleClick","payload","customerAttributes","React","Button","disabled","loading","onClick"],"mappings":"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"}