@bigbinary/neeto-payments-frontend 3.3.31 → 3.3.32

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 (133) hide show
  1. package/dist/AccountsDashboard.js +545 -0
  2. package/dist/AccountsDashboard.js.map +1 -0
  3. package/dist/AdminCancelRecurringPaymentButton.js +79 -0
  4. package/dist/AdminCancelRecurringPaymentButton.js.map +1 -0
  5. package/dist/ConfirmUpiPaymentButton.js +151 -0
  6. package/dist/ConfirmUpiPaymentButton.js.map +1 -0
  7. package/dist/CopyButtonWrapper-SoJkwX-d.js +27 -0
  8. package/dist/CopyButtonWrapper-SoJkwX-d.js.map +1 -0
  9. package/dist/CustomerCancelRecurringPaymentForm.js +111 -0
  10. package/dist/CustomerCancelRecurringPaymentForm.js.map +1 -0
  11. package/dist/ExportModal-DCGDM_Fa.js +131 -0
  12. package/dist/ExportModal-DCGDM_Fa.js.map +1 -0
  13. package/dist/ManualUpiPaymentConfirmButton.js +188 -0
  14. package/dist/ManualUpiPaymentConfirmButton.js.map +1 -0
  15. package/dist/PaymentKindRestrictionAlert.js +39 -0
  16. package/dist/PaymentKindRestrictionAlert.js.map +1 -0
  17. package/dist/PaymentsDashboard.js +586 -0
  18. package/dist/PaymentsDashboard.js.map +1 -0
  19. package/dist/PayoutsDashboard.js +559 -0
  20. package/dist/PayoutsDashboard.js.map +1 -0
  21. package/dist/PayoutsPage.js +162 -0
  22. package/dist/PayoutsPage.js.map +1 -0
  23. package/dist/RazorpayPaymentButton.js +145 -0
  24. package/dist/RazorpayPaymentButton.js.map +1 -0
  25. package/dist/RecurringPaymentSettings.js +132 -0
  26. package/dist/RecurringPaymentSettings.js.map +1 -0
  27. package/dist/RefundsDashboard.js +531 -0
  28. package/dist/RefundsDashboard.js.map +1 -0
  29. package/dist/SplitTransfersDashboard.js +1119 -0
  30. package/dist/SplitTransfersDashboard.js.map +1 -0
  31. package/dist/TaxesDashboard.js +411 -0
  32. package/dist/TaxesDashboard.js.map +1 -0
  33. package/dist/UpiConnect.js +171 -0
  34. package/dist/UpiConnect.js.map +1 -0
  35. package/dist/UpiPayment.js +120 -0
  36. package/dist/UpiPayment.js.map +1 -0
  37. package/dist/buildStripeTransactionLink.js +11 -0
  38. package/dist/buildStripeTransactionLink.js.map +1 -0
  39. package/dist/cjs/AccountsDashboard.js +547 -0
  40. package/dist/cjs/AccountsDashboard.js.map +1 -0
  41. package/dist/cjs/AdminCancelRecurringPaymentButton.js +81 -0
  42. package/dist/cjs/AdminCancelRecurringPaymentButton.js.map +1 -0
  43. package/dist/cjs/ConfirmUpiPaymentButton.js +172 -0
  44. package/dist/cjs/ConfirmUpiPaymentButton.js.map +1 -0
  45. package/dist/cjs/CopyButtonWrapper-Ds1k64E0.js +30 -0
  46. package/dist/cjs/CopyButtonWrapper-Ds1k64E0.js.map +1 -0
  47. package/dist/cjs/CustomerCancelRecurringPaymentForm.js +113 -0
  48. package/dist/cjs/CustomerCancelRecurringPaymentForm.js.map +1 -0
  49. package/dist/cjs/ExportModal-BZWbo5JF.js +133 -0
  50. package/dist/cjs/ExportModal-BZWbo5JF.js.map +1 -0
  51. package/dist/cjs/ManualUpiPaymentConfirmButton.js +209 -0
  52. package/dist/cjs/ManualUpiPaymentConfirmButton.js.map +1 -0
  53. package/dist/cjs/PaymentKindRestrictionAlert.js +41 -0
  54. package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
  55. package/dist/cjs/PaymentsDashboard.js +588 -0
  56. package/dist/cjs/PaymentsDashboard.js.map +1 -0
  57. package/dist/cjs/PayoutsDashboard.js +561 -0
  58. package/dist/cjs/PayoutsDashboard.js.map +1 -0
  59. package/dist/cjs/PayoutsPage.js +164 -0
  60. package/dist/cjs/PayoutsPage.js.map +1 -0
  61. package/dist/cjs/RazorpayPaymentButton.js +147 -0
  62. package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
  63. package/dist/cjs/RecurringPaymentSettings.js +153 -0
  64. package/dist/cjs/RecurringPaymentSettings.js.map +1 -0
  65. package/dist/cjs/RefundsDashboard.js +533 -0
  66. package/dist/cjs/RefundsDashboard.js.map +1 -0
  67. package/dist/cjs/SplitTransfersDashboard.js +1140 -0
  68. package/dist/cjs/SplitTransfersDashboard.js.map +1 -0
  69. package/dist/cjs/TaxesDashboard.js +432 -0
  70. package/dist/cjs/TaxesDashboard.js.map +1 -0
  71. package/dist/cjs/UpiConnect.js +192 -0
  72. package/dist/cjs/UpiConnect.js.map +1 -0
  73. package/dist/cjs/UpiPayment.js +141 -0
  74. package/dist/cjs/UpiPayment.js.map +1 -0
  75. package/dist/cjs/buildStripeTransactionLink.js +13 -0
  76. package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
  77. package/dist/cjs/constants.js +32 -0
  78. package/dist/cjs/constants.js.map +1 -0
  79. package/dist/cjs/dashboard-H1ov-J3v.js +112 -0
  80. package/dist/cjs/dashboard-H1ov-J3v.js.map +1 -0
  81. package/dist/cjs/exportChannel-BsZ3fusx.js +24 -0
  82. package/dist/cjs/exportChannel-BsZ3fusx.js.map +1 -0
  83. package/dist/cjs/getAmountInSmallestCurrencyUnit.js +13 -0
  84. package/dist/cjs/getAmountInSmallestCurrencyUnit.js.map +1 -0
  85. package/dist/cjs/index-BYewZJN8.js +638 -0
  86. package/dist/cjs/index-BYewZJN8.js.map +1 -0
  87. package/dist/cjs/index.js +114 -0
  88. package/dist/cjs/index.js.map +1 -0
  89. package/dist/cjs/queryConstants-DGg4cX3r.js +29 -0
  90. package/dist/cjs/queryConstants-DGg4cX3r.js.map +1 -0
  91. package/dist/cjs/renderFunctions-CovxUt9o.js +56 -0
  92. package/dist/cjs/renderFunctions-CovxUt9o.js.map +1 -0
  93. package/dist/cjs/stripe.esm-CrNYjPcC.js +132 -0
  94. package/dist/cjs/stripe.esm-CrNYjPcC.js.map +1 -0
  95. package/dist/cjs/usePaymentApi-CcdKGxJD.js +39 -0
  96. package/dist/cjs/usePaymentApi-CcdKGxJD.js.map +1 -0
  97. package/dist/cjs/usePaymentsApi-Dz6uXFhx.js +41 -0
  98. package/dist/cjs/usePaymentsApi-Dz6uXFhx.js.map +1 -0
  99. package/dist/cjs/usePlatformApi-DB_N-Ua_.js +84 -0
  100. package/dist/cjs/usePlatformApi-DB_N-Ua_.js.map +1 -0
  101. package/dist/cjs/useRazorpayPayment.js +112 -0
  102. package/dist/cjs/useRazorpayPayment.js.map +1 -0
  103. package/dist/cjs/useStripePromise.js +57 -0
  104. package/dist/cjs/useStripePromise.js.map +1 -0
  105. package/dist/constants.js +7 -0
  106. package/dist/constants.js.map +1 -0
  107. package/dist/dashboard-D6ZJpJ3n.js +106 -0
  108. package/dist/dashboard-D6ZJpJ3n.js.map +1 -0
  109. package/dist/exportChannel-CViICC6x.js +22 -0
  110. package/dist/exportChannel-CViICC6x.js.map +1 -0
  111. package/dist/getAmountInSmallestCurrencyUnit.js +11 -0
  112. package/dist/getAmountInSmallestCurrencyUnit.js.map +1 -0
  113. package/dist/index-ER2sofJn.js +604 -0
  114. package/dist/index-ER2sofJn.js.map +1 -0
  115. package/dist/index.js +90 -0
  116. package/dist/index.js.map +1 -0
  117. package/dist/queryConstants-mgjK5Hgk.js +27 -0
  118. package/dist/queryConstants-mgjK5Hgk.js.map +1 -0
  119. package/dist/renderFunctions-Cmo1gJ6o.js +52 -0
  120. package/dist/renderFunctions-Cmo1gJ6o.js.map +1 -0
  121. package/dist/stripe.esm-DuZ_gsAa.js +130 -0
  122. package/dist/stripe.esm-DuZ_gsAa.js.map +1 -0
  123. package/dist/usePaymentApi-DBEceBVs.js +37 -0
  124. package/dist/usePaymentApi-DBEceBVs.js.map +1 -0
  125. package/dist/usePaymentsApi-K6rhWzss.js +38 -0
  126. package/dist/usePaymentsApi-K6rhWzss.js.map +1 -0
  127. package/dist/usePlatformApi-36ZLH1ga.js +79 -0
  128. package/dist/usePlatformApi-36ZLH1ga.js.map +1 -0
  129. package/dist/useRazorpayPayment.js +110 -0
  130. package/dist/useRazorpayPayment.js.map +1 -0
  131. package/dist/useStripePromise.js +55 -0
  132. package/dist/useStripePromise.js.map +1 -0
  133. package/package.json +5 -5
@@ -0,0 +1,545 @@
1
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
+ import { useState, useMemo, useEffect, useTransition } from 'react';
3
+ import { t } from 'i18next';
4
+ import { capitalize, removeBy, isPresent, camelToSnakeCase } from '@bigbinary/neeto-cist';
5
+ import { useQueryParams, withTitle } from '@bigbinary/neeto-commons-frontend/react-utils';
6
+ import FiltersBar from '@bigbinary/neeto-filters-frontend/Bar';
7
+ import Header from '@bigbinary/neeto-molecules/Header';
8
+ import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
9
+ import Tab from '@bigbinary/neetoui/Tab';
10
+ import Typography from '@bigbinary/neetoui/Typography';
11
+ import { useTranslation } from 'react-i18next';
12
+ import { u as useExportData, b as buildDefaultPageProperties, a as buildPayload, c as buildRowData, w as withReactQuery } from './dashboard-D6ZJpJ3n.js';
13
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
14
+ import Download from '@bigbinary/neeto-icons/Download';
15
+ import Button from '@bigbinary/neetoui/Button';
16
+ import Modal from '@bigbinary/neetoui/Modal';
17
+ import { e as exportChannel } from './exportChannel-CViICC6x.js';
18
+ import { u as uuidV4, a as buildStripeAccountLink, D as DEFAULT_SORT_PROPERTIES, B as BASE_URL, S as SORT_DIRECTIONS } from './index-ER2sofJn.js';
19
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
20
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
21
+ import { getQueryParams, buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
22
+ import { buildFiltersFromURL } from '@bigbinary/neeto-filters-frontend/utils';
23
+ import { pipe, split, map, join, mergeLeft, assoc } from 'ramda';
24
+ import { useHistory } from 'react-router-dom';
25
+ import { r as renderStatus, a as renderFullName, b as renderDate } from './renderFunctions-Cmo1gJ6o.js';
26
+ import { C as CopyButtonWrapper } from './CopyButtonWrapper-SoJkwX-d.js';
27
+ import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX } from '@bigbinary/neeto-commons-frontend/constants';
28
+ import { useHiddenColumns } from '@bigbinary/neeto-molecules/Columns';
29
+ import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
30
+ import Table from '@bigbinary/neetoui/Table';
31
+ import NoData from '@bigbinary/neetoui/NoData';
32
+ import Spinner from '@bigbinary/neetoui/Spinner';
33
+ import { useQuery } from '@tanstack/react-query';
34
+ import axios from 'axios';
35
+ import { Q as QUERY_KEYS } from './queryConstants-mgjK5Hgk.js';
36
+ import '@tanstack/react-query-devtools';
37
+ import '@bigbinary/neeto-molecules/DateFormat';
38
+ import '@bigbinary/neetoui/Tag';
39
+ import '@bigbinary/neetoui/Tooltip';
40
+ import '@bigbinary/neeto-molecules/CopyToClipboardButton';
41
+
42
+ var TAB = {
43
+ all: "all",
44
+ connected: "connected",
45
+ disconnected: "disconnected",
46
+ incomplete: "incomplete"
47
+ };
48
+ var TABS = Object.values(TAB);
49
+ var SEARCH_PROPS = {
50
+ key: "keyword",
51
+ node: "identifier,user.first_name,last_name,email",
52
+ model: "NeetoPaymentsEngine::Stripe::Account,User"
53
+ };
54
+ var DASHBOARD_MANDATORY_COLUMNS = ["id", "status", "identifier"];
55
+ var FILTER_COLUMNS = [{
56
+ key: "created_at",
57
+ label: t("neetoPayments.common.createdAt"),
58
+ node: "created_at",
59
+ type: "date",
60
+ showRuleSelector: true
61
+ }];
62
+ var STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY = "stripeAccountsDashboard";
63
+
64
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
65
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
66
+ var ExportModal = function ExportModal(_ref) {
67
+ var showExportModal = _ref.showExportModal,
68
+ setShowExportModal = _ref.setShowExportModal,
69
+ tab = _ref.tab,
70
+ filters = _ref.filters,
71
+ _ref$sortProperties = _ref.sortProperties,
72
+ sortProperties = _ref$sortProperties === void 0 ? {} : _ref$sortProperties;
73
+ var _useTranslation = useTranslation(),
74
+ t = _useTranslation.t;
75
+ var _useState = useState(""),
76
+ _useState2 = _slicedToArray(_useState, 2),
77
+ downloadUrl = _useState2[0],
78
+ setDownloadUrl = _useState2[1];
79
+ var _useState3 = useState(false),
80
+ _useState4 = _slicedToArray(_useState3, 2),
81
+ isGenerating = _useState4[0],
82
+ setIsGenerating = _useState4[1];
83
+ var _useExportData = useExportData(),
84
+ exportCsv = _useExportData.mutate,
85
+ isPending = _useExportData.isPending;
86
+ var isFileLoading = isPending || isGenerating;
87
+ var token = useMemo(function () {
88
+ return "account-report-".concat(uuidV4());
89
+ }, []);
90
+ var receivedCallback = function receivedCallback(data) {
91
+ if (!data.download_url) return;
92
+ setDownloadUrl(data.download_url);
93
+ setIsGenerating(false);
94
+ };
95
+ var handleGenerateClick = function handleGenerateClick() {
96
+ var payload = _objectSpread$2({
97
+ kind: "account",
98
+ token: token,
99
+ filters: filters,
100
+ tab: tab
101
+ }, sortProperties);
102
+ exportCsv(payload, {
103
+ onSuccess: function onSuccess() {
104
+ setDownloadUrl("");
105
+ setIsGenerating(true);
106
+ }
107
+ });
108
+ };
109
+ useEffect(function () {
110
+ if (showExportModal) {
111
+ var channel = exportChannel(token, receivedCallback);
112
+ setDownloadUrl("");
113
+ setIsGenerating(false);
114
+ return function () {
115
+ channel.disconnected();
116
+ };
117
+ }
118
+ return undefined;
119
+ }, [showExportModal, token]);
120
+ var onClose = function onClose() {
121
+ return setShowExportModal(false);
122
+ };
123
+ return /*#__PURE__*/jsxs(Modal, {
124
+ onClose: onClose,
125
+ isOpen: showExportModal,
126
+ children: [/*#__PURE__*/jsx(Modal.Header, {
127
+ children: /*#__PURE__*/jsx(Typography, {
128
+ style: "h2",
129
+ children: t("neetoPayments.export.title.account")
130
+ })
131
+ }), /*#__PURE__*/jsx(Modal.Body, {
132
+ children: isFileLoading ? /*#__PURE__*/jsx(Typography, {
133
+ style: "body2",
134
+ children: t("neetoPayments.export.pleaseWait")
135
+ }) : /*#__PURE__*/jsx(Typography, {
136
+ style: "body2",
137
+ children: downloadUrl ? t("neetoPayments.export.fileReady") : t("neetoPayments.export.download.account")
138
+ })
139
+ }), /*#__PURE__*/jsx(Modal.Footer, {
140
+ className: "space-x-2",
141
+ children: downloadUrl ? /*#__PURE__*/jsx(Button, {
142
+ href: downloadUrl,
143
+ icon: Download,
144
+ label: t("neetoPayments.common.download"),
145
+ onClick: onClose
146
+ }) : /*#__PURE__*/jsxs(Fragment, {
147
+ children: [/*#__PURE__*/jsx(Button, {
148
+ disabled: isFileLoading,
149
+ label: t("neetoPayments.common.cancel"),
150
+ style: "tertiary",
151
+ onClick: onClose
152
+ }), /*#__PURE__*/jsx(Button, {
153
+ disabled: isFileLoading,
154
+ label: t("neetoPayments.common.export"),
155
+ loading: isFileLoading,
156
+ onClick: handleGenerateClick
157
+ })]
158
+ })
159
+ })]
160
+ });
161
+ };
162
+
163
+ var renderIdentifier = function renderIdentifier() {
164
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
165
+ _ref$identifier = _ref.identifier,
166
+ identifier = _ref$identifier === void 0 ? "" : _ref$identifier,
167
+ _ref$isLive = _ref.isLive,
168
+ isLive = _ref$isLive === void 0 ? false : _ref$isLive;
169
+ return /*#__PURE__*/jsx(CopyButtonWrapper, {
170
+ content: identifier,
171
+ children: /*#__PURE__*/jsx(Button, {
172
+ href: buildStripeAccountLink(identifier, isLive),
173
+ label: identifier,
174
+ size: "small",
175
+ style: "link",
176
+ target: "_blank"
177
+ })
178
+ });
179
+ };
180
+ var renderCountry = pipe(split("_"), map(capitalize), join(" "));
181
+
182
+ var COLUMNS = [{
183
+ title: t("neetoPayments.common.id"),
184
+ dataIndex: "id",
185
+ key: "id",
186
+ width: "85px",
187
+ isHidable: false
188
+ }, {
189
+ title: t("neetoPayments.common.identifier"),
190
+ dataIndex: "identifier",
191
+ key: "identifier",
192
+ width: "300px",
193
+ render: renderIdentifier,
194
+ isHidable: false
195
+ }, {
196
+ title: t("neetoPayments.common.status"),
197
+ dataIndex: "status",
198
+ key: "status",
199
+ width: "150px",
200
+ render: renderStatus("account"),
201
+ sorter: true,
202
+ isHidable: false
203
+ }, {
204
+ title: t("neetoPayments.common.name"),
205
+ dataIndex: "first_name",
206
+ key: "first_name",
207
+ width: "300px",
208
+ sorter: true,
209
+ render: renderFullName
210
+ }, {
211
+ title: t("neetoPayments.common.email"),
212
+ dataIndex: "email",
213
+ key: "email",
214
+ width: "300px",
215
+ ellipsis: true,
216
+ sorter: true
217
+ }, {
218
+ title: t("neetoPayments.common.country"),
219
+ dataIndex: "country",
220
+ key: "country",
221
+ width: "150px",
222
+ render: renderCountry,
223
+ sorter: true
224
+ }, {
225
+ title: t("neetoPayments.common.createdAt"),
226
+ dataIndex: "createdAt",
227
+ key: "createdAt",
228
+ width: "220px",
229
+ render: renderDate,
230
+ sorter: true
231
+ }];
232
+
233
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
234
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
235
+ var useFiltersAndPagination = function useFiltersAndPagination() {
236
+ var history = useHistory();
237
+ var _useState = useState(false),
238
+ _useState2 = _slicedToArray(_useState, 2),
239
+ isFilterButtonVisible = _useState2[0],
240
+ setIsFilterButtonVisible = _useState2[1];
241
+ var _useState3 = useState(false),
242
+ _useState4 = _slicedToArray(_useState3, 2),
243
+ isFilterPaneOpen = _useState4[0],
244
+ setIsFilterPaneOpen = _useState4[1];
245
+ var _useState5 = useState(buildDefaultPageProperties(TABS)),
246
+ _useState6 = _slicedToArray(_useState5, 2),
247
+ pageProperties = _useState6[0],
248
+ setPageProperties = _useState6[1];
249
+ var _useState7 = useState(DEFAULT_SORT_PROPERTIES),
250
+ _useState8 = _slicedToArray(_useState7, 2),
251
+ sortProperties = _useState8[0],
252
+ setSortProperties = _useState8[1];
253
+ var _useQueryParams = useQueryParams(),
254
+ _useQueryParams$tab = _useQueryParams.tab,
255
+ tab = _useQueryParams$tab === void 0 ? TAB.all : _useQueryParams$tab;
256
+ var _getQueryParams = getQueryParams(),
257
+ _getQueryParams$searc = _getQueryParams.searchTerm,
258
+ searchTerm = _getQueryParams$searc === void 0 ? "" : _getQueryParams$searc;
259
+ var searchKeywordProps = _objectSpread$1(_objectSpread$1({}, SEARCH_PROPS), {}, {
260
+ key: "search_term",
261
+ value: searchTerm.trim()
262
+ });
263
+ var _useState9 = useState(buildFiltersFromURL([].concat(_toConsumableArray(FILTER_COLUMNS), [searchKeywordProps]))),
264
+ _useState10 = _slicedToArray(_useState9, 2),
265
+ filters = _useState10[0],
266
+ setFilters = _useState10[1];
267
+ var _useState11 = useState(null),
268
+ _useState12 = _slicedToArray(_useState11, 2),
269
+ dataSize = _useState12[0],
270
+ setDataSize = _useState12[1];
271
+ var columnData = tab !== TAB.all ? removeBy({
272
+ key: "status"
273
+ }, COLUMNS) : COLUMNS;
274
+ var handleTabChange = function handleTabChange(tab) {
275
+ var _pageProperties$tab, _pageProperties$tab2;
276
+ setDataSize(null);
277
+ var queryParams = getQueryParams({
278
+ toCamelCase: false
279
+ });
280
+ var newParams = {
281
+ tab: tab,
282
+ page: (_pageProperties$tab = pageProperties[tab]) === null || _pageProperties$tab === void 0 ? void 0 : _pageProperties$tab.page,
283
+ page_size: (_pageProperties$tab2 = pageProperties[tab]) === null || _pageProperties$tab2 === void 0 ? void 0 : _pageProperties$tab2.pageSize
284
+ };
285
+ history.push(buildUrl(window.location.pathname, mergeLeft(newParams, queryParams)));
286
+ };
287
+ return {
288
+ isFilterButtonVisible: isFilterButtonVisible,
289
+ isFilterPaneOpen: isFilterPaneOpen,
290
+ pageProperties: pageProperties,
291
+ filters: filters,
292
+ searchKeywordProps: searchKeywordProps,
293
+ tab: tab,
294
+ sortProperties: sortProperties,
295
+ columnData: columnData,
296
+ dataSize: dataSize,
297
+ setDataSize: setDataSize,
298
+ setIsFilterButtonVisible: setIsFilterButtonVisible,
299
+ setIsFilterPaneOpen: setIsFilterPaneOpen,
300
+ setPageProperties: setPageProperties,
301
+ setFilters: setFilters,
302
+ handleTabChange: handleTabChange,
303
+ setSortProperties: setSortProperties
304
+ };
305
+ };
306
+
307
+ var list = function list(payload) {
308
+ return axios.get("".concat(BASE_URL, "/api/v1/stripe/accounts"), {
309
+ params: payload
310
+ });
311
+ };
312
+ var accountsApi = {
313
+ list: list
314
+ };
315
+
316
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
317
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
318
+ var useFetchConnectedAccounts = function useFetchConnectedAccounts() {
319
+ var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
320
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
321
+ return useQuery(_objectSpread({
322
+ queryKey: [QUERY_KEYS.STRIPE_ACCOUNTS_LIST, payload],
323
+ queryFn: function queryFn() {
324
+ return accountsApi.list(payload);
325
+ }
326
+ }, options));
327
+ };
328
+
329
+ var List = function List(_ref) {
330
+ var _pageProperties$tab, _pageProperties$tab2, _pageProperties$tab3;
331
+ var columnData = _ref.columnData,
332
+ filters = _ref.filters,
333
+ pageProperties = _ref.pageProperties,
334
+ setDataSize = _ref.setDataSize,
335
+ setIsFilterButtonVisible = _ref.setIsFilterButtonVisible,
336
+ setPageProperties = _ref.setPageProperties,
337
+ setSortProperties = _ref.setSortProperties,
338
+ sortProperties = _ref.sortProperties,
339
+ tab = _ref.tab;
340
+ var history = useHistory();
341
+ var _useTranslation = useTranslation(),
342
+ t = _useTranslation.t;
343
+ var _useHiddenColumns = useHiddenColumns(STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY),
344
+ hideColumn = _useHiddenColumns.hideColumn,
345
+ getVisibleColumnData = _useHiddenColumns.getVisibleColumnData;
346
+ var _useFetchConnectedAcc = useFetchConnectedAccounts(buildPayload({
347
+ filters: filters,
348
+ pageProperties: pageProperties,
349
+ sortProperties: sortProperties,
350
+ tab: tab
351
+ })),
352
+ _useFetchConnectedAcc2 = _useFetchConnectedAcc.data,
353
+ _useFetchConnectedAcc3 = _useFetchConnectedAcc2 === void 0 ? {} : _useFetchConnectedAcc2,
354
+ _useFetchConnectedAcc4 = _useFetchConnectedAcc3.accounts,
355
+ accounts = _useFetchConnectedAcc4 === void 0 ? [] : _useFetchConnectedAcc4,
356
+ _useFetchConnectedAcc5 = _useFetchConnectedAcc3.views,
357
+ views = _useFetchConnectedAcc5 === void 0 ? {} : _useFetchConnectedAcc5,
358
+ isLoading = _useFetchConnectedAcc.isLoading,
359
+ isFetching = _useFetchConnectedAcc.isFetching;
360
+ var dataSize = views[tab];
361
+ useEffect(function () {
362
+ setIsFilterButtonVisible(isPresent(accounts) || isPresent(filters));
363
+ setDataSize(dataSize);
364
+ }, [accounts]);
365
+ var handleTablePagination = function handleTablePagination(page, pageSize) {
366
+ var queryParams = getQueryParams({
367
+ toCamelCase: false
368
+ });
369
+ history.push(buildUrl(window.location.pathname, mergeLeft({
370
+ page: page,
371
+ page_size: pageSize
372
+ }, queryParams)));
373
+ setPageProperties(assoc(tab, {
374
+ page: page,
375
+ pageSize: pageSize
376
+ }));
377
+ };
378
+ useEffect(function () {
379
+ handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);
380
+ setSortProperties(DEFAULT_SORT_PROPERTIES);
381
+ }, [filters, tab]);
382
+ var handleTableChange = function handleTableChange(_, __, sorter) {
383
+ setSortProperties(isPresent(sorter === null || sorter === void 0 ? void 0 : sorter.column) ? {
384
+ sortBy: camelToSnakeCase(sorter.field),
385
+ orderBy: sorter.order === "ascend" ? "ASC" : "DESC"
386
+ } : DEFAULT_SORT_PROPERTIES);
387
+ };
388
+ if (isLoading) {
389
+ return /*#__PURE__*/jsx("div", {
390
+ className: "flex h-full w-full items-center justify-center",
391
+ children: /*#__PURE__*/jsx(Spinner, {})
392
+ });
393
+ }
394
+ if (dataSize <= 0 || !isPresent(accounts)) {
395
+ return /*#__PURE__*/jsx("div", {
396
+ className: "flex h-full w-full items-center justify-center",
397
+ children: /*#__PURE__*/jsx(NoData, {
398
+ title: tab === TAB.all ? t("neetoPayments.emptyState.account") : t("neetoPayments.emptyState.accountWithStatus", {
399
+ status: tab
400
+ })
401
+ })
402
+ });
403
+ }
404
+ return /*#__PURE__*/jsx(TableWrapper, {
405
+ hasPagination: dataSize > ((_pageProperties$tab = pageProperties[tab]) === null || _pageProperties$tab === void 0 ? void 0 : _pageProperties$tab.pageSize),
406
+ children: /*#__PURE__*/jsx(Table, {
407
+ fixedHeight: true,
408
+ allowRowClick: false,
409
+ columnData: getVisibleColumnData(columnData),
410
+ currentPageNumber: (_pageProperties$tab2 = pageProperties[tab]) === null || _pageProperties$tab2 === void 0 ? void 0 : _pageProperties$tab2.page,
411
+ handlePageChange: handleTablePagination,
412
+ loading: isFetching,
413
+ rowData: buildRowData({
414
+ data: accounts,
415
+ pageProperties: pageProperties,
416
+ tab: tab
417
+ }),
418
+ rowSelection: false,
419
+ sortDirections: SORT_DIRECTIONS,
420
+ totalCount: dataSize,
421
+ paginationProps: {
422
+ showSizeChanger: true,
423
+ hideOnSinglePage: true,
424
+ pageSize: (_pageProperties$tab3 = pageProperties[tab]) === null || _pageProperties$tab3 === void 0 ? void 0 : _pageProperties$tab3.pageSize,
425
+ total: dataSize
426
+ },
427
+ onChange: handleTableChange,
428
+ onColumnHide: function onColumnHide(_ref2) {
429
+ var dataIndex = _ref2.dataIndex;
430
+ return hideColumn(dataIndex);
431
+ }
432
+ })
433
+ });
434
+ };
435
+
436
+ var AccountsDashboard = function AccountsDashboard() {
437
+ var _useTransition = useTransition(),
438
+ _useTransition2 = _slicedToArray(_useTransition, 2);
439
+ _useTransition2[0];
440
+ var startTransition = _useTransition2[1];
441
+ var _useTranslation = useTranslation(),
442
+ t = _useTranslation.t;
443
+ var _useState = useState(false),
444
+ _useState2 = _slicedToArray(_useState, 2),
445
+ showExportModal = _useState2[0],
446
+ setShowExportModal = _useState2[1];
447
+ var _useFiltersAndPaginat = useFiltersAndPagination(),
448
+ isFilterButtonVisible = _useFiltersAndPaginat.isFilterButtonVisible,
449
+ isFilterPaneOpen = _useFiltersAndPaginat.isFilterPaneOpen,
450
+ pageProperties = _useFiltersAndPaginat.pageProperties,
451
+ filters = _useFiltersAndPaginat.filters,
452
+ searchKeywordProps = _useFiltersAndPaginat.searchKeywordProps,
453
+ tab = _useFiltersAndPaginat.tab,
454
+ sortProperties = _useFiltersAndPaginat.sortProperties,
455
+ columnData = _useFiltersAndPaginat.columnData,
456
+ dataSize = _useFiltersAndPaginat.dataSize,
457
+ setDataSize = _useFiltersAndPaginat.setDataSize,
458
+ setIsFilterButtonVisible = _useFiltersAndPaginat.setIsFilterButtonVisible,
459
+ setIsFilterPaneOpen = _useFiltersAndPaginat.setIsFilterPaneOpen,
460
+ setPageProperties = _useFiltersAndPaginat.setPageProperties,
461
+ setFilters = _useFiltersAndPaginat.setFilters,
462
+ handleTabChange = _useFiltersAndPaginat.handleTabChange,
463
+ setSortProperties = _useFiltersAndPaginat.setSortProperties;
464
+ var isTabsVisible = isFilterButtonVisible || tab !== "all";
465
+ var handleFiltersChange = function handleFiltersChange(filters) {
466
+ startTransition(function () {
467
+ setFilters(filters);
468
+ });
469
+ };
470
+ return /*#__PURE__*/jsxs(Fragment, {
471
+ children: [/*#__PURE__*/jsx(Header, {
472
+ title: t("neetoPayments.title.account"),
473
+ searchProps: isFilterButtonVisible && {
474
+ placeholder: t("neetoPayments.common.search"),
475
+ className: "w-80"
476
+ }
477
+ }), isTabsVisible && /*#__PURE__*/jsx(Tab, {
478
+ children: TABS.map(function (item) {
479
+ return /*#__PURE__*/jsx(Tab.Item, {
480
+ active: tab === item,
481
+ onClick: function onClick() {
482
+ return handleTabChange(item);
483
+ },
484
+ children: t("neetoPayments.common.".concat(item))
485
+ }, item);
486
+ })
487
+ }), /*#__PURE__*/jsx(SubHeader, {
488
+ className: "my-4",
489
+ leftActionBlock: isPresent(dataSize) && /*#__PURE__*/jsx(Typography, {
490
+ className: "neeto-ui-gray-800 mr-2 font-semibold",
491
+ component: "h4",
492
+ children: tab === TAB.all ? t("neetoPayments.countOf.account", {
493
+ count: dataSize
494
+ }) : t("neetoPayments.countOf.accountWithStatus", {
495
+ count: dataSize,
496
+ status: tab
497
+ })
498
+ }),
499
+ rightActionBlock: isFilterButtonVisible && /*#__PURE__*/jsx(SubHeader.RightBlock, {
500
+ columnsButtonProps: {
501
+ columnData: columnData,
502
+ fixedColumns: DASHBOARD_MANDATORY_COLUMNS,
503
+ localStorageKey: STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY
504
+ },
505
+ downloadButtonProps: {
506
+ onClick: function onClick() {
507
+ return setShowExportModal(true);
508
+ }
509
+ },
510
+ filterProps: {
511
+ columns: FILTER_COLUMNS,
512
+ isOpen: isFilterPaneOpen,
513
+ keyword: searchKeywordProps,
514
+ setIsOpen: setIsFilterPaneOpen,
515
+ onChange: handleFiltersChange
516
+ }
517
+ })
518
+ }), /*#__PURE__*/jsx(FiltersBar, {
519
+ columns: FILTER_COLUMNS,
520
+ keyword: searchKeywordProps,
521
+ setIsPaneOpen: setIsFilterPaneOpen,
522
+ onChange: handleFiltersChange
523
+ }), /*#__PURE__*/jsx(List, {
524
+ columnData: columnData,
525
+ filters: filters,
526
+ pageProperties: pageProperties,
527
+ setDataSize: setDataSize,
528
+ setIsFilterButtonVisible: setIsFilterButtonVisible,
529
+ setPageProperties: setPageProperties,
530
+ setSortProperties: setSortProperties,
531
+ sortProperties: sortProperties,
532
+ tab: tab
533
+ }), /*#__PURE__*/jsx(ExportModal, {
534
+ filters: filters,
535
+ setShowExportModal: setShowExportModal,
536
+ showExportModal: showExportModal,
537
+ sortProperties: sortProperties,
538
+ tab: tab
539
+ })]
540
+ });
541
+ };
542
+ var index = withTitle(withReactQuery(AccountsDashboard), t("neetoPayments.title.account"));
543
+
544
+ export { index as default };
545
+ //# sourceMappingURL=AccountsDashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountsDashboard.js","sources":["../app/javascript/src/components/AccountsDashboard/constants/index.js","../app/javascript/src/components/AccountsDashboard/ExportModal.jsx","../app/javascript/src/components/AccountsDashboard/utils/renderFunctions.jsx","../app/javascript/src/components/AccountsDashboard/constants/columns.js","../app/javascript/src/components/AccountsDashboard/hooks/useFiltersAndPagination.js","../app/javascript/src/apis/stripe/accounts.js","../app/javascript/src/hooks/reactQuery/stripe/useAccountsApi.js","../app/javascript/src/components/AccountsDashboard/List.jsx","../app/javascript/src/components/AccountsDashboard/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TAB = {\n all: \"all\",\n connected: \"connected\",\n disconnected: \"disconnected\",\n incomplete: \"incomplete\",\n};\n\nexport const TABS = Object.values(TAB);\n\nexport const SEARCH_PROPS = {\n key: \"keyword\",\n node: \"identifier,user.first_name,last_name,email\",\n model: \"NeetoPaymentsEngine::Stripe::Account,User\",\n};\n\nexport const DASHBOARD_MANDATORY_COLUMNS = [\"id\", \"status\", \"identifier\"];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"created_at\",\n label: t(\"neetoPayments.common.createdAt\"),\n node: \"created_at\",\n type: \"date\",\n showRuleSelector: true,\n },\n];\n\nexport const STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY =\n \"stripeAccountsDashboard\";\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { Download } from \"neetoicons\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportData } from \"hooks/reactQuery/stripe/useExportsApi\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n showExportModal,\n setShowExportModal,\n tab,\n filters,\n sortProperties = {},\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { mutate: exportCsv, isPending } = useExportData();\n const isFileLoading = isPending || isGenerating;\n\n const token = useMemo(() => `account-report-${uuidV4()}`, []);\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: \"account\",\n token,\n filters,\n tab,\n ...sortProperties,\n };\n\n 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.account\")}\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.account\")}\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","import { capitalize } from \"neetocist\";\nimport { Button } from \"neetoui\";\nimport { join, map, pipe, split } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport { buildStripeAccountLink } from \"utils\";\n\nexport const renderIdentifier = ({ identifier = \"\", isLive = false } = {}) => (\n <CopyButtonWrapper content={identifier}>\n <Button\n href={buildStripeAccountLink(identifier, isLive)}\n label={identifier}\n size=\"small\"\n style=\"link\"\n target=\"_blank\"\n />\n </CopyButtonWrapper>\n);\n\nexport const renderCountry = pipe(split(\"_\"), map(capitalize), join(\" \"));\n","import { t } from \"i18next\";\n\nimport {\n renderDate,\n renderFullName,\n renderStatus,\n} from \"utils/renderFunctions\";\n\nimport { renderCountry, renderIdentifier } from \"../utils/renderFunctions\";\n\nexport const COLUMNS = [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: \"85px\",\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: \"300px\",\n render: renderIdentifier,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: \"150px\",\n render: renderStatus(\"account\"),\n sorter: true,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.name\"),\n dataIndex: \"first_name\",\n key: \"first_name\",\n width: \"300px\",\n sorter: true,\n render: renderFullName,\n },\n {\n title: t(\"neetoPayments.common.email\"),\n dataIndex: \"email\",\n key: \"email\",\n width: \"300px\",\n ellipsis: true,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.country\"),\n dataIndex: \"country\",\n key: \"country\",\n width: \"150px\",\n render: renderCountry,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n width: \"220px\",\n render: renderDate,\n sorter: true,\n },\n];\n","import { useState } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { DEFAULT_SORT_PROPERTIES } from \"src/constants\";\nimport { buildDefaultPageProperties } from \"utils/dashboard\";\n\nimport { FILTER_COLUMNS, TAB, TABS, SEARCH_PROPS } from \"../constants\";\nimport { COLUMNS } from \"../constants/columns\";\n\nexport const useFiltersAndPagination = () => {\n const history = useHistory();\n const [isFilterButtonVisible, setIsFilterButtonVisible] = useState(false);\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n const [pageProperties, setPageProperties] = useState(\n buildDefaultPageProperties(TABS)\n );\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const { tab = TAB.all } = useQueryParams();\n\n const { searchTerm = \"\" } = getQueryParams();\n const searchKeywordProps = {\n ...SEARCH_PROPS,\n key: \"search_term\",\n value: searchTerm.trim(),\n };\n\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps])\n );\n const [dataSize, setDataSize] = useState(null);\n\n const columnData =\n tab !== TAB.all ? removeBy({ key: \"status\" }, COLUMNS) : COLUMNS;\n\n const handleTabChange = tab => {\n setDataSize(null);\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: pageProperties[tab]?.page,\n page_size: pageProperties[tab]?.pageSize,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n };\n};\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = payload =>\n axios.get(`${BASE_URL}/api/v1/stripe/accounts`, {\n params: payload,\n });\n\nconst accountsApi = { list };\n\nexport default accountsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport accountsApi from \"apis/stripe/accounts\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchConnectedAccounts = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.STRIPE_ACCOUNTS_LIST, payload],\n queryFn: () => accountsApi.list(payload),\n ...options,\n });\n","import { useEffect } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { useHiddenColumns } from \"neetomolecules/Columns\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData, Spinner } from \"neetoui\";\nimport { assoc, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useFetchConnectedAccounts } from \"hooks/reactQuery/stripe/useAccountsApi\";\nimport { DEFAULT_SORT_PROPERTIES, SORT_DIRECTIONS } from \"src/constants\";\nimport { buildPayload, buildRowData } from \"utils/dashboard\";\n\nimport {\n TAB,\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n} from \"./constants\";\n\nconst List = ({\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n const { hideColumn, getVisibleColumnData } = useHiddenColumns(\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY\n );\n\n const {\n data: { accounts = [], views = {} } = {},\n isLoading,\n isFetching,\n } = useFetchConnectedAccounts(\n buildPayload({ filters, pageProperties, sortProperties, tab })\n );\n\n const dataSize = views[tab];\n\n useEffect(() => {\n setIsFilterButtonVisible(isPresent(accounts) || isPresent(filters));\n setDataSize(dataSize);\n }, [accounts]);\n\n const handleTablePagination = (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 useEffect(() => {\n handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);\n setSortProperties(DEFAULT_SORT_PROPERTIES);\n }, [filters, tab]);\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 if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (dataSize <= 0 || !isPresent(accounts)) {\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.account\")\n : t(\"neetoPayments.emptyState.accountWithStatus\", { status: tab })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={dataSize > pageProperties[tab]?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={getVisibleColumnData(columnData)}\n currentPageNumber={pageProperties[tab]?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching}\n rowData={buildRowData({ data: accounts, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={dataSize}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties[tab]?.pageSize,\n total: dataSize,\n }}\n onChange={handleTableChange}\n onColumnHide={({ dataIndex }) => hideColumn(dataIndex)}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import { useState, useTransition } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\n\nimport {\n DASHBOARD_MANDATORY_COLUMNS,\n FILTER_COLUMNS,\n TAB,\n TABS,\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n} from \"./constants\";\nimport ExportModal from \"./ExportModal\";\nimport { useFiltersAndPagination } from \"./hooks/useFiltersAndPagination\";\nimport List from \"./List\";\n\nconst AccountsDashboard = () => {\n const [_, startTransition] = useTransition();\n const { t } = useTranslation();\n\n const [showExportModal, setShowExportModal] = useState(false);\n const {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n } = useFiltersAndPagination();\n\n const isTabsVisible = isFilterButtonVisible || tab !== \"all\";\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.account\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: t(\"neetoPayments.common.search\"),\n className: \"w-80\",\n }\n }\n />\n {isTabsVisible && (\n <Tab>\n {TABS.map(item => (\n <Tab.Item\n active={tab === item}\n key={item}\n onClick={() => handleTabChange(item)}\n >\n {t(`neetoPayments.common.${item}`)}\n </Tab.Item>\n ))}\n </Tab>\n )}\n <SubHeader\n className=\"my-4\"\n leftActionBlock={\n isPresent(dataSize) && (\n <Typography\n className=\"neeto-ui-gray-800 mr-2 font-semibold\"\n component=\"h4\"\n >\n {tab === TAB.all\n ? t(\"neetoPayments.countOf.account\", { count: dataSize })\n : t(\"neetoPayments.countOf.accountWithStatus\", {\n count: dataSize,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData,\n fixedColumns: DASHBOARD_MANDATORY_COLUMNS,\n localStorageKey:\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n }}\n downloadButtonProps={{\n onClick: () => setShowExportModal(true),\n }}\n filterProps={{\n columns: FILTER_COLUMNS,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )\n }\n />\n <FiltersBar\n columns={FILTER_COLUMNS}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n <List\n {...{\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n }}\n />\n <ExportModal\n {...{\n filters,\n setShowExportModal,\n showExportModal,\n sortProperties,\n tab,\n }}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(AccountsDashboard),\n t(\"neetoPayments.title.account\")\n);\n"],"names":["TAB","all","connected","disconnected","incomplete","TABS","Object","values","SEARCH_PROPS","key","node","model","DASHBOARD_MANDATORY_COLUMNS","FILTER_COLUMNS","label","t","type","showRuleSelector","STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY","ExportModal","_ref","showExportModal","setShowExportModal","tab","filters","_ref$sortProperties","sortProperties","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","downloadUrl","setDownloadUrl","_useState3","_useState4","isGenerating","setIsGenerating","_useExportData","useExportData","exportCsv","mutate","isPending","isFileLoading","token","useMemo","concat","uuidV4","receivedCallback","data","download_url","handleGenerateClick","payload","_objectSpread","kind","onSuccess","useEffect","channel","exportChannel","undefined","onClose","_jsxs","Modal","isOpen","children","_jsx","Header","Typography","style","Body","Footer","className","Button","href","icon","Download","onClick","_Fragment","disabled","loading","renderIdentifier","arguments","length","_ref$identifier","identifier","_ref$isLive","isLive","CopyButtonWrapper","content","buildStripeAccountLink","size","target","renderCountry","pipe","split","map","capitalize","join","COLUMNS","title","dataIndex","width","isHidable","render","renderStatus","sorter","renderFullName","ellipsis","renderDate","useFiltersAndPagination","history","useHistory","isFilterButtonVisible","setIsFilterButtonVisible","isFilterPaneOpen","setIsFilterPaneOpen","_useState5","buildDefaultPageProperties","_useState6","pageProperties","setPageProperties","_useState7","DEFAULT_SORT_PROPERTIES","_useState8","setSortProperties","_useQueryParams","useQueryParams","_useQueryParams$tab","_getQueryParams","getQueryParams","_getQueryParams$searc","searchTerm","searchKeywordProps","value","trim","_useState9","buildFiltersFromURL","_toConsumableArray","_useState10","setFilters","_useState11","_useState12","dataSize","setDataSize","columnData","removeBy","handleTabChange","_pageProperties$tab","_pageProperties$tab2","queryParams","toCamelCase","newParams","page","page_size","pageSize","push","buildUrl","window","location","pathname","mergeLeft","list","axios","get","BASE_URL","params","accountsApi","useFetchConnectedAccounts","options","useQuery","queryKey","QUERY_KEYS","STRIPE_ACCOUNTS_LIST","queryFn","List","_pageProperties$tab3","_useHiddenColumns","useHiddenColumns","hideColumn","getVisibleColumnData","_useFetchConnectedAcc","buildPayload","_useFetchConnectedAcc2","_useFetchConnectedAcc3","_useFetchConnectedAcc4","accounts","_useFetchConnectedAcc5","views","isLoading","isFetching","isPresent","handleTablePagination","assoc","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","handleTableChange","_","__","column","sortBy","camelToSnakeCase","field","orderBy","order","Spinner","NoData","status","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","handlePageChange","rowData","buildRowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","_ref2","AccountsDashboard","_useTransition","useTransition","_useTransition2","startTransition","_useFiltersAndPaginat","isTabsVisible","handleFiltersChange","searchProps","placeholder","Tab","item","Item","active","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","columnsButtonProps","fixedColumns","localStorageKey","downloadButtonProps","filterProps","columns","keyword","setIsOpen","FiltersBar","setIsPaneOpen","withTitle","withReactQuery"],"mappings":"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"}