@bigbinary/neeto-payments-frontend 6.1.26 → 6.1.28

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 (170) hide show
  1. package/app/javascript/src/translations/en.json +15 -4
  2. package/dist/AccountsDashboard.js +7 -7
  3. package/dist/AccountsDashboard.js.map +1 -1
  4. package/dist/AdminCancelRecurringPaymentButton.js +1 -1
  5. package/dist/AdminCancelRecurringPaymentButton.js.map +1 -1
  6. package/dist/CashPaymentButton.js +2 -2
  7. package/dist/CashPaymentButton.js.map +1 -1
  8. package/dist/ConfirmCashPaymentButton.js +2 -2
  9. package/dist/ConfirmCashPaymentButton.js.map +1 -1
  10. package/dist/{CopyButtonWrapper-Bp5IVO76.js → CopyButtonWrapper-DkI2F6Ty.js} +2 -2
  11. package/dist/CopyButtonWrapper-DkI2F6Ty.js.map +1 -0
  12. package/dist/CustomerCancelRecurringPaymentForm.js +2 -2
  13. package/dist/CustomerCancelRecurringPaymentForm.js.map +1 -1
  14. package/dist/{ExportModal-KInsxpSb.js → ExportModal-ubjATdMC.js} +2 -2
  15. package/dist/{ExportModal-KInsxpSb.js.map → ExportModal-ubjATdMC.js.map} +1 -1
  16. package/dist/ManualUpiConnect.js +3 -3
  17. package/dist/ManualUpiConnect.js.map +1 -1
  18. package/dist/ManualUpiPayment.js +128 -22
  19. package/dist/ManualUpiPayment.js.map +1 -1
  20. package/dist/ManualUpiPaymentConfirmButton.js +3 -3
  21. package/dist/ManualUpiPaymentConfirmButton.js.map +1 -1
  22. package/dist/ManualUpiPaymentRejectButton.js +3 -3
  23. package/dist/ManualUpiPaymentRejectButton.js.map +1 -1
  24. package/dist/PaymentKindRestrictionAlert.js.map +1 -1
  25. package/dist/PaymentsDashboard.js +24 -13
  26. package/dist/PaymentsDashboard.js.map +1 -1
  27. package/dist/PayoutsDashboard.js +7 -7
  28. package/dist/PayoutsDashboard.js.map +1 -1
  29. package/dist/PayoutsPage.js +5 -5
  30. package/dist/PayoutsPage.js.map +1 -1
  31. package/dist/RazorpayConnect.js +4 -4
  32. package/dist/RazorpayConnect.js.map +1 -1
  33. package/dist/RazorpayLinkedAccountForm.js +3 -3
  34. package/dist/RazorpayLinkedAccountForm.js.map +1 -1
  35. package/dist/RazorpayPaymentButton.js +2 -2
  36. package/dist/RazorpayPaymentButton.js.map +1 -1
  37. package/dist/RecurringPaymentSettings.js +3 -3
  38. package/dist/RecurringPaymentSettings.js.map +1 -1
  39. package/dist/RefundsDashboard.js +8 -10
  40. package/dist/RefundsDashboard.js.map +1 -1
  41. package/dist/SplitTransfersDashboard.js +11 -11
  42. package/dist/SplitTransfersDashboard.js.map +1 -1
  43. package/dist/StripeCheckoutSetting.js +2 -2
  44. package/dist/StripeCheckoutSetting.js.map +1 -1
  45. package/dist/StripeConnect.js +6 -6
  46. package/dist/StripeConnect.js.map +1 -1
  47. package/dist/StripeManage.js +3 -3
  48. package/dist/TaxesDashboard.js +2 -2
  49. package/dist/TaxesDashboard.js.map +1 -1
  50. package/dist/buildStripeTransactionLink.js +1 -1
  51. package/dist/cjs/AccountsDashboard.js +4 -4
  52. package/dist/cjs/AccountsDashboard.js.map +1 -1
  53. package/dist/cjs/AdminCancelRecurringPaymentButton.js.map +1 -1
  54. package/dist/cjs/CashPaymentButton.js.map +1 -1
  55. package/dist/cjs/ConfirmCashPaymentButton.js.map +1 -1
  56. package/dist/cjs/{CopyButtonWrapper-I-kdKiiB.js → CopyButtonWrapper-DZ9rE5UR.js} +2 -2
  57. package/dist/cjs/CopyButtonWrapper-DZ9rE5UR.js.map +1 -0
  58. package/dist/cjs/CustomerCancelRecurringPaymentForm.js +1 -1
  59. package/dist/cjs/CustomerCancelRecurringPaymentForm.js.map +1 -1
  60. package/dist/cjs/ExportModal-BFe0tF5L.js.map +1 -1
  61. package/dist/cjs/ManualUpiConnect.js +1 -1
  62. package/dist/cjs/ManualUpiConnect.js.map +1 -1
  63. package/dist/cjs/ManualUpiPayment.js +125 -19
  64. package/dist/cjs/ManualUpiPayment.js.map +1 -1
  65. package/dist/cjs/ManualUpiPaymentConfirmButton.js +2 -2
  66. package/dist/cjs/ManualUpiPaymentConfirmButton.js.map +1 -1
  67. package/dist/cjs/ManualUpiPaymentRejectButton.js +2 -2
  68. package/dist/cjs/ManualUpiPaymentRejectButton.js.map +1 -1
  69. package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -1
  70. package/dist/cjs/PaymentsDashboard.js +18 -7
  71. package/dist/cjs/PaymentsDashboard.js.map +1 -1
  72. package/dist/cjs/PayoutsDashboard.js +4 -4
  73. package/dist/cjs/PayoutsDashboard.js.map +1 -1
  74. package/dist/cjs/PayoutsPage.js +4 -4
  75. package/dist/cjs/PayoutsPage.js.map +1 -1
  76. package/dist/cjs/RazorpayConnect.js +2 -2
  77. package/dist/cjs/RazorpayConnect.js.map +1 -1
  78. package/dist/cjs/RazorpayLinkedAccountForm.js +1 -1
  79. package/dist/cjs/RazorpayLinkedAccountForm.js.map +1 -1
  80. package/dist/cjs/RazorpayPaymentButton.js +1 -1
  81. package/dist/cjs/RazorpayPaymentButton.js.map +1 -1
  82. package/dist/cjs/RecurringPaymentSettings.js +1 -1
  83. package/dist/cjs/RecurringPaymentSettings.js.map +1 -1
  84. package/dist/cjs/RefundsDashboard.js +3 -5
  85. package/dist/cjs/RefundsDashboard.js.map +1 -1
  86. package/dist/cjs/SplitTransfersDashboard.js +6 -6
  87. package/dist/cjs/SplitTransfersDashboard.js.map +1 -1
  88. package/dist/cjs/StripeCheckoutSetting.js +1 -1
  89. package/dist/cjs/StripeCheckoutSetting.js.map +1 -1
  90. package/dist/cjs/StripeConnect.js +3 -3
  91. package/dist/cjs/StripeConnect.js.map +1 -1
  92. package/dist/cjs/StripeManage.js +1 -1
  93. package/dist/cjs/TaxesDashboard.js +1 -1
  94. package/dist/cjs/TaxesDashboard.js.map +1 -1
  95. package/dist/cjs/dashboard-BWh6P9BB.js.map +1 -1
  96. package/dist/cjs/exportChannel-BL2RGGhP.js.map +1 -1
  97. package/dist/cjs/index-vUzevy4J.js.map +1 -1
  98. package/dist/cjs/index.js +9 -8
  99. package/dist/cjs/index.js.map +1 -1
  100. package/dist/cjs/{queryConstants-Dc6wh21D.js → queryConstants-CGUF7zol.js} +1 -12
  101. package/dist/cjs/{queryConstants-Dc6wh21D.js.map → queryConstants-CGUF7zol.js.map} +1 -1
  102. package/dist/cjs/{renderFunctions-9r2F0DaL.js → renderFunctions-B61EfbIp.js} +2 -2
  103. package/dist/cjs/{renderFunctions-9r2F0DaL.js.map → renderFunctions-B61EfbIp.js.map} +1 -1
  104. package/dist/cjs/{stripe.esm-CrNYjPcC.js → stripe.esm-DCCiiIbR.js} +2 -8
  105. package/dist/cjs/{stripe.esm-CrNYjPcC.js.map → stripe.esm-DCCiiIbR.js.map} +1 -1
  106. package/dist/cjs/{useAccountsApi-FFJUTaYQ.js → useAccountsApi-B1riDzpb.js} +2 -2
  107. package/dist/cjs/{useAccountsApi-FFJUTaYQ.js.map → useAccountsApi-B1riDzpb.js.map} +1 -1
  108. package/dist/cjs/useExportsApi-FDe0ucYU.js.map +1 -1
  109. package/dist/cjs/{useIntegrationsApi-D7HNuBW7.js → useIntegrationsApi-Cqu9MBJR.js} +2 -2
  110. package/dist/cjs/{useIntegrationsApi-D7HNuBW7.js.map → useIntegrationsApi-Cqu9MBJR.js.map} +1 -1
  111. package/dist/cjs/usePaymentApi-B-L0nxtr.js.map +1 -1
  112. package/dist/cjs/{usePaymentApi-fBUnau7x.js → usePaymentApi-BoLmrCje.js} +2 -2
  113. package/dist/cjs/{usePaymentApi-fBUnau7x.js.map → usePaymentApi-BoLmrCje.js.map} +1 -1
  114. package/dist/cjs/{usePaymentApi-Bbtzf9ST.js → usePaymentApi-CgsZjRBj.js} +1 -9
  115. package/dist/cjs/{usePaymentApi-Bbtzf9ST.js.map → usePaymentApi-CgsZjRBj.js.map} +1 -1
  116. package/dist/cjs/{usePlatformApi-BEa-Cs3V.js → usePlatformApi-D3yfxsMP.js} +2 -2
  117. package/dist/cjs/{usePlatformApi-BEa-Cs3V.js.map → usePlatformApi-D3yfxsMP.js.map} +1 -1
  118. package/dist/cjs/useRazorpayPayment.js +1 -1
  119. package/dist/cjs/useRazorpayPayment.js.map +1 -1
  120. package/dist/cjs/useStripePromise.js +1 -1
  121. package/dist/cjs/useStripePromise.js.map +1 -1
  122. package/dist/constants.js +1 -1
  123. package/dist/{dashboard-Cr6UEj9o.js → dashboard-CZOZ1Oxi.js} +3 -3
  124. package/dist/{dashboard-Cr6UEj9o.js.map → dashboard-CZOZ1Oxi.js.map} +1 -1
  125. package/dist/exportChannel-Db0U5gc1.js.map +1 -1
  126. package/dist/getAddressElementOptions.js +1 -1
  127. package/dist/getAmountInLargestCurrencyUnit.js +1 -1
  128. package/dist/getAmountInSmallestCurrencyUnit.js +1 -1
  129. package/dist/getAmountWithAppliedTax.js +1 -1
  130. package/dist/getFormattedAmount.js +1 -1
  131. package/dist/getFormattedDiscountedAmount.js +1 -1
  132. package/dist/getFormattedDiscountedPercentage.js +1 -1
  133. package/dist/getFormattedTaxAmount.js +1 -1
  134. package/dist/getFormattedTipAmount.js +1 -1
  135. package/dist/getQrCodeValue.js +1 -1
  136. package/dist/getTaxAmount.js +1 -1
  137. package/dist/getTipAmount.js +1 -1
  138. package/dist/hasAmountToPay.js +1 -1
  139. package/dist/{index-DqpYJN4W.js → index-15RrM-W8.js} +4 -4
  140. package/dist/{index-DqpYJN4W.js.map → index-15RrM-W8.js.map} +1 -1
  141. package/dist/index.js +14 -13
  142. package/dist/index.js.map +1 -1
  143. package/dist/{queryConstants-C7AqdemO.js → queryConstants-8c7Nd8ML.js} +1 -12
  144. package/dist/queryConstants-8c7Nd8ML.js.map +1 -0
  145. package/dist/{renderFunctions-CmT7DuRQ.js → renderFunctions-C5m30W0E.js} +4 -4
  146. package/dist/{renderFunctions-CmT7DuRQ.js.map → renderFunctions-C5m30W0E.js.map} +1 -1
  147. package/dist/{stripe.esm-DuZ_gsAa.js → stripe.esm-CFEGjV29.js} +2 -8
  148. package/dist/{stripe.esm-DuZ_gsAa.js.map → stripe.esm-CFEGjV29.js.map} +1 -1
  149. package/dist/{useAccountsApi-Cxvp_Jcf.js → useAccountsApi-Cbfz0yG4.js} +3 -3
  150. package/dist/{useAccountsApi-Cxvp_Jcf.js.map → useAccountsApi-Cbfz0yG4.js.map} +1 -1
  151. package/dist/{useExportsApi-C_UN1GVL.js → useExportsApi-DBBXhnqr.js} +3 -3
  152. package/dist/{useExportsApi-C_UN1GVL.js.map → useExportsApi-DBBXhnqr.js.map} +1 -1
  153. package/dist/{useIntegrationsApi-v_nhBcdZ.js → useIntegrationsApi-C3K1aAvJ.js} +3 -3
  154. package/dist/{useIntegrationsApi-v_nhBcdZ.js.map → useIntegrationsApi-C3K1aAvJ.js.map} +1 -1
  155. package/dist/{usePaymentApi-DrpxsySj.js → usePaymentApi-BqNzxqL8.js} +2 -10
  156. package/dist/{usePaymentApi-DrpxsySj.js.map → usePaymentApi-BqNzxqL8.js.map} +1 -1
  157. package/dist/{usePaymentApi-D1xXtOAq.js → usePaymentApi-Cf_jWBQK.js} +2 -2
  158. package/dist/{usePaymentApi-D1xXtOAq.js.map → usePaymentApi-Cf_jWBQK.js.map} +1 -1
  159. package/dist/{usePaymentApi-D-8CnzxZ.js → usePaymentApi-DHDDzZkq.js} +3 -3
  160. package/dist/{usePaymentApi-D-8CnzxZ.js.map → usePaymentApi-DHDDzZkq.js.map} +1 -1
  161. package/dist/{usePlatformApi-BrtHM9LM.js → usePlatformApi-CCMB7CBj.js} +3 -3
  162. package/dist/{usePlatformApi-BrtHM9LM.js.map → usePlatformApi-CCMB7CBj.js.map} +1 -1
  163. package/dist/useRazorpayPayment.js +2 -2
  164. package/dist/useRazorpayPayment.js.map +1 -1
  165. package/dist/useStripePromise.js +1 -1
  166. package/dist/useStripePromise.js.map +1 -1
  167. package/package.json +11 -11
  168. package/dist/CopyButtonWrapper-Bp5IVO76.js.map +0 -1
  169. package/dist/cjs/CopyButtonWrapper-I-kdKiiB.js.map +0 -1
  170. package/dist/queryConstants-C7AqdemO.js.map +0 -1
@@ -83,6 +83,8 @@
83
83
  "upi": "UPI",
84
84
  "proceed": "Proceed",
85
85
  "confirmPayment": "Confirm payment",
86
+ "or": "or",
87
+ "viewScreenshot": "View Screenshot",
86
88
  "tipAmount": "Tip amount",
87
89
  "notes": "Notes",
88
90
  "reject": "Reject",
@@ -220,6 +222,7 @@
220
222
  "tooltipContent": {
221
223
  "identifierUnavailable": "Identifier will be available once splitting is completed successfully.",
222
224
  "paymentIdentifierUnavailable": "The identifier will be available once the customer submits payment details.",
225
+ "screenshotUploadedByCustomer": "A payment screenshot has been uploaded by the customer for payment details.",
223
226
  "dateUnavailable": "Transfer time will be shown once splitting is completed successfully.",
224
227
  "platformShareUnavailable": "The platform share hasn't been calculated yet.",
225
228
  "connectedTransactionUnavailable": "Connected transaction is available once splitting is completed successfully.",
@@ -474,13 +477,21 @@
474
477
  },
475
478
  "payment": {
476
479
  "transaction": {
477
- "label": "Enter the UPI transaction ID",
480
+ "label": "Enter the 12-digit UPI transaction ID",
478
481
  "placeholder": "123456789012",
479
482
  "required": "Transaction ID is required",
480
- "sixCharacters": "Transaction ID should have 6 characters"
483
+ "sixCharacters": "Transaction ID should have 6 characters",
484
+ "identifierOrScreenshot": "Please enter a transaction ID or upload a payment screenshot"
481
485
  },
482
- "vpaText": "Send the above mentioned amount to the following UPI ID and enter the UPI transaction ID.",
483
- "vpaText_other": "Send the above mentioned amount to any of the following UPI IDs and enter the UPI transaction ID.",
486
+ "screenshot": {
487
+ "label": "Upload payment screenshot",
488
+ "alt": "Payment screenshot",
489
+ "uploadText": "Click to upload payment screenshot",
490
+ "formatHint": "PNG, JPG up to {{maxSize}}MB",
491
+ "tooLarge": "File size must be less than {{maxSize}}MB"
492
+ },
493
+ "vpaText": "Send the above mentioned amount to the following UPI ID and enter the UPI transaction ID or upload the payment screenshot.",
494
+ "vpaText_other": "Send the above mentioned amount to any of the following UPI IDs and enter the UPI transaction ID or upload the payment screenshot.",
484
495
  "buttons": {
485
496
  "submit": "Submit",
486
497
  "back": "Back",
@@ -7,28 +7,28 @@ import Header from '@bigbinary/neeto-molecules/Header';
7
7
  import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
8
8
  import { Modal, Typography, Button, Spinner, NoData, Table, Tab } from '@bigbinary/neetoui';
9
9
  import { useTranslation } from 'react-i18next';
10
- import { u as useExportData, w as withReactQuery } from './useExportsApi-C_UN1GVL.js';
10
+ import { u as useExportData, w as withReactQuery } from './useExportsApi-DBBXhnqr.js';
11
11
  import { e as exportChannel, T as TABLE_KEYS } from './exportChannel-Db0U5gc1.js';
12
12
  import { Download } from '@bigbinary/neeto-icons';
13
- import { u as uuidV4, h as buildStripeAccountLink, D as DEFAULT_SORT_PROPERTIES, S as SORT_DIRECTIONS } from './index-DqpYJN4W.js';
13
+ import { u as uuidV4, h as buildStripeAccountLink, D as DEFAULT_SORT_PROPERTIES, S as SORT_DIRECTIONS } from './index-15RrM-W8.js';
14
14
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
15
15
  import { getQueryParams, buildUrl } from 'neetocommons/utils';
16
16
  import { pipe, split, map, join, mergeLeft, assoc } from 'ramda';
17
17
  import { useHistory } from 'react-router-dom';
18
- import { b as buildDefaultPageProperties, a as buildPayload, c as buildRowData } from './dashboard-Cr6UEj9o.js';
19
- import { r as renderStatus, a as renderFullName, b as renderDate } from './renderFunctions-CmT7DuRQ.js';
20
- import { C as CopyButtonWrapper } from './CopyButtonWrapper-Bp5IVO76.js';
18
+ import { b as buildDefaultPageProperties, a as buildPayload, c as buildRowData } from './dashboard-CZOZ1Oxi.js';
19
+ import { r as renderFullName, a as renderDate, b as renderStatus } from './renderFunctions-C5m30W0E.js';
20
+ import { C as CopyButtonWrapper } from './CopyButtonWrapper-DkI2F6Ty.js';
21
21
  import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX } from 'neetocommons/constants';
22
22
  import { useTableConfigurations } from '@bigbinary/neeto-molecules/Columns';
23
23
  import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
24
- import { u as useFetchConnectedAccounts } from './useAccountsApi-Cxvp_Jcf.js';
24
+ import { u as useFetchConnectedAccounts } from './useAccountsApi-Cbfz0yG4.js';
25
25
  import '@tanstack/react-query';
26
26
  import '@tanstack/react-query-devtools';
27
27
  import 'axios';
28
28
  import 'decimal.js';
29
29
  import '@bigbinary/neeto-molecules/DateFormat';
30
30
  import '@bigbinary/neeto-molecules/CopyToClipboardButton';
31
- import './queryConstants-C7AqdemO.js';
31
+ import './queryConstants-8c7Nd8ML.js';
32
32
 
33
33
  const TAB = {
34
34
  all: "all",
@@ -1 +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/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 { useTranslation } from \"react-i18next\";\n\nimport { useExportData } from \"hooks/reactQuery/stripe/useExportsApi\";\nimport { Button, Modal, Typography } from \"neetoui\";\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 data-testid=\"neeto-payments-download-button\"\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n data-testid=\"cancel-button\"\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n data-testid=\"neeto-payments-export-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: 85,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: 300,\n render: renderIdentifier,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 150,\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: 300,\n sorter: true,\n render: renderFullName,\n },\n {\n title: t(\"neetoPayments.common.email\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 300,\n ellipsis: true,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.country\"),\n dataIndex: \"country\",\n key: \"country\",\n width: 150,\n render: renderCountry,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n width: 220,\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 { 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 { useTableConfigurations } 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 { TABLE_KEYS } from \"src/constants/tableKeys\";\nimport { buildPayload, buildRowData } from \"utils/dashboard\";\n\nimport { TAB } 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 { isTableConfigurationLoading, customizedColumns, hideColumn } =\n useTableConfigurations(TABLE_KEYS.ACCOUNTS_TABLE, columnData);\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={customizedColumns}\n currentPageNumber={pageProperties[tab]?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching || isTableConfigurationLoading}\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={({ key }) => hideColumn(key)}\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\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\n\nimport {\n DASHBOARD_MANDATORY_COLUMNS,\n FILTER_COLUMNS,\n TAB,\n TABS,\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 me-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 tableKey: TABLE_KEYS.ACCOUNTS_TABLE,\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","ExportModal","showExportModal","setShowExportModal","tab","filters","sortProperties","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","mutate","exportCsv","isPending","useExportData","isFileLoading","token","useMemo","uuidV4","receivedCallback","data","download_url","handleGenerateClick","payload","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","identifier","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","pageProperties","setPageProperties","buildDefaultPageProperties","setSortProperties","DEFAULT_SORT_PROPERTIES","useQueryParams","searchTerm","getQueryParams","searchKeywordProps","value","trim","setFilters","buildFiltersFromURL","dataSize","setDataSize","columnData","removeBy","handleTabChange","queryParams","toCamelCase","newParams","page","page_size","pageSize","push","buildUrl","window","location","pathname","mergeLeft","List","isTableConfigurationLoading","customizedColumns","hideColumn","useTableConfigurations","TABLE_KEYS","ACCOUNTS_TABLE","accounts","views","isLoading","isFetching","useFetchConnectedAccounts","buildPayload","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","AccountsDashboard","startTransition","useTransition","isTabsVisible","handleFiltersChange","searchProps","placeholder","Tab","item","Item","active","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","columnsButtonProps","fixedColumns","tableKey","downloadButtonProps","filterProps","columns","keyword","setIsOpen","FiltersBar","setIsPaneOpen","withTitle","withReactQuery"],"mappings":"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"}
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/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 { useTranslation } from \"react-i18next\";\n\nimport { useExportData } from \"hooks/reactQuery/stripe/useExportsApi\";\nimport { Button, Modal, Typography } from \"neetoui\";\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 data-testid=\"neeto-payments-download-button\"\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n data-testid=\"cancel-button\"\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n data-testid=\"neeto-payments-export-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: 85,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: 300,\n render: renderIdentifier,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 150,\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: 300,\n sorter: true,\n render: renderFullName,\n },\n {\n title: t(\"neetoPayments.common.email\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 300,\n ellipsis: true,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.country\"),\n dataIndex: \"country\",\n key: \"country\",\n width: 150,\n render: renderCountry,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n width: 220,\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 { 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 { useTableConfigurations } 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 { TABLE_KEYS } from \"src/constants/tableKeys\";\nimport { buildPayload, buildRowData } from \"utils/dashboard\";\n\nimport { TAB } 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 { isTableConfigurationLoading, customizedColumns, hideColumn } =\n useTableConfigurations(TABLE_KEYS.ACCOUNTS_TABLE, columnData);\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={customizedColumns}\n currentPageNumber={pageProperties[tab]?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching || isTableConfigurationLoading}\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={({ key }) => hideColumn(key)}\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\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\n\nimport {\n DASHBOARD_MANDATORY_COLUMNS,\n FILTER_COLUMNS,\n TAB,\n TABS,\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 me-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 tableKey: TABLE_KEYS.ACCOUNTS_TABLE,\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","ExportModal","showExportModal","setShowExportModal","tab","filters","sortProperties","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","mutate","exportCsv","isPending","useExportData","isFileLoading","token","useMemo","uuidV4","receivedCallback","data","download_url","handleGenerateClick","payload","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","identifier","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","pageProperties","setPageProperties","buildDefaultPageProperties","setSortProperties","DEFAULT_SORT_PROPERTIES","useQueryParams","searchTerm","getQueryParams","searchKeywordProps","value","trim","setFilters","buildFiltersFromURL","dataSize","setDataSize","columnData","removeBy","handleTabChange","queryParams","toCamelCase","newParams","page","page_size","pageSize","push","buildUrl","window","location","pathname","mergeLeft","List","isTableConfigurationLoading","customizedColumns","hideColumn","useTableConfigurations","TABLE_KEYS","ACCOUNTS_TABLE","accounts","views","isLoading","isFetching","useFetchConnectedAccounts","buildPayload","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","AccountsDashboard","startTransition","useTransition","isTabsVisible","handleFiltersChange","searchProps","placeholder","Tab","item","Item","active","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","columnsButtonProps","fixedColumns","tableKey","downloadButtonProps","filterProps","columns","keyword","setIsOpen","FiltersBar","setIsPaneOpen","withTitle","withReactQuery"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { Button, Alert } from '@bigbinary/neetoui';
3
3
  import { useTranslation } from 'react-i18next';
4
4
  import { useMutationWithInvalidation } from 'neetocommons/react-utils';
5
5
  import axios from 'axios';
6
- import { B as BASE_URL } from './index-DqpYJN4W.js';
6
+ import { B as BASE_URL } from './index-15RrM-W8.js';
7
7
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
8
8
  import 'i18next';
9
9
  import 'neetocommons/constants';
@@ -1 +1 @@
1
- {"version":3,"file":"AdminCancelRecurringPaymentButton.js","sources":["../app/javascript/src/apis/recurring_payments.js","../app/javascript/src/hooks/reactQuery/useRecurringPaymentsApi.js","../app/javascript/src/components/AdminCancelRecurringPaymentButton/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst update = ({ id, payload }) =>\n axios.put(`${BASE_URL}/api/v1/recurring_payments/${id}`, {\n recurring_payment: payload,\n });\n\nconst recurringPaymentsApi = { update };\n\nexport default recurringPaymentsApi;\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport recurringPaymentsApi from \"apis/recurring_payments\";\n\nexport const useUpdateRecurringPayments = (keysToInvalidate = []) =>\n useMutationWithInvalidation(recurringPaymentsApi.update, {\n keysToInvalidate: [...keysToInvalidate],\n });\n","import { useState } from \"react\";\n\nimport { Button, Alert } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateRecurringPayments } from \"hooks/reactQuery/useRecurringPaymentsApi\";\n\nconst AdminCancelRecurringPaymentButton = ({\n id,\n style = \"primary\",\n keysToInvalidate = [],\n}) => {\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { isPending, mutate: updateRecurringPayment } =\n useUpdateRecurringPayments(keysToInvalidate);\n\n const { t } = useTranslation();\n\n return (\n <>\n <Button\n {...{ style }}\n label={t(\"neetoPayments.recurringPaymentCancel.buttonLabel\")}\n onClick={() => setIsAlertOpen(true)}\n />\n <Alert\n isOpen={isAlertOpen}\n isSubmitting={isPending}\n message={t(\"neetoPayments.recurringPaymentCancel.alertMessage\")}\n submitButtonLabel={t(\"neetoPayments.common.continue\")}\n title={t(\"neetoPayments.recurringPaymentCancel.alertTitle\")}\n onClose={() => setIsAlertOpen(false)}\n onSubmit={() =>\n updateRecurringPayment({ id, payload: { status: \"cancelled\" } })\n }\n />\n </>\n );\n};\n\nexport default AdminCancelRecurringPaymentButton;\n"],"names":["update","id","payload","axios","put","BASE_URL","recurring_payment","recurringPaymentsApi","useUpdateRecurringPayments","keysToInvalidate","useMutationWithInvalidation","AdminCancelRecurringPaymentButton","style","isAlertOpen","setIsAlertOpen","useState","isPending","mutate","updateRecurringPayment","t","useTranslation","_jsxs","_Fragment","children","_jsx","Button","label","onClick","Alert","isOpen","isSubmitting","message","submitButtonLabel","title","onClose","onSubmit","status"],"mappings":";;;;;;;;;;;;;;AAIA,MAAMA,MAAM,GAAGA,CAAC;EAAEC,EAAE;AAAEC,EAAAA;AAAQ,CAAC,KAC7BC,KAAK,CAACC,GAAG,CAAC,GAAGC,QAAQ,CAAA,2BAAA,EAA8BJ,EAAE,CAAA,CAAE,EAAE;AACvDK,EAAAA,iBAAiB,EAAEJ;AACrB,CAAC,CAAC;AAEJ,MAAMK,oBAAoB,GAAG;AAAEP,EAAAA;AAAO,CAAC;;ACLhC,MAAMQ,0BAA0B,GAAGA,CAACC,gBAAgB,GAAG,EAAE,KAC9DC,2BAA2B,CAACH,oBAAoB,CAACP,MAAM,EAAE;EACvDS,gBAAgB,EAAE,CAAC,GAAGA,gBAAgB;AACxC,CAAC,CAAC;;ACAEE,MAAAA,iCAAiC,GAAGA,CAAC;EACzCV,EAAE;AACFW,EAAAA,KAAK,GAAG,SAAS;AACjBH,EAAAA,gBAAgB,GAAG;AACrB,CAAC,KAAK;EACJ,MAAM,CAACI,WAAW,EAAEC,cAAc,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAM;IAAEC,SAAS;AAAEC,IAAAA,MAAM,EAAEC;AAAuB,GAAC,GACjDV,0BAA0B,CAACC,gBAAgB,CAAC;EAE9C,MAAM;AAAEU,IAAAA;GAAG,GAAGC,cAAc,EAAE;EAE9B,oBACEC,IAAA,CAAAC,QAAA,EAAA;IAAAC,QAAA,EAAA,cACEC,GAAA,CAACC,MAAM,EAAA;MACCb,KAAK;AACXc,MAAAA,KAAK,EAAEP,CAAC,CAAC,kDAAkD,CAAE;AAC7DQ,MAAAA,OAAO,EAAEA,MAAMb,cAAc,CAAC,IAAI;AAAE,KACrC,CAAC,eACFU,GAAA,CAACI,KAAK,EAAA;AACJC,MAAAA,MAAM,EAAEhB,WAAY;AACpBiB,MAAAA,YAAY,EAAEd,SAAU;AACxBe,MAAAA,OAAO,EAAEZ,CAAC,CAAC,mDAAmD,CAAE;AAChEa,MAAAA,iBAAiB,EAAEb,CAAC,CAAC,+BAA+B,CAAE;AACtDc,MAAAA,KAAK,EAAEd,CAAC,CAAC,iDAAiD,CAAE;AAC5De,MAAAA,OAAO,EAAEA,MAAMpB,cAAc,CAAC,KAAK,CAAE;AACrCqB,MAAAA,QAAQ,EAAEA,MACRjB,sBAAsB,CAAC;QAAEjB,EAAE;AAAEC,QAAAA,OAAO,EAAE;AAAEkC,UAAAA,MAAM,EAAE;AAAY;OAAG;AAChE,KACF,CAAC;AAAA,GACF,CAAC;AAEP;;;;"}
1
+ {"version":3,"file":"AdminCancelRecurringPaymentButton.js","sources":["../app/javascript/src/apis/recurring_payments.js","../app/javascript/src/hooks/reactQuery/useRecurringPaymentsApi.js","../app/javascript/src/components/AdminCancelRecurringPaymentButton/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst update = ({ id, payload }) =>\n axios.put(`${BASE_URL}/api/v1/recurring_payments/${id}`, {\n recurring_payment: payload,\n });\n\nconst recurringPaymentsApi = { update };\n\nexport default recurringPaymentsApi;\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport recurringPaymentsApi from \"apis/recurring_payments\";\n\nexport const useUpdateRecurringPayments = (keysToInvalidate = []) =>\n useMutationWithInvalidation(recurringPaymentsApi.update, {\n keysToInvalidate: [...keysToInvalidate],\n });\n","import { useState } from \"react\";\n\nimport { Button, Alert } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateRecurringPayments } from \"hooks/reactQuery/useRecurringPaymentsApi\";\n\nconst AdminCancelRecurringPaymentButton = ({\n id,\n style = \"primary\",\n keysToInvalidate = [],\n}) => {\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { isPending, mutate: updateRecurringPayment } =\n useUpdateRecurringPayments(keysToInvalidate);\n\n const { t } = useTranslation();\n\n return (\n <>\n <Button\n {...{ style }}\n label={t(\"neetoPayments.recurringPaymentCancel.buttonLabel\")}\n onClick={() => setIsAlertOpen(true)}\n />\n <Alert\n isOpen={isAlertOpen}\n isSubmitting={isPending}\n message={t(\"neetoPayments.recurringPaymentCancel.alertMessage\")}\n submitButtonLabel={t(\"neetoPayments.common.continue\")}\n title={t(\"neetoPayments.recurringPaymentCancel.alertTitle\")}\n onClose={() => setIsAlertOpen(false)}\n onSubmit={() =>\n updateRecurringPayment({ id, payload: { status: \"cancelled\" } })\n }\n />\n </>\n );\n};\n\nexport default AdminCancelRecurringPaymentButton;\n"],"names":["update","id","payload","axios","put","BASE_URL","recurring_payment","recurringPaymentsApi","useUpdateRecurringPayments","keysToInvalidate","useMutationWithInvalidation","AdminCancelRecurringPaymentButton","style","isAlertOpen","setIsAlertOpen","useState","isPending","mutate","updateRecurringPayment","t","useTranslation","_jsxs","_Fragment","children","_jsx","Button","label","onClick","Alert","isOpen","isSubmitting","message","submitButtonLabel","title","onClose","onSubmit","status"],"mappings":";;;;;;;;;;;;;;AAIA,MAAMA,MAAM,GAAGA,CAAC;EAAEC,EAAE;AAAEC,EAAAA;AAAQ,CAAC,KAC7BC,KAAK,CAACC,GAAG,CAAC,GAAGC,QAAQ,CAAA,2BAAA,EAA8BJ,EAAE,CAAA,CAAE,EAAE;AACvDK,EAAAA,iBAAiB,EAAEJ;AACrB,CAAC,CAAC;AAEJ,MAAMK,oBAAoB,GAAG;AAAEP,EAAAA;AAAO,CAAC;;ACLhC,MAAMQ,0BAA0B,GAAGA,CAACC,gBAAgB,GAAG,EAAE,KAC9DC,2BAA2B,CAACH,oBAAoB,CAACP,MAAM,EAAE;EACvDS,gBAAgB,EAAE,CAAC,GAAGA,gBAAgB;AACxC,CAAC,CAAC;;ACAJ,MAAME,iCAAiC,GAAGA,CAAC;EACzCV,EAAE;AACFW,EAAAA,KAAK,GAAG,SAAS;AACjBH,EAAAA,gBAAgB,GAAG;AACrB,CAAC,KAAK;EACJ,MAAM,CAACI,WAAW,EAAEC,cAAc,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAM;IAAEC,SAAS;AAAEC,IAAAA,MAAM,EAAEC;AAAuB,GAAC,GACjDV,0BAA0B,CAACC,gBAAgB,CAAC;EAE9C,MAAM;AAAEU,IAAAA;GAAG,GAAGC,cAAc,EAAE;EAE9B,oBACEC,IAAA,CAAAC,QAAA,EAAA;IAAAC,QAAA,EAAA,cACEC,GAAA,CAACC,MAAM,EAAA;MACCb,KAAK;AACXc,MAAAA,KAAK,EAAEP,CAAC,CAAC,kDAAkD,CAAE;AAC7DQ,MAAAA,OAAO,EAAEA,MAAMb,cAAc,CAAC,IAAI;AAAE,KACrC,CAAC,eACFU,GAAA,CAACI,KAAK,EAAA;AACJC,MAAAA,MAAM,EAAEhB,WAAY;AACpBiB,MAAAA,YAAY,EAAEd,SAAU;AACxBe,MAAAA,OAAO,EAAEZ,CAAC,CAAC,mDAAmD,CAAE;AAChEa,MAAAA,iBAAiB,EAAEb,CAAC,CAAC,+BAA+B,CAAE;AACtDc,MAAAA,KAAK,EAAEd,CAAC,CAAC,iDAAiD,CAAE;AAC5De,MAAAA,OAAO,EAAEA,MAAMpB,cAAc,CAAC,KAAK,CAAE;AACrCqB,MAAAA,QAAQ,EAAEA,MACRjB,sBAAsB,CAAC;QAAEjB,EAAE;AAAEC,QAAAA,OAAO,EAAE;AAAEkC,UAAAA,MAAM,EAAE;AAAY;OAAG;AAChE,KACF,CAAC;AAAA,GACF,CAAC;AAEP;;;;"}
@@ -1,11 +1,11 @@
1
1
  import { noop } from 'neetocist';
2
2
  import { useTranslation } from 'react-i18next';
3
- import { u as useCreateCashPayment } from './usePaymentApi-D1xXtOAq.js';
3
+ import { u as useCreateCashPayment } from './usePaymentApi-Cf_jWBQK.js';
4
4
  import { Button } from '@bigbinary/neetoui';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
  import '@tanstack/react-query';
7
7
  import 'axios';
8
- import './index-DqpYJN4W.js';
8
+ import './index-15RrM-W8.js';
9
9
  import 'i18next';
10
10
  import 'neetocommons/constants';
11
11
  import 'decimal.js';
@@ -1 +1 @@
1
- {"version":3,"file":"CashPaymentButton.js","sources":["../app/javascript/src/components/CashPaymentButton.jsx"],"sourcesContent":["import { noop } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateCashPayment } from \"hooks/reactQuery/cash/usePaymentApi\";\nimport { Button } from \"neetoui\";\n\nconst CashPaymentButton = ({\n label,\n payableId,\n payableType,\n tip,\n discountCode,\n customAmount,\n isDisabled = false,\n isLoading = false,\n onBeforePayment = noop,\n onFailedPayment = noop,\n onSuccessfulPayment = noop,\n}) => {\n const { t } = useTranslation();\n\n const { isPending, mutate: createCashPayment } = useCreateCashPayment({\n onSuccess: onSuccessfulPayment,\n onError: onFailedPayment,\n });\n\n const handleSubmit = () => {\n onBeforePayment();\n createCashPayment({\n payableId,\n payableType,\n discountCode,\n customAmount,\n tipAttributes: tip,\n });\n };\n\n return (\n <Button\n data-testid=\"payment-submit-button\"\n disabled={isPending || isDisabled}\n label={label || t(\"neetoPayments.common.proceed\")}\n loading={isPending || isLoading}\n onClick={handleSubmit}\n />\n );\n};\n\nexport default CashPaymentButton;\n"],"names":["CashPaymentButton","label","payableId","payableType","tip","discountCode","customAmount","isDisabled","isLoading","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","t","useTranslation","isPending","mutate","createCashPayment","useCreateCashPayment","onSuccess","onError","handleSubmit","tipAttributes","_jsx","Button","disabled","loading","onClick"],"mappings":";;;;;;;;;;;;;;AAMMA,MAAAA,iBAAiB,GAAGA,CAAC;EACzBC,KAAK;EACLC,SAAS;EACTC,WAAW;EACXC,GAAG;EACHC,YAAY;EACZC,YAAY;AACZC,EAAAA,UAAU,GAAG,KAAK;AAClBC,EAAAA,SAAS,GAAG,KAAK;AACjBC,EAAAA,eAAe,GAAGC,IAAI;AACtBC,EAAAA,eAAe,GAAGD,IAAI;AACtBE,EAAAA,mBAAmB,GAAGF;AACxB,CAAC,KAAK;EACJ,MAAM;AAAEG,IAAAA;GAAG,GAAGC,cAAc,EAAE;EAE9B,MAAM;IAAEC,SAAS;AAAEC,IAAAA,MAAM,EAAEC;GAAmB,GAAGC,oBAAoB,CAAC;AACpEC,IAAAA,SAAS,EAAEP,mBAAmB;AAC9BQ,IAAAA,OAAO,EAAET;AACX,GAAC,CAAC;EAEF,MAAMU,YAAY,GAAGA,MAAM;AACzBZ,IAAAA,eAAe,EAAE;AACjBQ,IAAAA,iBAAiB,CAAC;MAChBf,SAAS;MACTC,WAAW;MACXE,YAAY;MACZC,YAAY;AACZgB,MAAAA,aAAa,EAAElB;AACjB,KAAC,CAAC;GACH;EAED,oBACEmB,GAAA,CAACC,MAAM,EAAA;AACL,IAAA,aAAA,EAAY,uBAAuB;IACnCC,QAAQ,EAAEV,SAAS,IAAIR,UAAW;AAClCN,IAAAA,KAAK,EAAEA,KAAK,IAAIY,CAAC,CAAC,8BAA8B,CAAE;IAClDa,OAAO,EAAEX,SAAS,IAAIP,SAAU;AAChCmB,IAAAA,OAAO,EAAEN;AAAa,GACvB,CAAC;AAEN;;;;"}
1
+ {"version":3,"file":"CashPaymentButton.js","sources":["../app/javascript/src/components/CashPaymentButton.jsx"],"sourcesContent":["import { noop } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateCashPayment } from \"hooks/reactQuery/cash/usePaymentApi\";\nimport { Button } from \"neetoui\";\n\nconst CashPaymentButton = ({\n label,\n payableId,\n payableType,\n tip,\n discountCode,\n customAmount,\n isDisabled = false,\n isLoading = false,\n onBeforePayment = noop,\n onFailedPayment = noop,\n onSuccessfulPayment = noop,\n}) => {\n const { t } = useTranslation();\n\n const { isPending, mutate: createCashPayment } = useCreateCashPayment({\n onSuccess: onSuccessfulPayment,\n onError: onFailedPayment,\n });\n\n const handleSubmit = () => {\n onBeforePayment();\n createCashPayment({\n payableId,\n payableType,\n discountCode,\n customAmount,\n tipAttributes: tip,\n });\n };\n\n return (\n <Button\n data-testid=\"payment-submit-button\"\n disabled={isPending || isDisabled}\n label={label || t(\"neetoPayments.common.proceed\")}\n loading={isPending || isLoading}\n onClick={handleSubmit}\n />\n );\n};\n\nexport default CashPaymentButton;\n"],"names":["CashPaymentButton","label","payableId","payableType","tip","discountCode","customAmount","isDisabled","isLoading","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","t","useTranslation","isPending","mutate","createCashPayment","useCreateCashPayment","onSuccess","onError","handleSubmit","tipAttributes","_jsx","Button","disabled","loading","onClick"],"mappings":";;;;;;;;;;;;;;AAMA,MAAMA,iBAAiB,GAAGA,CAAC;EACzBC,KAAK;EACLC,SAAS;EACTC,WAAW;EACXC,GAAG;EACHC,YAAY;EACZC,YAAY;AACZC,EAAAA,UAAU,GAAG,KAAK;AAClBC,EAAAA,SAAS,GAAG,KAAK;AACjBC,EAAAA,eAAe,GAAGC,IAAI;AACtBC,EAAAA,eAAe,GAAGD,IAAI;AACtBE,EAAAA,mBAAmB,GAAGF;AACxB,CAAC,KAAK;EACJ,MAAM;AAAEG,IAAAA;GAAG,GAAGC,cAAc,EAAE;EAE9B,MAAM;IAAEC,SAAS;AAAEC,IAAAA,MAAM,EAAEC;GAAmB,GAAGC,oBAAoB,CAAC;AACpEC,IAAAA,SAAS,EAAEP,mBAAmB;AAC9BQ,IAAAA,OAAO,EAAET;AACX,GAAC,CAAC;EAEF,MAAMU,YAAY,GAAGA,MAAM;AACzBZ,IAAAA,eAAe,EAAE;AACjBQ,IAAAA,iBAAiB,CAAC;MAChBf,SAAS;MACTC,WAAW;MACXE,YAAY;MACZC,YAAY;AACZgB,MAAAA,aAAa,EAAElB;AACjB,KAAC,CAAC;EACJ,CAAC;EAED,oBACEmB,GAAA,CAACC,MAAM,EAAA;AACL,IAAA,aAAA,EAAY,uBAAuB;IACnCC,QAAQ,EAAEV,SAAS,IAAIR,UAAW;AAClCN,IAAAA,KAAK,EAAEA,KAAK,IAAIY,CAAC,CAAC,8BAA8B,CAAE;IAClDa,OAAO,EAAEX,SAAS,IAAIP,SAAU;AAChCmB,IAAAA,OAAO,EAAEN;AAAa,GACvB,CAAC;AAEN;;;;"}
@@ -1,13 +1,13 @@
1
1
  import { useState } from 'react';
2
2
  import { noop } from 'neetocist';
3
3
  import { useTranslation } from 'react-i18next';
4
- import { a as useUpdateCashPayment } from './usePaymentApi-D1xXtOAq.js';
4
+ import { a as useUpdateCashPayment } from './usePaymentApi-Cf_jWBQK.js';
5
5
  import { Button, Modal, Typography } from '@bigbinary/neetoui';
6
6
  import { Form, Textarea, ActionBlock } from '@bigbinary/neetoui/formik';
7
7
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
8
8
  import '@tanstack/react-query';
9
9
  import 'axios';
10
- import './index-DqpYJN4W.js';
10
+ import './index-15RrM-W8.js';
11
11
  import 'i18next';
12
12
  import 'neetocommons/constants';
13
13
  import 'decimal.js';
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmCashPaymentButton.js","sources":["../app/javascript/src/components/ConfirmCashPaymentButton.jsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateCashPayment } from \"hooks/reactQuery/cash/usePaymentApi\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { Form, Textarea, ActionBlock } from \"neetoui/formik\";\n\nconst ConfirmCashPaymentButton = ({\n paymentId,\n payableId,\n onSuccess = noop,\n children,\n}) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const { mutate: updateUpiPayment, isPending } = useUpdateCashPayment(\n paymentId,\n { onSuccess }\n );\n\n const onClose = () => setIsModalOpen(false);\n\n const handleSubmit = ({ notes }) => {\n const payload = { notes, payableId, status: \"successful\" };\n updateUpiPayment(payload);\n };\n\n return (\n <>\n <Button\n data-testid=\"confirm-cash-payment-button\"\n label={t(\"neetoPayments.common.confirmPayment\")}\n loading={isPending}\n size=\"small\"\n onClick={() => setIsModalOpen(true)}\n />\n <Modal {...{ onClose }} isOpen={isModalOpen} size=\"large\">\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPayments.cash.confirmModal.title\")}\n </Typography>\n </Modal.Header>\n <Form\n formikProps={{\n initialValues: { notes: \"\" },\n onSubmit: handleSubmit,\n }}\n >\n {({ isSubmitting }) => (\n <>\n <Modal.Body>\n {children}\n <Textarea\n data-testid=\"confirm-booking-modal-input-textfield\"\n label={t(\"neetoPayments.cash.confirmModal.notes\")}\n name=\"notes\"\n placeholder={t(\n \"neetoPayments.cash.confirmModal.notesPlaceholder\"\n )}\n />\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <ActionBlock\n isSubmitting={isPending}\n position=\"right\"\n cancelButtonProps={{\n onClick: onClose,\n style: \"tertiary\",\n }}\n submitButtonProps={{\n disabled: isSubmitting || isPending,\n label: t(\"neetoPayments.common.confirm\"),\n }}\n />\n </Modal.Footer>\n </>\n )}\n </Form>\n </Modal>\n </>\n );\n};\n\nexport default ConfirmCashPaymentButton;\n"],"names":["ConfirmCashPaymentButton","paymentId","payableId","onSuccess","noop","children","isModalOpen","setIsModalOpen","useState","t","useTranslation","mutate","updateUpiPayment","isPending","useUpdateCashPayment","onClose","handleSubmit","notes","payload","status","_jsxs","_Fragment","_jsx","Button","label","loading","size","onClick","Modal","isOpen","Header","Typography","style","Form","formikProps","initialValues","onSubmit","isSubmitting","Body","Textarea","name","placeholder","Footer","className","ActionBlock","position","cancelButtonProps","submitButtonProps","disabled"],"mappings":"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"}
1
+ {"version":3,"file":"ConfirmCashPaymentButton.js","sources":["../app/javascript/src/components/ConfirmCashPaymentButton.jsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateCashPayment } from \"hooks/reactQuery/cash/usePaymentApi\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { Form, Textarea, ActionBlock } from \"neetoui/formik\";\n\nconst ConfirmCashPaymentButton = ({\n paymentId,\n payableId,\n onSuccess = noop,\n children,\n}) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const { mutate: updateUpiPayment, isPending } = useUpdateCashPayment(\n paymentId,\n { onSuccess }\n );\n\n const onClose = () => setIsModalOpen(false);\n\n const handleSubmit = ({ notes }) => {\n const payload = { notes, payableId, status: \"successful\" };\n updateUpiPayment(payload);\n };\n\n return (\n <>\n <Button\n data-testid=\"confirm-cash-payment-button\"\n label={t(\"neetoPayments.common.confirmPayment\")}\n loading={isPending}\n size=\"small\"\n onClick={() => setIsModalOpen(true)}\n />\n <Modal {...{ onClose }} isOpen={isModalOpen} size=\"large\">\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPayments.cash.confirmModal.title\")}\n </Typography>\n </Modal.Header>\n <Form\n formikProps={{\n initialValues: { notes: \"\" },\n onSubmit: handleSubmit,\n }}\n >\n {({ isSubmitting }) => (\n <>\n <Modal.Body>\n {children}\n <Textarea\n data-testid=\"confirm-booking-modal-input-textfield\"\n label={t(\"neetoPayments.cash.confirmModal.notes\")}\n name=\"notes\"\n placeholder={t(\n \"neetoPayments.cash.confirmModal.notesPlaceholder\"\n )}\n />\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <ActionBlock\n isSubmitting={isPending}\n position=\"right\"\n cancelButtonProps={{\n onClick: onClose,\n style: \"tertiary\",\n }}\n submitButtonProps={{\n disabled: isSubmitting || isPending,\n label: t(\"neetoPayments.common.confirm\"),\n }}\n />\n </Modal.Footer>\n </>\n )}\n </Form>\n </Modal>\n </>\n );\n};\n\nexport default ConfirmCashPaymentButton;\n"],"names":["ConfirmCashPaymentButton","paymentId","payableId","onSuccess","noop","children","isModalOpen","setIsModalOpen","useState","t","useTranslation","mutate","updateUpiPayment","isPending","useUpdateCashPayment","onClose","handleSubmit","notes","payload","status","_jsxs","_Fragment","_jsx","Button","label","loading","size","onClick","Modal","isOpen","Header","Typography","style","Form","formikProps","initialValues","onSubmit","isSubmitting","Body","Textarea","name","placeholder","Footer","className","ActionBlock","position","cancelButtonProps","submitButtonProps","disabled"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { isPresent } from 'neetocist';
2
2
  import CopyToClipboardButton from '@bigbinary/neeto-molecules/CopyToClipboardButton';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
 
5
- var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
5
+ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=true===r.prepend?"prepend":"append",d=true===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
6
6
 
7
7
  var css = ".ant-table-cell-row-hover .identifier-copy-button{visibility:visible!important}";
8
8
  n(css,{});
@@ -23,4 +23,4 @@ const CopyButtonWrapper = ({
23
23
  });
24
24
 
25
25
  export { CopyButtonWrapper as C, n };
26
- //# sourceMappingURL=CopyButtonWrapper-Bp5IVO76.js.map
26
+ //# sourceMappingURL=CopyButtonWrapper-DkI2F6Ty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyButtonWrapper-DkI2F6Ty.js","sources":["../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../app/javascript/src/components/Common/CopyButtonWrapper.jsx"],"sourcesContent":["var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import { isPresent } from \"neetocist\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/copy-button.css\";\n\nconst CopyButtonWrapper = ({ content, children }) => (\n <div className=\"flex items-center space-x-2\">\n {children}\n {isPresent(content) && (\n <div className=\"identifier-copy-button invisible\">\n <CopyToClipboardButton size=\"small\" style=\"text\" value={content} />\n </div>\n )}\n </div>\n);\n\nexport default CopyButtonWrapper;\n"],"names":["CopyButtonWrapper","content","children","_jsxs","className","isPresent","_jsx","CopyToClipboardButton","size","style","value"],"mappings":";;;;AAAA,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;ACMruB,MAAMA,iBAAiB,GAAGA,CAAC;EAAEC,OAAO;AAAEC,EAAAA;AAAS,CAAC,kBAC9CC,IAAA,CAAA,KAAA,EAAA;AAAKC,EAAAA,SAAS,EAAC,6BAA6B;EAAAF,QAAA,EAAA,CACzCA,QAAQ,EACRG,SAAS,CAACJ,OAAO,CAAC,iBACjBK,GAAA,CAAA,KAAA,EAAA;AAAKF,IAAAA,SAAS,EAAC,kCAAkC;IAAAF,QAAA,eAC/CI,GAAA,CAACC,qBAAqB,EAAA;AAACC,MAAAA,IAAI,EAAC,OAAO;AAACC,MAAAA,KAAK,EAAC,MAAM;AAACC,MAAAA,KAAK,EAAET;KAAU;AAAC,GAChE,CACN;AAAA,CACE;;;;","x_google_ignoreList":[0]}
@@ -1,10 +1,10 @@
1
1
  import { useTranslation } from 'react-i18next';
2
2
  import { useMutationWithInvalidation } from 'neetocommons/react-utils';
3
3
  import axios from 'axios';
4
- import { B as BASE_URL } from './index-DqpYJN4W.js';
4
+ import { B as BASE_URL } from './index-15RrM-W8.js';
5
5
  import { useQuery } from '@tanstack/react-query';
6
6
  import { isNotNil } from 'ramda';
7
- import { Q as QUERY_KEYS } from './queryConstants-C7AqdemO.js';
7
+ import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
8
8
  import { Spinner, Typography } from '@bigbinary/neetoui';
9
9
  import { Form, Textarea, Button } from '@bigbinary/neetoui/formik';
10
10
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -1 +1 @@
1
- {"version":3,"file":"CustomerCancelRecurringPaymentForm.js","sources":["../app/javascript/src/apis/public/recurring_payments.js","../app/javascript/src/hooks/reactQuery/public/useRecurringPaymentsApi.js","../app/javascript/src/components/CustomerCancelRecurringPaymentForm/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = payableId =>\n axios.get(`${BASE_URL}/api/v1/public/recurring_payments/${payableId}`);\n\nconst update = ({ payableId, payload }) =>\n axios.put(`${BASE_URL}/api/v1/public/recurring_payments/${payableId}`, {\n recurring_payment: payload,\n });\n\nconst recurringPaymentsApi = { show, update };\n\nexport default recurringPaymentsApi;\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport recurringPaymentsApi from \"apis/public/recurring_payments\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { isNotNil } from \"ramda\";\n\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchRecurringPayment = payableId =>\n useQuery({\n queryKey: [QUERY_KEYS.RECURRING_PAYMENT, payableId],\n queryFn: () => recurringPaymentsApi.show(payableId),\n enabled: isNotNil(payableId),\n });\n\nexport const useUpdateRecurringPayments = payableId =>\n useMutationWithInvalidation(recurringPaymentsApi.update, {\n keysToInvalidate: [QUERY_KEYS.RECURRING_PAYMENT, payableId],\n });\n","import { useTranslation } from \"react-i18next\";\n\nimport {\n useUpdateRecurringPayments,\n useFetchRecurringPayment,\n} from \"hooks/reactQuery/public/useRecurringPaymentsApi\";\nimport { Typography, Spinner } from \"neetoui\";\nimport { Form, Textarea, Button } from \"neetoui/formik\";\n\nconst CustomerCancelRecurringPaymentForm = ({ payableId }) => {\n const { t } = useTranslation();\n\n const { isLoading, data: { recurringPayment } = {} } =\n useFetchRecurringPayment(payableId);\n\n const { isPending, mutate: updateRecurringPayment } =\n useUpdateRecurringPayments(payableId);\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 (recurringPayment?.status === \"cancelled\") {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Typography>\n {t(\"neetoPayments.recurringPaymentCancel.message\")}\n </Typography>\n </div>\n );\n }\n\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Form\n className=\"space-y-6\"\n formikProps={{\n onSubmit: ({ cancelReason }) =>\n updateRecurringPayment({\n payableId,\n payload: { status: \"cancelled\", cancelReason },\n }),\n initialValues: { cancelReason: \"\" },\n }}\n >\n <Textarea\n data-testid=\"cancel-meeting-input-textfield\"\n label={t(\"neetoPayments.recurringPaymentCancel.reasonLabel\")}\n name=\"cancelReason\"\n placeholder={t(\n \"neetoPayments.recurringPaymentCancel.reasonPlaceholder\"\n )}\n />\n <Button\n data-testid=\"cancel-meeting-submit-button\"\n disabled={isPending}\n label={t(\"neetoPayments.recurringPaymentCancel.buttonLabel\")}\n loading={isPending}\n style=\"danger\"\n />\n </Form>\n </div>\n );\n};\n\nexport default CustomerCancelRecurringPaymentForm;\n"],"names":["show","payableId","axios","get","BASE_URL","update","payload","put","recurring_payment","recurringPaymentsApi","useFetchRecurringPayment","useQuery","queryKey","QUERY_KEYS","RECURRING_PAYMENT","queryFn","enabled","isNotNil","useUpdateRecurringPayments","useMutationWithInvalidation","keysToInvalidate","CustomerCancelRecurringPaymentForm","t","useTranslation","isLoading","data","recurringPayment","isPending","mutate","updateRecurringPayment","_jsx","className","children","Spinner","status","Typography","_jsxs","Form","formikProps","onSubmit","cancelReason","initialValues","Textarea","label","name","placeholder","Button","disabled","loading","style"],"mappings":"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"}
1
+ {"version":3,"file":"CustomerCancelRecurringPaymentForm.js","sources":["../app/javascript/src/apis/public/recurring_payments.js","../app/javascript/src/hooks/reactQuery/public/useRecurringPaymentsApi.js","../app/javascript/src/components/CustomerCancelRecurringPaymentForm/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = payableId =>\n axios.get(`${BASE_URL}/api/v1/public/recurring_payments/${payableId}`);\n\nconst update = ({ payableId, payload }) =>\n axios.put(`${BASE_URL}/api/v1/public/recurring_payments/${payableId}`, {\n recurring_payment: payload,\n });\n\nconst recurringPaymentsApi = { show, update };\n\nexport default recurringPaymentsApi;\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport recurringPaymentsApi from \"apis/public/recurring_payments\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { isNotNil } from \"ramda\";\n\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchRecurringPayment = payableId =>\n useQuery({\n queryKey: [QUERY_KEYS.RECURRING_PAYMENT, payableId],\n queryFn: () => recurringPaymentsApi.show(payableId),\n enabled: isNotNil(payableId),\n });\n\nexport const useUpdateRecurringPayments = payableId =>\n useMutationWithInvalidation(recurringPaymentsApi.update, {\n keysToInvalidate: [QUERY_KEYS.RECURRING_PAYMENT, payableId],\n });\n","import { useTranslation } from \"react-i18next\";\n\nimport {\n useUpdateRecurringPayments,\n useFetchRecurringPayment,\n} from \"hooks/reactQuery/public/useRecurringPaymentsApi\";\nimport { Typography, Spinner } from \"neetoui\";\nimport { Form, Textarea, Button } from \"neetoui/formik\";\n\nconst CustomerCancelRecurringPaymentForm = ({ payableId }) => {\n const { t } = useTranslation();\n\n const { isLoading, data: { recurringPayment } = {} } =\n useFetchRecurringPayment(payableId);\n\n const { isPending, mutate: updateRecurringPayment } =\n useUpdateRecurringPayments(payableId);\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 (recurringPayment?.status === \"cancelled\") {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Typography>\n {t(\"neetoPayments.recurringPaymentCancel.message\")}\n </Typography>\n </div>\n );\n }\n\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Form\n className=\"space-y-6\"\n formikProps={{\n onSubmit: ({ cancelReason }) =>\n updateRecurringPayment({\n payableId,\n payload: { status: \"cancelled\", cancelReason },\n }),\n initialValues: { cancelReason: \"\" },\n }}\n >\n <Textarea\n data-testid=\"cancel-meeting-input-textfield\"\n label={t(\"neetoPayments.recurringPaymentCancel.reasonLabel\")}\n name=\"cancelReason\"\n placeholder={t(\n \"neetoPayments.recurringPaymentCancel.reasonPlaceholder\"\n )}\n />\n <Button\n data-testid=\"cancel-meeting-submit-button\"\n disabled={isPending}\n label={t(\"neetoPayments.recurringPaymentCancel.buttonLabel\")}\n loading={isPending}\n style=\"danger\"\n />\n </Form>\n </div>\n );\n};\n\nexport default CustomerCancelRecurringPaymentForm;\n"],"names":["show","payableId","axios","get","BASE_URL","update","payload","put","recurring_payment","recurringPaymentsApi","useFetchRecurringPayment","useQuery","queryKey","QUERY_KEYS","RECURRING_PAYMENT","queryFn","enabled","isNotNil","useUpdateRecurringPayments","useMutationWithInvalidation","keysToInvalidate","CustomerCancelRecurringPaymentForm","t","useTranslation","isLoading","data","recurringPayment","isPending","mutate","updateRecurringPayment","_jsx","className","children","Spinner","status","Typography","_jsxs","Form","formikProps","onSubmit","cancelReason","initialValues","Textarea","label","name","placeholder","Button","disabled","loading","style"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { mergeLeft } from 'ramda';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { useMutation } from '@tanstack/react-query';
7
7
  import axios from 'axios';
8
- import { B as BASE_URL, u as uuidV4 } from './index-DqpYJN4W.js';
8
+ import { B as BASE_URL, u as uuidV4 } from './index-15RrM-W8.js';
9
9
  import { getQueryParams } from 'neetocommons/utils';
10
10
  import { Modal, Typography, Button } from '@bigbinary/neetoui';
11
11
  import { e as exportChannel } from './exportChannel-Db0U5gc1.js';
@@ -117,4 +117,4 @@ const ExportModal = ({
117
117
  };
118
118
 
119
119
  export { ExportModal as E };
120
- //# sourceMappingURL=ExportModal-KInsxpSb.js.map
120
+ //# sourceMappingURL=ExportModal-ubjATdMC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExportModal-KInsxpSb.js","sources":["../app/javascript/src/apis/exports.js","../app/javascript/src/hooks/reactQuery/useExportsApi.js","../app/javascript/src/components/Common/ExportModal.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst create = payload =>\n axios.post(\n `${BASE_URL}/api/v1/exports`,\n { export: payload },\n { showToastr: false }\n );\n\nconst exportsApi = { create };\n\nexport default exportsApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport exportsApi from \"apis/exports\";\n\nexport const useExportsData = () =>\n useMutation({ mutationFn: exportsApi.create });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { isPresent, camelToSnakeCase } from \"neetocist\";\nimport { Download } from \"neetoicons\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportsData } from \"hooks/reactQuery/useExportsApi\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n filters,\n dashboardKind,\n holdableIds,\n sortProperties,\n isExportModalOpen,\n setIsExportModalOpen,\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { tab = \"all\" } = getQueryParams();\n\n const { mutate: exportsData } = useExportsData();\n\n const token = useMemo(\n () => `${dashboardKind}-report-${uuidV4()}`,\n [dashboardKind]\n );\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n useEffect(() => {\n if (isExportModalOpen) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [isExportModalOpen, token]);\n\n const onClose = () => setIsExportModalOpen(false);\n\n const handleExport = () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n const payload = mergeLeft(sortProperties, {\n token,\n filters,\n tab,\n holdableIds,\n dashboard: camelToSnakeCase(dashboardKind),\n });\n\n exportsData(payload);\n };\n\n return (\n <Modal {...{ onClose }} isOpen={isExportModalOpen}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(`neetoPayments.export.title.${dashboardKind}`)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n {isGenerating ? (\n <Typography style=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography style=\"body2\">\n {isPresent(downloadUrl)\n ? t(\"neetoPayments.export.fileReady\")\n : t(`neetoPayments.export.download.${dashboardKind}`)}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n {isPresent(downloadUrl) ? (\n <Button\n data-testid=\"neeto-payments-download-button\"\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n data-testid=\"cancel-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n data-testid=\"neeto-payments-export-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.export\")}\n loading={isGenerating}\n onClick={handleExport}\n />\n </>\n )}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ExportModal;\n"],"names":["create","payload","axios","post","BASE_URL","export","showToastr","exportsApi","useExportsData","useMutation","mutationFn","ExportModal","filters","dashboardKind","holdableIds","sortProperties","isExportModalOpen","setIsExportModalOpen","t","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","tab","getQueryParams","mutate","exportsData","token","useMemo","uuidV4","receivedCallback","data","download_url","useEffect","channel","exportChannel","disconnected","undefined","onClose","handleExport","mergeLeft","dashboard","camelToSnakeCase","_jsxs","Modal","isOpen","children","_jsx","Header","Typography","style","Body","isPresent","Footer","className","Button","href","icon","Download","label","onClick","_Fragment","disabled","loading"],"mappings":"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"}
1
+ {"version":3,"file":"ExportModal-ubjATdMC.js","sources":["../app/javascript/src/apis/exports.js","../app/javascript/src/hooks/reactQuery/useExportsApi.js","../app/javascript/src/components/Common/ExportModal.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst create = payload =>\n axios.post(\n `${BASE_URL}/api/v1/exports`,\n { export: payload },\n { showToastr: false }\n );\n\nconst exportsApi = { create };\n\nexport default exportsApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport exportsApi from \"apis/exports\";\n\nexport const useExportsData = () =>\n useMutation({ mutationFn: exportsApi.create });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { isPresent, camelToSnakeCase } from \"neetocist\";\nimport { Download } from \"neetoicons\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportsData } from \"hooks/reactQuery/useExportsApi\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n filters,\n dashboardKind,\n holdableIds,\n sortProperties,\n isExportModalOpen,\n setIsExportModalOpen,\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { tab = \"all\" } = getQueryParams();\n\n const { mutate: exportsData } = useExportsData();\n\n const token = useMemo(\n () => `${dashboardKind}-report-${uuidV4()}`,\n [dashboardKind]\n );\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n useEffect(() => {\n if (isExportModalOpen) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [isExportModalOpen, token]);\n\n const onClose = () => setIsExportModalOpen(false);\n\n const handleExport = () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n const payload = mergeLeft(sortProperties, {\n token,\n filters,\n tab,\n holdableIds,\n dashboard: camelToSnakeCase(dashboardKind),\n });\n\n exportsData(payload);\n };\n\n return (\n <Modal {...{ onClose }} isOpen={isExportModalOpen}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(`neetoPayments.export.title.${dashboardKind}`)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n {isGenerating ? (\n <Typography style=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography style=\"body2\">\n {isPresent(downloadUrl)\n ? t(\"neetoPayments.export.fileReady\")\n : t(`neetoPayments.export.download.${dashboardKind}`)}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n {isPresent(downloadUrl) ? (\n <Button\n data-testid=\"neeto-payments-download-button\"\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n data-testid=\"cancel-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n data-testid=\"neeto-payments-export-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.export\")}\n loading={isGenerating}\n onClick={handleExport}\n />\n </>\n )}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ExportModal;\n"],"names":["create","payload","axios","post","BASE_URL","export","showToastr","exportsApi","useExportsData","useMutation","mutationFn","ExportModal","filters","dashboardKind","holdableIds","sortProperties","isExportModalOpen","setIsExportModalOpen","t","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","tab","getQueryParams","mutate","exportsData","token","useMemo","uuidV4","receivedCallback","data","download_url","useEffect","channel","exportChannel","disconnected","undefined","onClose","handleExport","mergeLeft","dashboard","camelToSnakeCase","_jsxs","Modal","isOpen","children","_jsx","Header","Typography","style","Body","isPresent","Footer","className","Button","href","icon","Download","label","onClick","_Fragment","disabled","loading"],"mappings":"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"}
@@ -2,10 +2,10 @@ import { Typography, Table, Alert, Spinner } from '@bigbinary/neetoui';
2
2
  import { useQuery } from '@tanstack/react-query';
3
3
  import { useMutationWithInvalidation } from 'neetocommons/react-utils';
4
4
  import axios from 'axios';
5
- import { B as BASE_URL } from './index-DqpYJN4W.js';
6
- import { Q as QUERY_KEYS } from './queryConstants-C7AqdemO.js';
5
+ import { B as BASE_URL } from './index-15RrM-W8.js';
6
+ import { Q as QUERY_KEYS } from './queryConstants-8c7Nd8ML.js';
7
7
  import CardLayout from '@bigbinary/neeto-molecules/CardLayout';
8
- import { Form, ActionBlock, Input } from '@bigbinary/neetoui/formik';
8
+ import { Form, Input, ActionBlock } from '@bigbinary/neetoui/formik';
9
9
  import { useTranslation, Trans } from 'react-i18next';
10
10
  import { useHistory } from 'react-router-dom';
11
11
  import { t } from 'i18next';