@bigbinary/neeto-payments-frontend 1.5.0-beta1 → 1.6.0-beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -95
- package/app/javascript/src/translations/en.json +0 -15
- package/dist/AccountsDashboard.js +477 -0
- package/dist/AccountsDashboard.js.map +1 -0
- package/dist/Dashboard.js +598 -0
- package/dist/Dashboard.js.map +1 -0
- package/dist/ExportModal-85725c35.js +645 -0
- package/dist/ExportModal-85725c35.js.map +1 -0
- package/dist/IdentifierButton-73cadb18.js +20 -0
- package/dist/IdentifierButton-73cadb18.js.map +1 -0
- package/dist/PaymentKindRestrictionAlert.js +34 -0
- package/dist/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/PayoutsDashboard.js +503 -0
- package/dist/PayoutsDashboard.js.map +1 -0
- package/dist/PayoutsPage.js +185 -0
- package/dist/PayoutsPage.js.map +1 -0
- package/dist/RazorpayDashboard.js +251 -0
- package/dist/RazorpayDashboard.js.map +1 -0
- package/dist/RazorpayPaymentButton.js +111 -0
- package/dist/RazorpayPaymentButton.js.map +1 -0
- package/dist/StripeConnect.js +2071 -0
- package/dist/StripeConnect.js.map +1 -0
- package/dist/U2TDTBMY-c464dc98.js +12081 -0
- package/dist/U2TDTBMY-c464dc98.js.map +1 -0
- package/dist/UpiConnect.js +148 -0
- package/dist/UpiConnect.js.map +1 -0
- package/dist/UpiMarkAsPaidButton.js +42 -0
- package/dist/UpiMarkAsPaidButton.js.map +1 -0
- package/dist/UpiPayment.js +94 -0
- package/dist/UpiPayment.js.map +1 -0
- package/dist/V2PaymentsDashboard.js +302 -0
- package/dist/V2PaymentsDashboard.js.map +1 -0
- package/dist/buildStripeTransactionLink.js +6 -0
- package/dist/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/AccountsDashboard.js +494 -0
- package/dist/cjs/AccountsDashboard.js.map +1 -0
- package/dist/cjs/Dashboard.js +613 -0
- package/dist/cjs/Dashboard.js.map +1 -0
- package/dist/cjs/ExportModal-20f368a1.js +669 -0
- package/dist/cjs/ExportModal-20f368a1.js.map +1 -0
- package/dist/cjs/IdentifierButton-40b5459d.js +27 -0
- package/dist/cjs/IdentifierButton-40b5459d.js.map +1 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js +41 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/cjs/PayoutsDashboard.js +519 -0
- package/dist/cjs/PayoutsDashboard.js.map +1 -0
- package/dist/cjs/PayoutsPage.js +194 -0
- package/dist/cjs/PayoutsPage.js.map +1 -0
- package/dist/cjs/RazorpayDashboard.js +262 -0
- package/dist/cjs/RazorpayDashboard.js.map +1 -0
- package/dist/cjs/RazorpayPaymentButton.js +118 -0
- package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
- package/dist/cjs/StripeConnect.js +2106 -0
- package/dist/cjs/StripeConnect.js.map +1 -0
- package/dist/cjs/U2TDTBMY-e2fad970.js +12083 -0
- package/dist/cjs/U2TDTBMY-e2fad970.js.map +1 -0
- package/dist/cjs/UpiConnect.js +181 -0
- package/dist/cjs/UpiConnect.js.map +1 -0
- package/dist/cjs/UpiMarkAsPaidButton.js +49 -0
- package/dist/cjs/UpiMarkAsPaidButton.js.map +1 -0
- package/dist/cjs/UpiPayment.js +124 -0
- package/dist/cjs/UpiPayment.js.map +1 -0
- package/dist/cjs/V2PaymentsDashboard.js +313 -0
- package/dist/cjs/V2PaymentsDashboard.js.map +1 -0
- package/dist/cjs/buildStripeTransactionLink.js +11 -0
- package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/constants.js +495 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/exportChannel-7bd80952.js +39 -0
- package/dist/cjs/exportChannel-7bd80952.js.map +1 -0
- package/dist/cjs/extends-1b35a664.js +19 -0
- package/dist/cjs/extends-1b35a664.js.map +1 -0
- package/dist/cjs/index-b097dce8.js +41 -0
- package/dist/cjs/index-b097dce8.js.map +1 -0
- package/dist/cjs/index-b7badf96.js +88 -0
- package/dist/cjs/index-b7badf96.js.map +1 -0
- package/dist/cjs/index.js +100 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/mutation-ed7b84fc.js +235 -0
- package/dist/cjs/mutation-ed7b84fc.js.map +1 -0
- package/dist/cjs/queryConstants-de21eed5.js +944 -0
- package/dist/cjs/queryConstants-de21eed5.js.map +1 -0
- package/dist/cjs/renderFunctions-398d3fb5.js +3719 -0
- package/dist/cjs/renderFunctions-398d3fb5.js.map +1 -0
- package/dist/cjs/stripe.esm-4218a1e9.js.map +1 -0
- package/dist/cjs/useConnectApi-f0665633.js +2189 -0
- package/dist/cjs/useConnectApi-f0665633.js.map +1 -0
- package/dist/cjs/useFiltersAndPagination-312c0331.js +277 -0
- package/dist/cjs/useFiltersAndPagination-312c0331.js.map +1 -0
- package/dist/cjs/useMutation-4c7cdbe1.js +154 -0
- package/dist/cjs/useMutation-4c7cdbe1.js.map +1 -0
- package/dist/cjs/usePaymentApi-ae70e5df.js +48 -0
- package/dist/cjs/usePaymentApi-ae70e5df.js.map +1 -0
- package/dist/cjs/usePaymentsApi-815be3da.js +36 -0
- package/dist/cjs/usePaymentsApi-815be3da.js.map +1 -0
- package/dist/cjs/usePlatformApi-830827fa.js +116 -0
- package/dist/cjs/usePlatformApi-830827fa.js.map +1 -0
- package/dist/cjs/useRazorpayPayment.js +91 -0
- package/dist/cjs/useRazorpayPayment.js.map +1 -0
- package/dist/cjs/useStripePromise.js +27 -0
- package/dist/cjs/useStripePromise.js.map +1 -0
- package/dist/cjs/utils-7eba34a4.js +664 -0
- package/dist/cjs/utils-7eba34a4.js.map +1 -0
- package/dist/constants.js +480 -0
- package/dist/constants.js.map +1 -0
- package/dist/exportChannel-250e6f14.js +32 -0
- package/dist/exportChannel-250e6f14.js.map +1 -0
- package/dist/extends-093996c9.js +17 -0
- package/dist/extends-093996c9.js.map +1 -0
- package/dist/index-1aedc364.js +80 -0
- package/dist/index-1aedc364.js.map +1 -0
- package/dist/index-48f8b281.js +32 -0
- package/dist/index-48f8b281.js.map +1 -0
- package/dist/index.js +77 -12558
- package/dist/index.js.map +1 -1
- package/dist/mutation-286611ef.js +232 -0
- package/dist/mutation-286611ef.js.map +1 -0
- package/dist/queryConstants-765c8816.js +920 -0
- package/dist/queryConstants-765c8816.js.map +1 -0
- package/dist/renderFunctions-97b121a4.js +3633 -0
- package/dist/renderFunctions-97b121a4.js.map +1 -0
- package/dist/useConnectApi-87335bf6.js +2174 -0
- package/dist/useConnectApi-87335bf6.js.map +1 -0
- package/dist/useFiltersAndPagination-2ab7bc8f.js +262 -0
- package/dist/useFiltersAndPagination-2ab7bc8f.js.map +1 -0
- package/dist/useMutation-8d67f853.js +132 -0
- package/dist/useMutation-8d67f853.js.map +1 -0
- package/dist/usePaymentApi-12737871.js +41 -0
- package/dist/usePaymentApi-12737871.js.map +1 -0
- package/dist/usePaymentsApi-a801ab15.js +29 -0
- package/dist/usePaymentsApi-a801ab15.js.map +1 -0
- package/dist/usePlatformApi-8adc2a50.js +104 -0
- package/dist/usePlatformApi-8adc2a50.js.map +1 -0
- package/dist/useRazorpayPayment.js +89 -0
- package/dist/useRazorpayPayment.js.map +1 -0
- package/dist/useStripePromise.js +25 -0
- package/dist/useStripePromise.js.map +1 -0
- package/dist/utils-e29db9c9.js +614 -0
- package/dist/utils-e29db9c9.js.map +1 -0
- package/package.json +18 -10
- package/types/AccountsDashboard.d.ts +3 -0
- package/types/Dashboard.d.ts +15 -0
- package/types/PaymentKindRestrictionAlert.d.ts +11 -0
- package/types/PayoutsDashboard.d.ts +10 -0
- package/types/PayoutsPage.d.ts +11 -0
- package/types/StripeConnect.d.ts +13 -0
- package/types/buildStripeTransactionLink.d.ts +6 -0
- package/types/useStripePromise.d.ts +5 -0
- package/types.d.ts +8 -75
- package/dist/index-042b6907.js +0 -6
- package/dist/index-042b6907.js.map +0 -1
- package/dist/index-87824935.js +0 -4
- package/dist/index-87824935.js.map +0 -1
- package/dist/index.cjs.js +0 -12633
- package/dist/index.cjs.js.map +0 -1
- package/dist/stripe.esm-4218a1e9.js.map +0 -1
- /package/dist/{stripe.esm-4218a1e9.js → cjs/stripe.esm-4218a1e9.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"V2PaymentsDashboard.js","sources":["../app/javascript/src/components/V2PaymentsDashboard/constants.js","../app/javascript/src/apis/v2Payments/payments.js","../app/javascript/src/hooks/reactQuery/v2Payments/usePaymentsApi.js","../app/javascript/src/components/V2PaymentsDashboard/utils.js","../app/javascript/src/components/V2PaymentsDashboard/List.jsx","../app/javascript/src/components/V2PaymentsDashboard/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nimport { renderDate, renderStatus } from \"utils/renderFunctions\";\n\nexport const TAB = {\n all: \"all\",\n successful: \"successful\",\n declined: \"declined\",\n};\n\nexport const TABS = Object.values(TAB);\n\nexport const COLUMNS = [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: \"72px\",\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.transactionId\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: \"290px\",\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n sorter: true,\n width: \"150px\",\n render: renderStatus(\"upiTransaction\"),\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.amount\"),\n dataIndex: \"amount\",\n key: \"amount\",\n sorter: true,\n width: \"150px\",\n },\n {\n title: t(\"neetoPayments.common.paymentTime\"),\n dataIndex: \"paymentAt\",\n key: \"paymentTime\",\n sorter: true,\n width: \"220px\",\n render: renderDate,\n },\n];\n\nexport const COLUMN_METADATA = {\n status: {\n isHidden: {\n successful: true,\n declined: true,\n pending: true,\n refunded: true,\n },\n },\n};\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = payload =>\n axios.get(`${BASE_URL}/api/v2/payments`, { params: payload });\n\nconst paymentsApi = { list };\n\nexport default paymentsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport paymentsApi from \"apis/v2Payments/payments\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchV2Payments = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.V2_PAYMENTS, payload],\n queryFn: () => paymentsApi.list(payload),\n ...options,\n });\n","import { filterBy } from \"neetocist\";\nimport { concat, isEmpty, map, prop } from \"ramda\";\n\nimport { FILTER_COLUMNS } from \"src/constants\";\n\nimport { COLUMNS, COLUMN_METADATA } from \"./constants\";\n\nexport const buildFilterColumns = (payableEntityColumns = []) =>\n concat(\n FILTER_COLUMNS,\n map(\n prop(\"filterProps\"),\n filterBy({ isFilterable: true }, payableEntityColumns)\n )\n );\n\nexport const buildPaymentColumns = ({ tab, kind, payableEntityColumns = [] }) =>\n COLUMNS.filter(\n ({ key }) =>\n !(\n COLUMN_METADATA[key]?.isHidden?.[kind] ||\n COLUMN_METADATA[key]?.isHidden?.[tab]\n )\n ).concat(\n payableEntityColumns.filter(\n ({ isHidden }) => !(isHidden?.[tab] || isHidden?.[kind])\n )\n );\n\nexport const buildRowData = ({ data, pageProperties = {}, tab = \"all\" }) =>\n data.map((element, index) => ({\n ...element,\n payable: element.payable,\n identifier: element.identifier,\n id: isEmpty(pageProperties)\n ? index + 1\n : pageProperties[tab]?.pageSize * (pageProperties[tab]?.page - 1) +\n index +\n 1,\n }));\n","import React, { useEffect } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { useHiddenColumns } from \"neetomolecules/Columns\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { assoc, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useFetchV2Payments } from \"hooks/reactQuery/v2Payments/usePaymentsApi\";\nimport { DEFAULT_SORT_PROPERTIES, SORT_DIRECTIONS } from \"src/constants\";\nimport { processDataIndex } from \"utils\";\nimport { buildPayload } from \"utils/dashboard\";\n\nimport { TAB } from \"./constants\";\nimport { buildPaymentColumns, buildRowData } from \"./utils\";\n\nconst List = ({\n kind,\n filters,\n setIsFilterButtonVisible,\n pageProperties,\n payableEntityColumns,\n setPageProperties,\n tab,\n sortProperties,\n setSortProperties,\n setDataSize,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n const columnData = buildPaymentColumns({\n tab,\n kind,\n payableEntityColumns,\n });\n\n const payload = buildPayload({\n tab,\n filters,\n pageProperties,\n sortProperties,\n });\n\n const { hideColumn, hiddenColumns = [] } = useHiddenColumns(\n `paymentDashboard_${kind}`\n );\n\n const {\n data: { payments, views = {} } = {},\n isLoading: isPaymentsLoading,\n isFetching,\n } = useFetchV2Payments(payload);\n\n useEffect(() => {\n setIsFilterButtonVisible(isPresent(payments) || isPresent(filters));\n setDataSize(views[tab]);\n }, [payments]);\n\n const handleTablePaginaton = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties(assoc(tab, { page, pageSize }));\n };\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(sorter.field),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n const visibleColumns = columnData.filter(\n ({ dataIndex }) => !hiddenColumns.includes(processDataIndex(dataIndex))\n );\n\n if (isPaymentsLoading) {\n return <PageLoader />;\n }\n\n if (!isPresent(payments)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === TAB.all\n ? t(`neetoPayments.emptyState.${kind}`)\n : t(`neetoPayments.emptyState.${kind}WithStatus`, { status: tab })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={views > pageProperties[tab]?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={visibleColumns}\n currentPageNumber={pageProperties[tab]?.page}\n handlePageChange={handleTablePaginaton}\n loading={isFetching}\n rowData={buildRowData({ data: payments, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={views}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties[tab]?.pageSize,\n total: views,\n }}\n onChange={handleTableChange}\n onColumnHide={columnData => {\n hideColumn(processDataIndex(columnData.dataIndex));\n }}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FilterWrapper from \"components/Common/FilterWrapper\";\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFiltersAndPagination } from \"hooks/useFiltersAndPagination\";\n\nimport { TABS } from \"./constants\";\nimport List from \"./List\";\n\nconst V2PaymentsDashboard = ({\n searchProps,\n headerProps = {},\n payableEntityColumns = [],\n kind = \"upiPayment\",\n}) => {\n const { t } = useTranslation();\n const filterPaginationState = useFiltersAndPagination({\n payableEntityColumns,\n kind,\n initialTabs: TABS,\n tabMetaData: {},\n });\n\n const {\n filters,\n setIsFilterButtonVisible,\n pageProperties,\n setPageProperties,\n sortProperties,\n setSortProperties,\n tab,\n setDataSize,\n } = filterPaginationState;\n\n return (\n // Note: For now this component would be called UPI payments\n // Note: This cannot be called payments as right now this only shows upi payments.\n // TODO: Once other payments are integrated change the header and subsequent usages of \"upi\"\n <FilterWrapper\n title={t(\"neetoPayments.common.upiPayments\")}\n {...{\n headerProps,\n kind,\n payableEntityColumns,\n searchProps,\n ...filterPaginationState,\n }}\n >\n <List\n {...{\n filters,\n kind,\n pageProperties,\n payableEntityColumns,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n }}\n />\n </FilterWrapper>\n );\n};\n\nexport default withTitle(\n withReactQuery(V2PaymentsDashboard),\n t(\"neetoPayments.common.upiPayments\")\n);\n"],"names":["TAB","all","successful","declined","TABS","Object","values","COLUMNS","title","t","dataIndex","key","width","isHidable","sorter","render","renderStatus","renderDate","COLUMN_METADATA","status","isHidden","pending","refunded","list","payload","axios","get","BASE_URL","params","paymentsApi","useFetchV2Payments","arguments","length","undefined","options","useQuery","queryKey","QUERY_KEYS","V2_PAYMENTS","queryFn","buildPaymentColumns","_ref","tab","kind","payableEntityColumns","filter","_ref2","concat","_ref3","buildRowData","_ref4","data","pageProperties","map","element","index","payable","identifier","id","isEmpty","pageSize","page","List","filters","setIsFilterButtonVisible","setPageProperties","sortProperties","setSortProperties","setDataSize","history","useHistory","useTranslation","columnData","buildPayload","hideColumn","hiddenColumns","useHiddenColumns","payments","views","isLoading","isPaymentsLoading","isFetching","useEffect","isPresent","handleTablePaginaton","queryParams","getQueryParams","toCamelCase","push","buildUrl","window","location","pathname","mergeLeft","page_size","assoc","handleTableChange","_","__","column","sortBy","camelToSnakeCase","field","orderBy","order","DEFAULT_SORT_PROPERTIES","visibleColumns","includes","processDataIndex","React","createElement","PageLoader","className","NoData","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","handlePageChange","loading","rowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","V2PaymentsDashboard","searchProps","headerProps","filterPaginationState","useFiltersAndPagination","initialTabs","tabMetaData","FilterWrapper","_extends","withTitle","withReactQuery"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { a as buildStripeTransactionLink } from './index-48f8b281.js';
|
|
2
|
+
export { a as default } from './index-48f8b281.js';
|
|
3
|
+
import './constants.js';
|
|
4
|
+
import 'i18next';
|
|
5
|
+
import '@bigbinary/neeto-commons-frontend/constants';
|
|
6
|
+
//# sourceMappingURL=buildStripeTransactionLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildStripeTransactionLink.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var i18next = require('i18next');
|
|
5
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
7
|
+
var neetoFiltersFrontend = require('@bigbinary/neeto-filters-frontend');
|
|
8
|
+
var Header = require('@bigbinary/neeto-molecules/Header');
|
|
9
|
+
var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
|
|
10
|
+
var Tab = require('@bigbinary/neetoui/Tab');
|
|
11
|
+
var Typography = require('@bigbinary/neetoui/Typography');
|
|
12
|
+
var reactI18next = require('react-i18next');
|
|
13
|
+
var renderFunctions = require('./renderFunctions-398d3fb5.js');
|
|
14
|
+
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
15
|
+
var Button = require('@bigbinary/neetoui/Button');
|
|
16
|
+
var Modal = require('@bigbinary/neetoui/Modal');
|
|
17
|
+
var exportChannel = require('./exportChannel-7bd80952.js');
|
|
18
|
+
var index$1 = require('./index-b097dce8.js');
|
|
19
|
+
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
20
|
+
var ramda = require('ramda');
|
|
21
|
+
var reactRouterDom = require('react-router-dom');
|
|
22
|
+
var constants = require('./constants.js');
|
|
23
|
+
var IdentifierButton = require('./IdentifierButton-40b5459d.js');
|
|
24
|
+
var constants$1 = require('@bigbinary/neeto-commons-frontend/constants');
|
|
25
|
+
var Columns = require('@bigbinary/neeto-molecules/Columns');
|
|
26
|
+
var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
|
|
27
|
+
var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
|
|
28
|
+
var Table = require('@bigbinary/neetoui/Table');
|
|
29
|
+
var NoData = require('@bigbinary/neetoui/NoData');
|
|
30
|
+
var queryConstants = require('./queryConstants-de21eed5.js');
|
|
31
|
+
var axios = require('axios');
|
|
32
|
+
require('./utils-7eba34a4.js');
|
|
33
|
+
require('react/jsx-runtime');
|
|
34
|
+
require('./mutation-ed7b84fc.js');
|
|
35
|
+
require('@bigbinary/neeto-molecules/DateFormat');
|
|
36
|
+
require('@bigbinary/neetoui/Tag');
|
|
37
|
+
require('@bigbinary/neetoui/Tooltip');
|
|
38
|
+
require('@bigbinary/neeto-molecules/CopyToClipboardButton');
|
|
39
|
+
require('./useMutation-4c7cdbe1.js');
|
|
40
|
+
|
|
41
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
42
|
+
|
|
43
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
44
|
+
var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header);
|
|
45
|
+
var SubHeader__default = /*#__PURE__*/_interopDefaultLegacy(SubHeader);
|
|
46
|
+
var Tab__default = /*#__PURE__*/_interopDefaultLegacy(Tab);
|
|
47
|
+
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
48
|
+
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
49
|
+
var Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal);
|
|
50
|
+
var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
|
|
51
|
+
var TableWrapper__default = /*#__PURE__*/_interopDefaultLegacy(TableWrapper);
|
|
52
|
+
var Table__default = /*#__PURE__*/_interopDefaultLegacy(Table);
|
|
53
|
+
var NoData__default = /*#__PURE__*/_interopDefaultLegacy(NoData);
|
|
54
|
+
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
55
|
+
|
|
56
|
+
const TAB = {
|
|
57
|
+
all: "all",
|
|
58
|
+
connected: "connected",
|
|
59
|
+
disconnected: "disconnected",
|
|
60
|
+
incomplete: "incomplete"
|
|
61
|
+
};
|
|
62
|
+
const TABS = Object.values(TAB);
|
|
63
|
+
const SEARCH_PROPS = {
|
|
64
|
+
key: "keyword",
|
|
65
|
+
node: "identifier,user.first_name,last_name,email",
|
|
66
|
+
model: "NeetoPaymentsEngine::Stripe::Account,User"
|
|
67
|
+
};
|
|
68
|
+
const DASHBOARD_MANDATORY_COLUMNS = ["id", "status", "identifier"];
|
|
69
|
+
const FILTER_COLUMNS = [{
|
|
70
|
+
key: "created_at",
|
|
71
|
+
label: i18next.t("neetoPayments.common.createdAt"),
|
|
72
|
+
node: "created_at",
|
|
73
|
+
type: "date",
|
|
74
|
+
showRuleSelector: true
|
|
75
|
+
}];
|
|
76
|
+
const STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY = "stripeAccountsDashboard";
|
|
77
|
+
|
|
78
|
+
const ExportModal = _ref => {
|
|
79
|
+
let {
|
|
80
|
+
showExportModal,
|
|
81
|
+
setShowExportModal,
|
|
82
|
+
tab,
|
|
83
|
+
filters,
|
|
84
|
+
sortProperties = {}
|
|
85
|
+
} = _ref;
|
|
86
|
+
const {
|
|
87
|
+
t
|
|
88
|
+
} = reactI18next.useTranslation();
|
|
89
|
+
const [downloadUrl, setDownloadUrl] = React.useState("");
|
|
90
|
+
const [isGenerating, setIsGenerating] = React.useState(false);
|
|
91
|
+
const {
|
|
92
|
+
mutate: exportCsv,
|
|
93
|
+
isLoading
|
|
94
|
+
} = exportChannel.useExportData();
|
|
95
|
+
const isFileLoading = isLoading || isGenerating;
|
|
96
|
+
const token = React.useMemo(() => `account-report-${index$1.uuidV4()}`, []);
|
|
97
|
+
const receivedCallback = data => {
|
|
98
|
+
if (!data.download_url) return;
|
|
99
|
+
setDownloadUrl(data.download_url);
|
|
100
|
+
setIsGenerating(false);
|
|
101
|
+
};
|
|
102
|
+
const handleGenerateClick = () => {
|
|
103
|
+
const payload = {
|
|
104
|
+
kind: "account",
|
|
105
|
+
token,
|
|
106
|
+
filters,
|
|
107
|
+
tab,
|
|
108
|
+
...sortProperties
|
|
109
|
+
};
|
|
110
|
+
exportCsv(payload, {
|
|
111
|
+
onSuccess: () => {
|
|
112
|
+
setDownloadUrl("");
|
|
113
|
+
setIsGenerating(true);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
React.useEffect(() => {
|
|
118
|
+
if (showExportModal) {
|
|
119
|
+
const channel = exportChannel.exportChannel(token, receivedCallback);
|
|
120
|
+
setDownloadUrl("");
|
|
121
|
+
setIsGenerating(false);
|
|
122
|
+
return () => {
|
|
123
|
+
channel.disconnected();
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
return undefined;
|
|
127
|
+
}, [showExportModal, token]);
|
|
128
|
+
const onClose = () => setShowExportModal(false);
|
|
129
|
+
return /*#__PURE__*/React__default["default"].createElement(Modal__default["default"], {
|
|
130
|
+
onClose,
|
|
131
|
+
isOpen: showExportModal
|
|
132
|
+
}, /*#__PURE__*/React__default["default"].createElement(Modal__default["default"].Header, null, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
133
|
+
style: "h2"
|
|
134
|
+
}, t("neetoPayments.export.title.account"))), /*#__PURE__*/React__default["default"].createElement(Modal__default["default"].Body, null, isFileLoading ? /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
135
|
+
style: "body2"
|
|
136
|
+
}, t("neetoPayments.export.pleaseWait")) : /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
137
|
+
style: "body2"
|
|
138
|
+
}, downloadUrl ? t("neetoPayments.export.fileReady") : t("neetoPayments.export.download.account"))), /*#__PURE__*/React__default["default"].createElement(Modal__default["default"].Footer, {
|
|
139
|
+
className: "space-x-2"
|
|
140
|
+
}, downloadUrl ? /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
|
141
|
+
href: downloadUrl,
|
|
142
|
+
icon: neetoIcons.Download,
|
|
143
|
+
label: t("neetoPayments.common.download"),
|
|
144
|
+
onClick: onClose
|
|
145
|
+
}) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
|
146
|
+
disabled: isFileLoading,
|
|
147
|
+
label: t("neetoPayments.common.cancel"),
|
|
148
|
+
style: "tertiary",
|
|
149
|
+
onClick: onClose
|
|
150
|
+
}), /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
|
151
|
+
disabled: isFileLoading,
|
|
152
|
+
label: t("neetoPayments.common.export"),
|
|
153
|
+
loading: isFileLoading,
|
|
154
|
+
onClick: handleGenerateClick
|
|
155
|
+
}))));
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
const renderIdentifier = function () {
|
|
159
|
+
let {
|
|
160
|
+
identifier = "",
|
|
161
|
+
live: isLive = false
|
|
162
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
163
|
+
return /*#__PURE__*/React__default["default"].createElement(renderFunctions.CopyButtonWrapper, {
|
|
164
|
+
content: identifier
|
|
165
|
+
}, /*#__PURE__*/React__default["default"].createElement(IdentifierButton.IdentifierButton, {
|
|
166
|
+
href: index$1.buildStripeAccountLink(identifier, isLive),
|
|
167
|
+
label: identifier
|
|
168
|
+
}));
|
|
169
|
+
};
|
|
170
|
+
const renderCountry = ramda.pipe(ramda.split("_"), ramda.map(neetoCist.capitalize), ramda.join(" "));
|
|
171
|
+
|
|
172
|
+
const COLUMNS = [{
|
|
173
|
+
title: i18next.t("neetoPayments.common.id"),
|
|
174
|
+
dataIndex: "id",
|
|
175
|
+
key: "id",
|
|
176
|
+
width: "72px",
|
|
177
|
+
isHidable: false
|
|
178
|
+
}, {
|
|
179
|
+
title: i18next.t("neetoPayments.common.identifier"),
|
|
180
|
+
dataIndex: "identifier",
|
|
181
|
+
key: "identifier",
|
|
182
|
+
width: "300px",
|
|
183
|
+
render: renderIdentifier,
|
|
184
|
+
isHidable: false
|
|
185
|
+
}, {
|
|
186
|
+
title: i18next.t("neetoPayments.common.status"),
|
|
187
|
+
dataIndex: "status",
|
|
188
|
+
key: "status",
|
|
189
|
+
width: "150px",
|
|
190
|
+
render: renderFunctions.renderStatus("account"),
|
|
191
|
+
sorter: true,
|
|
192
|
+
isHidable: false
|
|
193
|
+
}, {
|
|
194
|
+
title: i18next.t("neetoPayments.common.name"),
|
|
195
|
+
dataIndex: "first_name",
|
|
196
|
+
key: "first_name",
|
|
197
|
+
width: "300px",
|
|
198
|
+
sorter: true,
|
|
199
|
+
render: renderFunctions.renderFullName
|
|
200
|
+
}, {
|
|
201
|
+
title: i18next.t("neetoPayments.common.email"),
|
|
202
|
+
dataIndex: "email",
|
|
203
|
+
key: "email",
|
|
204
|
+
width: "300px",
|
|
205
|
+
sorter: true,
|
|
206
|
+
render: renderFunctions.renderEmail
|
|
207
|
+
}, {
|
|
208
|
+
title: i18next.t("neetoPayments.common.country"),
|
|
209
|
+
dataIndex: "country",
|
|
210
|
+
key: "country",
|
|
211
|
+
width: "150px",
|
|
212
|
+
render: renderCountry,
|
|
213
|
+
sorter: true
|
|
214
|
+
}, {
|
|
215
|
+
title: i18next.t("neetoPayments.common.createdAt"),
|
|
216
|
+
dataIndex: "createdAt",
|
|
217
|
+
key: "createdAt",
|
|
218
|
+
width: "220px",
|
|
219
|
+
render: renderFunctions.renderDate,
|
|
220
|
+
sorter: true
|
|
221
|
+
}];
|
|
222
|
+
|
|
223
|
+
const useFiltersAndPagination = () => {
|
|
224
|
+
const history = reactRouterDom.useHistory();
|
|
225
|
+
const [isFilterButtonVisible, setIsFilterButtonVisible] = React.useState(false);
|
|
226
|
+
const [isFilterPaneOpen, setIsFilterPaneOpen] = React.useState(false);
|
|
227
|
+
const [pageProperties, setPageProperties] = React.useState(renderFunctions.buildDefaultPageProperties(TABS));
|
|
228
|
+
const [sortProperties, setSortProperties] = React.useState(constants.DEFAULT_SORT_PROPERTIES);
|
|
229
|
+
const {
|
|
230
|
+
tab = TAB.all
|
|
231
|
+
} = reactUtils.useQueryParams();
|
|
232
|
+
const {
|
|
233
|
+
searchTerm = ""
|
|
234
|
+
} = utils.getQueryParams();
|
|
235
|
+
const searchKeywordProps = {
|
|
236
|
+
...SEARCH_PROPS,
|
|
237
|
+
key: "search_term",
|
|
238
|
+
value: searchTerm.trim()
|
|
239
|
+
};
|
|
240
|
+
const [filters, setFilters] = React.useState(neetoFiltersFrontend.buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps]));
|
|
241
|
+
const [dataSize, setDataSize] = React.useState(null);
|
|
242
|
+
const columnData = tab !== TAB.all ? neetoCist.removeBy({
|
|
243
|
+
key: "status"
|
|
244
|
+
}, COLUMNS) : COLUMNS;
|
|
245
|
+
const handleTabChange = tab => {
|
|
246
|
+
setDataSize(null);
|
|
247
|
+
const queryParams = utils.getQueryParams({
|
|
248
|
+
toCamelCase: false
|
|
249
|
+
});
|
|
250
|
+
const newParams = {
|
|
251
|
+
tab,
|
|
252
|
+
page: pageProperties[tab]?.page,
|
|
253
|
+
page_size: pageProperties[tab]?.pageSize
|
|
254
|
+
};
|
|
255
|
+
history.push(utils.buildUrl(window.location.pathname, ramda.mergeLeft(newParams, queryParams)));
|
|
256
|
+
};
|
|
257
|
+
return {
|
|
258
|
+
isFilterButtonVisible,
|
|
259
|
+
isFilterPaneOpen,
|
|
260
|
+
pageProperties,
|
|
261
|
+
filters,
|
|
262
|
+
searchKeywordProps,
|
|
263
|
+
tab,
|
|
264
|
+
sortProperties,
|
|
265
|
+
columnData,
|
|
266
|
+
dataSize,
|
|
267
|
+
setDataSize,
|
|
268
|
+
setIsFilterButtonVisible,
|
|
269
|
+
setIsFilterPaneOpen,
|
|
270
|
+
setPageProperties,
|
|
271
|
+
setFilters,
|
|
272
|
+
handleTabChange,
|
|
273
|
+
setSortProperties
|
|
274
|
+
};
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
const list = payload => axios__default["default"].get(`${constants.BASE_URL}/api/v1/stripe/accounts`, {
|
|
278
|
+
params: payload
|
|
279
|
+
});
|
|
280
|
+
const accountsApi = {
|
|
281
|
+
list
|
|
282
|
+
};
|
|
283
|
+
|
|
284
|
+
const useFetchConnectedAccounts = function () {
|
|
285
|
+
let payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
286
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
287
|
+
return queryConstants.useQuery({
|
|
288
|
+
queryKey: [queryConstants.QUERY_KEYS.STRIPE_ACCOUNTS_LIST, payload],
|
|
289
|
+
queryFn: () => accountsApi.list(payload),
|
|
290
|
+
...options
|
|
291
|
+
});
|
|
292
|
+
};
|
|
293
|
+
|
|
294
|
+
const List = _ref => {
|
|
295
|
+
let {
|
|
296
|
+
columnData,
|
|
297
|
+
filters,
|
|
298
|
+
pageProperties,
|
|
299
|
+
setDataSize,
|
|
300
|
+
setIsFilterButtonVisible,
|
|
301
|
+
setPageProperties,
|
|
302
|
+
setSortProperties,
|
|
303
|
+
sortProperties,
|
|
304
|
+
tab
|
|
305
|
+
} = _ref;
|
|
306
|
+
const history = reactRouterDom.useHistory();
|
|
307
|
+
const {
|
|
308
|
+
t
|
|
309
|
+
} = reactI18next.useTranslation();
|
|
310
|
+
const {
|
|
311
|
+
hideColumn,
|
|
312
|
+
getVisibleColumnData
|
|
313
|
+
} = Columns.useHiddenColumns(STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY);
|
|
314
|
+
const {
|
|
315
|
+
data: {
|
|
316
|
+
accounts = [],
|
|
317
|
+
views = {}
|
|
318
|
+
} = {},
|
|
319
|
+
isLoading,
|
|
320
|
+
isFetching
|
|
321
|
+
} = useFetchConnectedAccounts(renderFunctions.buildPayload({
|
|
322
|
+
filters,
|
|
323
|
+
pageProperties,
|
|
324
|
+
sortProperties,
|
|
325
|
+
tab
|
|
326
|
+
}));
|
|
327
|
+
const dataSize = views[tab];
|
|
328
|
+
React.useEffect(() => {
|
|
329
|
+
setIsFilterButtonVisible(neetoCist.isPresent(accounts) || neetoCist.isPresent(filters));
|
|
330
|
+
setDataSize(dataSize);
|
|
331
|
+
}, [accounts]);
|
|
332
|
+
const handleTablePagination = (page, pageSize) => {
|
|
333
|
+
const queryParams = utils.getQueryParams({
|
|
334
|
+
toCamelCase: false
|
|
335
|
+
});
|
|
336
|
+
history.push(utils.buildUrl(window.location.pathname, ramda.mergeLeft({
|
|
337
|
+
page,
|
|
338
|
+
page_size: pageSize
|
|
339
|
+
}, queryParams)));
|
|
340
|
+
setPageProperties(ramda.assoc(tab, {
|
|
341
|
+
page,
|
|
342
|
+
pageSize
|
|
343
|
+
}));
|
|
344
|
+
};
|
|
345
|
+
React.useEffect(() => {
|
|
346
|
+
handleTablePagination(constants$1.DEFAULT_PAGE_INDEX, constants$1.DEFAULT_PAGE_SIZE);
|
|
347
|
+
setSortProperties(constants.DEFAULT_SORT_PROPERTIES);
|
|
348
|
+
}, [filters, tab]);
|
|
349
|
+
const handleTableChange = (_, __, sorter) => {
|
|
350
|
+
setSortProperties(neetoCist.isPresent(sorter?.column) ? {
|
|
351
|
+
sortBy: neetoCist.camelToSnakeCase(sorter.field),
|
|
352
|
+
orderBy: sorter.order === "ascend" ? "ASC" : "DESC"
|
|
353
|
+
} : constants.DEFAULT_SORT_PROPERTIES);
|
|
354
|
+
};
|
|
355
|
+
if (isLoading) {
|
|
356
|
+
return /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null);
|
|
357
|
+
}
|
|
358
|
+
if (dataSize <= 0 || !neetoCist.isPresent(accounts)) {
|
|
359
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
360
|
+
className: "flex h-full w-full items-center justify-center"
|
|
361
|
+
}, /*#__PURE__*/React__default["default"].createElement(NoData__default["default"], {
|
|
362
|
+
title: tab === TAB.all ? t("neetoPayments.emptyState.account") : t("neetoPayments.emptyState.accountWithStatus", {
|
|
363
|
+
status: tab
|
|
364
|
+
})
|
|
365
|
+
}));
|
|
366
|
+
}
|
|
367
|
+
return /*#__PURE__*/React__default["default"].createElement(TableWrapper__default["default"], {
|
|
368
|
+
hasPagination: dataSize > pageProperties[tab]?.pageSize
|
|
369
|
+
}, /*#__PURE__*/React__default["default"].createElement(Table__default["default"], {
|
|
370
|
+
fixedHeight: true,
|
|
371
|
+
allowRowClick: false,
|
|
372
|
+
columnData: getVisibleColumnData(columnData),
|
|
373
|
+
currentPageNumber: pageProperties[tab]?.page,
|
|
374
|
+
handlePageChange: handleTablePagination,
|
|
375
|
+
loading: isFetching,
|
|
376
|
+
rowData: renderFunctions.buildRowData({
|
|
377
|
+
data: accounts,
|
|
378
|
+
pageProperties,
|
|
379
|
+
tab
|
|
380
|
+
}),
|
|
381
|
+
rowSelection: false,
|
|
382
|
+
sortDirections: constants.SORT_DIRECTIONS,
|
|
383
|
+
totalCount: dataSize,
|
|
384
|
+
paginationProps: {
|
|
385
|
+
showSizeChanger: true,
|
|
386
|
+
hideOnSinglePage: true,
|
|
387
|
+
pageSize: pageProperties[tab]?.pageSize,
|
|
388
|
+
total: dataSize
|
|
389
|
+
},
|
|
390
|
+
onChange: handleTableChange,
|
|
391
|
+
onColumnHide: _ref2 => {
|
|
392
|
+
let {
|
|
393
|
+
dataIndex
|
|
394
|
+
} = _ref2;
|
|
395
|
+
return hideColumn(dataIndex);
|
|
396
|
+
}
|
|
397
|
+
}));
|
|
398
|
+
};
|
|
399
|
+
|
|
400
|
+
const AccountsDashboard = () => {
|
|
401
|
+
const [_, startTransition] = React.useTransition();
|
|
402
|
+
const {
|
|
403
|
+
t
|
|
404
|
+
} = reactI18next.useTranslation();
|
|
405
|
+
const [showExportModal, setShowExportModal] = React.useState(false);
|
|
406
|
+
const {
|
|
407
|
+
isFilterButtonVisible,
|
|
408
|
+
isFilterPaneOpen,
|
|
409
|
+
pageProperties,
|
|
410
|
+
filters,
|
|
411
|
+
searchKeywordProps,
|
|
412
|
+
tab,
|
|
413
|
+
sortProperties,
|
|
414
|
+
columnData,
|
|
415
|
+
dataSize,
|
|
416
|
+
setDataSize,
|
|
417
|
+
setIsFilterButtonVisible,
|
|
418
|
+
setIsFilterPaneOpen,
|
|
419
|
+
setPageProperties,
|
|
420
|
+
setFilters,
|
|
421
|
+
handleTabChange,
|
|
422
|
+
setSortProperties
|
|
423
|
+
} = useFiltersAndPagination();
|
|
424
|
+
const isTabsVisible = isFilterButtonVisible || tab !== "all";
|
|
425
|
+
const handleFiltersChange = filters => {
|
|
426
|
+
startTransition(() => {
|
|
427
|
+
setFilters(filters);
|
|
428
|
+
});
|
|
429
|
+
};
|
|
430
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header__default["default"], {
|
|
431
|
+
title: t("neetoPayments.title.account"),
|
|
432
|
+
searchProps: isFilterButtonVisible && {
|
|
433
|
+
placeholder: t("neetoPayments.common.search"),
|
|
434
|
+
className: "w-80"
|
|
435
|
+
}
|
|
436
|
+
}), isTabsVisible && /*#__PURE__*/React__default["default"].createElement(Tab__default["default"], null, TABS.map(item => /*#__PURE__*/React__default["default"].createElement(Tab__default["default"].Item, {
|
|
437
|
+
active: tab === item,
|
|
438
|
+
key: item,
|
|
439
|
+
onClick: () => handleTabChange(item)
|
|
440
|
+
}, t(`neetoPayments.common.${item}`)))), /*#__PURE__*/React__default["default"].createElement(SubHeader__default["default"], {
|
|
441
|
+
className: "mt-4",
|
|
442
|
+
leftActionBlock: neetoCist.isPresent(dataSize) && /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
443
|
+
className: "neeto-ui-gray-800 mr-2 font-semibold",
|
|
444
|
+
component: "h4"
|
|
445
|
+
}, tab === TAB.all ? t("neetoPayments.countOf.account", {
|
|
446
|
+
count: dataSize
|
|
447
|
+
}) : t("neetoPayments.countOf.accountWithStatus", {
|
|
448
|
+
count: dataSize,
|
|
449
|
+
status: tab
|
|
450
|
+
})),
|
|
451
|
+
rightActionBlock: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoFiltersFrontend.Bar, {
|
|
452
|
+
columns: FILTER_COLUMNS,
|
|
453
|
+
keyword: searchKeywordProps,
|
|
454
|
+
setIsPaneOpen: setIsFilterPaneOpen,
|
|
455
|
+
onChange: handleFiltersChange
|
|
456
|
+
}), isFilterButtonVisible && /*#__PURE__*/React__default["default"].createElement(SubHeader__default["default"].RightBlock, {
|
|
457
|
+
columnsButtonProps: {
|
|
458
|
+
columnData,
|
|
459
|
+
fixedColumns: DASHBOARD_MANDATORY_COLUMNS,
|
|
460
|
+
localStorageKey: STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY
|
|
461
|
+
},
|
|
462
|
+
downloadButtonProps: {
|
|
463
|
+
onClick: () => setShowExportModal(true)
|
|
464
|
+
},
|
|
465
|
+
filterProps: {
|
|
466
|
+
columns: FILTER_COLUMNS,
|
|
467
|
+
isOpen: isFilterPaneOpen,
|
|
468
|
+
keyword: searchKeywordProps,
|
|
469
|
+
setIsOpen: setIsFilterPaneOpen,
|
|
470
|
+
onChange: handleFiltersChange
|
|
471
|
+
}
|
|
472
|
+
}))
|
|
473
|
+
}), /*#__PURE__*/React__default["default"].createElement(List, {
|
|
474
|
+
columnData,
|
|
475
|
+
filters,
|
|
476
|
+
pageProperties,
|
|
477
|
+
setDataSize,
|
|
478
|
+
setIsFilterButtonVisible,
|
|
479
|
+
setPageProperties,
|
|
480
|
+
setSortProperties,
|
|
481
|
+
sortProperties,
|
|
482
|
+
tab
|
|
483
|
+
}), /*#__PURE__*/React__default["default"].createElement(ExportModal, {
|
|
484
|
+
filters,
|
|
485
|
+
setShowExportModal,
|
|
486
|
+
showExportModal,
|
|
487
|
+
sortProperties,
|
|
488
|
+
tab
|
|
489
|
+
}));
|
|
490
|
+
};
|
|
491
|
+
var index = reactUtils.withTitle(renderFunctions.withReactQuery(AccountsDashboard), i18next.t("neetoPayments.title.account"));
|
|
492
|
+
|
|
493
|
+
module.exports = index;
|
|
494
|
+
//# sourceMappingURL=AccountsDashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountsDashboard.js","sources":["../../app/javascript/src/components/AccountsDashboard/constants/index.js","../../app/javascript/src/components/AccountsDashboard/ExportModal.jsx","../../app/javascript/src/components/AccountsDashboard/utils/renderFunctions.jsx","../../app/javascript/src/components/AccountsDashboard/constants/columns.js","../../app/javascript/src/components/AccountsDashboard/hooks/useFiltersAndPagination.js","../../app/javascript/src/apis/stripe/accounts.js","../../app/javascript/src/hooks/reactQuery/stripe/useAccountsApi.js","../../app/javascript/src/components/AccountsDashboard/List.jsx","../../app/javascript/src/components/AccountsDashboard/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TAB = {\n all: \"all\",\n connected: \"connected\",\n disconnected: \"disconnected\",\n incomplete: \"incomplete\",\n};\n\nexport const TABS = Object.values(TAB);\n\nexport const SEARCH_PROPS = {\n key: \"keyword\",\n node: \"identifier,user.first_name,last_name,email\",\n model: \"NeetoPaymentsEngine::Stripe::Account,User\",\n};\n\nexport const DASHBOARD_MANDATORY_COLUMNS = [\"id\", \"status\", \"identifier\"];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"created_at\",\n label: t(\"neetoPayments.common.createdAt\"),\n node: \"created_at\",\n type: \"date\",\n showRuleSelector: true,\n },\n];\n\nexport const STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY =\n \"stripeAccountsDashboard\";\n","import React, { useEffect, useMemo, useState } from \"react\";\n\nimport { Download } from \"neetoicons\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportData } from \"hooks/reactQuery/stripe/useExportsApi\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n showExportModal,\n setShowExportModal,\n tab,\n filters,\n sortProperties = {},\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { mutate: exportCsv, isLoading } = useExportData();\n const isFileLoading = isLoading || isGenerating;\n\n const token = useMemo(() => `account-report-${uuidV4()}`, []);\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n const handleGenerateClick = () => {\n const payload = {\n kind: \"account\",\n token,\n filters,\n tab,\n ...sortProperties,\n };\n\n exportCsv(payload, {\n onSuccess: () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n },\n });\n };\n\n useEffect(() => {\n if (showExportModal) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [showExportModal, token]);\n\n const onClose = () => setShowExportModal(false);\n\n return (\n <Modal {...{ onClose }} isOpen={showExportModal}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPayments.export.title.account\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n {isFileLoading ? (\n <Typography style=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography style=\"body2\">\n {downloadUrl\n ? t(\"neetoPayments.export.fileReady\")\n : t(\"neetoPayments.export.download.account\")}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n {downloadUrl ? (\n <Button\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.export\")}\n loading={isFileLoading}\n onClick={handleGenerateClick}\n />\n </>\n )}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ExportModal;\n","import React from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { join, map, pipe, split } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport IdentifierButton from \"components/Dashboard/IdentifierButton\";\nimport { buildStripeAccountLink } from \"utils\";\n\nexport const renderIdentifier = ({\n identifier = \"\",\n live: isLive = false,\n} = {}) => (\n <CopyButtonWrapper content={identifier}>\n <IdentifierButton\n href={buildStripeAccountLink(identifier, isLive)}\n label={identifier}\n />\n </CopyButtonWrapper>\n);\n\nexport const renderCountry = pipe(split(\"_\"), map(capitalize), join(\" \"));\n","import { t } from \"i18next\";\n\nimport {\n renderDate,\n renderEmail,\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: \"72px\",\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: \"300px\",\n render: renderIdentifier,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: \"150px\",\n render: renderStatus(\"account\"),\n sorter: true,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.name\"),\n dataIndex: \"first_name\",\n key: \"first_name\",\n width: \"300px\",\n sorter: true,\n render: renderFullName,\n },\n {\n title: t(\"neetoPayments.common.email\"),\n dataIndex: \"email\",\n key: \"email\",\n width: \"300px\",\n sorter: true,\n render: renderEmail,\n },\n {\n title: t(\"neetoPayments.common.country\"),\n dataIndex: \"country\",\n key: \"country\",\n width: \"150px\",\n render: renderCountry,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n width: \"220px\",\n render: renderDate,\n sorter: true,\n },\n];\n","import { useState } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { DEFAULT_SORT_PROPERTIES } from \"src/constants\";\nimport { buildDefaultPageProperties } from \"utils/dashboard\";\n\nimport { FILTER_COLUMNS, TAB, TABS, SEARCH_PROPS } from \"../constants\";\nimport { COLUMNS } from \"../constants/columns\";\n\nexport const useFiltersAndPagination = () => {\n const history = useHistory();\n const [isFilterButtonVisible, setIsFilterButtonVisible] = useState(false);\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n const [pageProperties, setPageProperties] = useState(\n buildDefaultPageProperties(TABS)\n );\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const { tab = TAB.all } = useQueryParams();\n\n const { searchTerm = \"\" } = getQueryParams();\n const searchKeywordProps = {\n ...SEARCH_PROPS,\n key: \"search_term\",\n value: searchTerm.trim(),\n };\n\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps])\n );\n const [dataSize, setDataSize] = useState(null);\n\n const columnData =\n tab !== TAB.all ? removeBy({ key: \"status\" }, COLUMNS) : COLUMNS;\n\n const handleTabChange = tab => {\n setDataSize(null);\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: pageProperties[tab]?.page,\n page_size: pageProperties[tab]?.pageSize,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n };\n};\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = payload =>\n axios.get(`${BASE_URL}/api/v1/stripe/accounts`, {\n params: payload,\n });\n\nconst accountsApi = { list };\n\nexport default accountsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport accountsApi from \"apis/stripe/accounts\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchConnectedAccounts = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.STRIPE_ACCOUNTS_LIST, payload],\n queryFn: () => accountsApi.list(payload),\n ...options,\n });\n","import React, { useEffect } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { useHiddenColumns } from \"neetomolecules/Columns\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { assoc, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useFetchConnectedAccounts } from \"hooks/reactQuery/stripe/useAccountsApi\";\nimport { DEFAULT_SORT_PROPERTIES, SORT_DIRECTIONS } from \"src/constants\";\nimport { buildPayload, buildRowData } from \"utils/dashboard\";\n\nimport {\n TAB,\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n} from \"./constants\";\n\nconst List = ({\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n const { hideColumn, getVisibleColumnData } = useHiddenColumns(\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY\n );\n\n const {\n data: { accounts = [], views = {} } = {},\n isLoading,\n isFetching,\n } = useFetchConnectedAccounts(\n buildPayload({ filters, pageProperties, sortProperties, tab })\n );\n\n const dataSize = views[tab];\n\n useEffect(() => {\n setIsFilterButtonVisible(isPresent(accounts) || isPresent(filters));\n setDataSize(dataSize);\n }, [accounts]);\n\n const handleTablePagination = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties(assoc(tab, { page, pageSize }));\n };\n\n useEffect(() => {\n handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);\n setSortProperties(DEFAULT_SORT_PROPERTIES);\n }, [filters, tab]);\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(sorter.field),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isLoading) {\n return <PageLoader />;\n }\n\n if (dataSize <= 0 || !isPresent(accounts)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === TAB.all\n ? t(\"neetoPayments.emptyState.account\")\n : t(\"neetoPayments.emptyState.accountWithStatus\", { status: tab })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={dataSize > pageProperties[tab]?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={getVisibleColumnData(columnData)}\n currentPageNumber={pageProperties[tab]?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching}\n rowData={buildRowData({ data: accounts, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={dataSize}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties[tab]?.pageSize,\n total: dataSize,\n }}\n onChange={handleTableChange}\n onColumnHide={({ dataIndex }) => hideColumn(dataIndex)}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import React, { useState, useTransition } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\n\nimport {\n DASHBOARD_MANDATORY_COLUMNS,\n FILTER_COLUMNS,\n TAB,\n TABS,\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n} from \"./constants\";\nimport ExportModal from \"./ExportModal\";\nimport { useFiltersAndPagination } from \"./hooks/useFiltersAndPagination\";\nimport List from \"./List\";\n\nconst AccountsDashboard = () => {\n const [_, startTransition] = useTransition();\n const { t } = useTranslation();\n\n const [showExportModal, setShowExportModal] = useState(false);\n const {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n } = useFiltersAndPagination();\n\n const isTabsVisible = isFilterButtonVisible || tab !== \"all\";\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.account\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: t(\"neetoPayments.common.search\"),\n className: \"w-80\",\n }\n }\n />\n {isTabsVisible && (\n <Tab>\n {TABS.map(item => (\n <Tab.Item\n active={tab === item}\n key={item}\n onClick={() => handleTabChange(item)}\n >\n {t(`neetoPayments.common.${item}`)}\n </Tab.Item>\n ))}\n </Tab>\n )}\n <SubHeader\n className=\"mt-4\"\n leftActionBlock={\n isPresent(dataSize) && (\n <Typography\n className=\"neeto-ui-gray-800 mr-2 font-semibold\"\n component=\"h4\"\n >\n {tab === TAB.all\n ? t(\"neetoPayments.countOf.account\", { count: dataSize })\n : t(\"neetoPayments.countOf.accountWithStatus\", {\n count: dataSize,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n <>\n <FiltersBar\n columns={FILTER_COLUMNS}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n {isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData,\n fixedColumns: DASHBOARD_MANDATORY_COLUMNS,\n localStorageKey:\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n }}\n downloadButtonProps={{\n onClick: () => setShowExportModal(true),\n }}\n filterProps={{\n columns: FILTER_COLUMNS,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )}\n </>\n }\n />\n <List\n {...{\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n }}\n />\n <ExportModal\n {...{\n filters,\n setShowExportModal,\n showExportModal,\n sortProperties,\n tab,\n }}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(AccountsDashboard),\n t(\"neetoPayments.title.account\")\n);\n"],"names":["TAB","all","connected","disconnected","incomplete","TABS","Object","values","SEARCH_PROPS","key","node","model","DASHBOARD_MANDATORY_COLUMNS","FILTER_COLUMNS","label","t","type","showRuleSelector","STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY","ExportModal","_ref","showExportModal","setShowExportModal","tab","filters","sortProperties","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","mutate","exportCsv","isLoading","useExportData","isFileLoading","token","useMemo","uuidV4","receivedCallback","data","download_url","handleGenerateClick","payload","kind","onSuccess","useEffect","channel","exportChannel","undefined","onClose","React","createElement","Modal","isOpen","Header","Typography","style","Body","Footer","className","Button","href","icon","Download","onClick","Fragment","disabled","loading","renderIdentifier","identifier","live","isLive","arguments","length","CopyButtonWrapper","content","IdentifierButton","buildStripeAccountLink","renderCountry","pipe","split","map","capitalize","join","COLUMNS","title","dataIndex","width","isHidable","render","renderStatus","sorter","renderFullName","renderEmail","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","axios","get","BASE_URL","params","accountsApi","useFetchConnectedAccounts","options","useQuery","queryKey","QUERY_KEYS","STRIPE_ACCOUNTS_LIST","queryFn","List","hideColumn","getVisibleColumnData","useHiddenColumns","accounts","views","isFetching","buildPayload","isPresent","handleTablePagination","assoc","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","handleTableChange","_","__","column","sortBy","camelToSnakeCase","field","orderBy","order","PageLoader","NoData","status","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","handlePageChange","rowData","buildRowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","_ref2","AccountsDashboard","startTransition","useTransition","isTabsVisible","handleFiltersChange","searchProps","placeholder","Tab","item","Item","active","SubHeader","leftActionBlock","component","count","rightActionBlock","FiltersBar","columns","keyword","setIsPaneOpen","RightBlock","columnsButtonProps","fixedColumns","localStorageKey","downloadButtonProps","filterProps","setIsOpen","withTitle","withReactQuery"],"mappings":"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"}
|