@bigbinary/neeto-payments-frontend 6.3.4 → 6.3.5
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/dist/{ExportModal-X-AJPdkc.js → ExportModal-k--5vSLt.js} +3 -3
- package/dist/ExportModal-k--5vSLt.js.map +1 -0
- package/dist/cjs/{ExportModal-C7_QKb9q.js → ExportModal-Bt_Aal7b.js} +4 -4
- package/dist/cjs/ExportModal-Bt_Aal7b.js.map +1 -0
- package/dist/cjs/v2/AccountsDashboard.js +4 -2
- package/dist/cjs/v2/AccountsDashboard.js.map +1 -1
- package/dist/cjs/v2/ManualUpiConnect.js +2 -1
- package/dist/cjs/v2/ManualUpiConnect.js.map +1 -1
- package/dist/cjs/v2/ManualUpiPayment.js +14 -12
- package/dist/cjs/v2/ManualUpiPayment.js.map +1 -1
- package/dist/cjs/v2/PaymentsDashboard.js +4 -2
- package/dist/cjs/v2/PaymentsDashboard.js.map +1 -1
- package/dist/cjs/v2/PayoutsDashboard.js +4 -2
- package/dist/cjs/v2/PayoutsDashboard.js.map +1 -1
- package/dist/cjs/v2/PayoutsPage.js +5 -5
- package/dist/cjs/v2/PayoutsPage.js.map +1 -1
- package/dist/cjs/v2/RefundsDashboard.js +4 -2
- package/dist/cjs/v2/RefundsDashboard.js.map +1 -1
- package/dist/cjs/v2/SplitTransfersDashboard.js +5 -3
- package/dist/cjs/v2/SplitTransfersDashboard.js.map +1 -1
- package/dist/cjs/v2/StripeCheckoutSetting.js +19 -23
- package/dist/cjs/v2/StripeCheckoutSetting.js.map +1 -1
- package/dist/cjs/v2/StripeManage.js +3 -3
- package/dist/cjs/v2/StripeManage.js.map +1 -1
- package/dist/cjs/v2/TaxesDashboard.js +46 -38
- package/dist/cjs/v2/TaxesDashboard.js.map +1 -1
- package/dist/cjs/v2/index.js +2 -2
- package/dist/v2/AccountsDashboard.js +3 -1
- package/dist/v2/AccountsDashboard.js.map +1 -1
- package/dist/v2/ManualUpiConnect.js +2 -1
- package/dist/v2/ManualUpiConnect.js.map +1 -1
- package/dist/v2/ManualUpiPayment.js +14 -12
- package/dist/v2/ManualUpiPayment.js.map +1 -1
- package/dist/v2/PaymentsDashboard.js +4 -2
- package/dist/v2/PaymentsDashboard.js.map +1 -1
- package/dist/v2/PayoutsDashboard.js +3 -1
- package/dist/v2/PayoutsDashboard.js.map +1 -1
- package/dist/v2/PayoutsPage.js +5 -5
- package/dist/v2/PayoutsPage.js.map +1 -1
- package/dist/v2/RefundsDashboard.js +4 -2
- package/dist/v2/RefundsDashboard.js.map +1 -1
- package/dist/v2/SplitTransfersDashboard.js +5 -3
- package/dist/v2/SplitTransfersDashboard.js.map +1 -1
- package/dist/v2/StripeCheckoutSetting.js +20 -24
- package/dist/v2/StripeCheckoutSetting.js.map +1 -1
- package/dist/v2/StripeManage.js +2 -2
- package/dist/v2/StripeManage.js.map +1 -1
- package/dist/v2/TaxesDashboard.js +47 -39
- package/dist/v2/TaxesDashboard.js.map +1 -1
- package/dist/v2/index.js +2 -2
- package/package.json +5 -3
- package/dist/ExportModal-X-AJPdkc.js.map +0 -1
- package/dist/cjs/ExportModal-C7_QKb9q.js.map +0 -1
|
@@ -32,31 +32,27 @@ const StripeCheckoutSetting = ({
|
|
|
32
32
|
isPending,
|
|
33
33
|
mutate: updateCheckoutSetting
|
|
34
34
|
} = useCheckoutSettingsApi.useUpdateCheckoutSetting(stripeAccount?.id);
|
|
35
|
+
const isAddressEnabled = checkoutSetting?.isAddressEnabled;
|
|
36
|
+
const isPhoneNumberDisabled = isPending || !isAddressEnabled;
|
|
35
37
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
36
|
-
className: "
|
|
37
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
onCheckedChange: () => updateCheckoutSetting({
|
|
46
|
-
isAddressEnabled: !checkoutSetting?.isAddressEnabled
|
|
47
|
-
})
|
|
38
|
+
className: "flex flex-col items-start gap-4",
|
|
39
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Switch, {
|
|
40
|
+
checked: isAddressEnabled,
|
|
41
|
+
disabled: isAddressRequired || isPending,
|
|
42
|
+
label: t("neetoPayments.stripeManage.checkoutSettings.address"),
|
|
43
|
+
size: "lg",
|
|
44
|
+
helpText: isAddressRequired ? t("neetoPayments.stripeManage.checkoutSettings.addressDisabledMessage") : undefined,
|
|
45
|
+
onCheckedChange: () => updateCheckoutSetting({
|
|
46
|
+
isAddressEnabled: !isAddressEnabled
|
|
48
47
|
})
|
|
49
|
-
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
onCheckedChange: () => updateCheckoutSetting({
|
|
58
|
-
isPhoneNumberEnabled: !checkoutSetting?.isPhoneNumberEnabled
|
|
59
|
-
})
|
|
48
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Switch, {
|
|
49
|
+
checked: checkoutSetting?.isPhoneNumberEnabled,
|
|
50
|
+
disabled: isPhoneNumberDisabled,
|
|
51
|
+
label: t("neetoPayments.stripeManage.checkoutSettings.phoneNumber"),
|
|
52
|
+
size: "lg",
|
|
53
|
+
helpText: isAddressEnabled ? undefined : t("neetoPayments.stripeManage.checkoutSettings.phoneNumberDisabledMessage"),
|
|
54
|
+
onCheckedChange: () => updateCheckoutSetting({
|
|
55
|
+
isPhoneNumberEnabled: !checkoutSetting?.isPhoneNumberEnabled
|
|
60
56
|
})
|
|
61
57
|
})]
|
|
62
58
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StripeCheckoutSetting.js","sources":["../../../app/javascript/src/v2/components/StripeCheckoutSetting.jsx"],"sourcesContent":["import { Switch
|
|
1
|
+
{"version":3,"file":"StripeCheckoutSetting.js","sources":["../../../app/javascript/src/v2/components/StripeCheckoutSetting.jsx"],"sourcesContent":["import { Switch } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchCheckoutSetting,\n useUpdateCheckoutSetting,\n} from \"hooks/reactQuery/useCheckoutSettingsApi\";\n\nconst StripeCheckoutSetting = ({ stripeAccount }) => {\n const { t } = useTranslation();\n const isAddressRequired = stripeAccount?.country?.toLowerCase() === \"india\";\n\n const { data: { checkoutSetting } = {} } = useFetchCheckoutSetting(\n stripeAccount?.id\n );\n\n const { isPending, mutate: updateCheckoutSetting } = useUpdateCheckoutSetting(\n stripeAccount?.id\n );\n\n const isAddressEnabled = checkoutSetting?.isAddressEnabled;\n const isPhoneNumberDisabled = isPending || !isAddressEnabled;\n\n return (\n <div className=\"flex flex-col items-start gap-4\">\n <Switch\n checked={isAddressEnabled}\n disabled={isAddressRequired || isPending}\n label={t(\"neetoPayments.stripeManage.checkoutSettings.address\")}\n size=\"lg\"\n helpText={\n isAddressRequired\n ? t(\n \"neetoPayments.stripeManage.checkoutSettings.addressDisabledMessage\"\n )\n : undefined\n }\n onCheckedChange={() =>\n updateCheckoutSetting({\n isAddressEnabled: !isAddressEnabled,\n })\n }\n />\n <Switch\n checked={checkoutSetting?.isPhoneNumberEnabled}\n disabled={isPhoneNumberDisabled}\n label={t(\"neetoPayments.stripeManage.checkoutSettings.phoneNumber\")}\n size=\"lg\"\n helpText={\n isAddressEnabled\n ? undefined\n : t(\n \"neetoPayments.stripeManage.checkoutSettings.phoneNumberDisabledMessage\"\n )\n }\n onCheckedChange={() =>\n updateCheckoutSetting({\n isPhoneNumberEnabled: !checkoutSetting?.isPhoneNumberEnabled,\n })\n }\n />\n </div>\n );\n};\n\nexport default StripeCheckoutSetting;\n"],"names":["StripeCheckoutSetting","stripeAccount","t","useTranslation","isAddressRequired","country","toLowerCase","data","checkoutSetting","useFetchCheckoutSetting","id","isPending","mutate","updateCheckoutSetting","useUpdateCheckoutSetting","isAddressEnabled","isPhoneNumberDisabled","_jsxs","className","children","_jsx","Switch","checked","disabled","label","size","helpText","undefined","onCheckedChange","isPhoneNumberEnabled"],"mappings":";;;;;;;;;;;;;;;;;;AAQA,MAAMA,qBAAqB,GAAGA,CAAC;AAAEC,EAAAA;AAAc,CAAC,KAAK;EACnD,MAAM;AAAEC,IAAAA;GAAG,GAAGC,2BAAc,EAAE;EAC9B,MAAMC,iBAAiB,GAAGH,aAAa,EAAEI,OAAO,EAAEC,WAAW,EAAE,KAAK,OAAO;EAE3E,MAAM;AAAEC,IAAAA,IAAI,EAAE;AAAEC,MAAAA;AAAgB,KAAC,GAAG;AAAG,GAAC,GAAGC,8CAAuB,CAChER,aAAa,EAAES,EACjB,CAAC;EAED,MAAM;IAAEC,SAAS;AAAEC,IAAAA,MAAM,EAAEC;AAAsB,GAAC,GAAGC,+CAAwB,CAC3Eb,aAAa,EAAES,EACjB,CAAC;AAED,EAAA,MAAMK,gBAAgB,GAAGP,eAAe,EAAEO,gBAAgB;AAC1D,EAAA,MAAMC,qBAAqB,GAAGL,SAAS,IAAI,CAACI,gBAAgB;AAE5D,EAAA,oBACEE,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,iCAAiC;IAAAC,QAAA,EAAA,cAC9CC,cAAA,CAACC,iBAAM,EAAA;AACLC,MAAAA,OAAO,EAAEP,gBAAiB;MAC1BQ,QAAQ,EAAEnB,iBAAiB,IAAIO,SAAU;AACzCa,MAAAA,KAAK,EAAEtB,CAAC,CAAC,qDAAqD,CAAE;AAChEuB,MAAAA,IAAI,EAAC,IAAI;MACTC,QAAQ,EACNtB,iBAAiB,GACbF,CAAC,CACC,oEACF,CAAC,GACDyB,SACL;AACDC,MAAAA,eAAe,EAAEA,MACff,qBAAqB,CAAC;AACpBE,QAAAA,gBAAgB,EAAE,CAACA;OACpB;AACF,KACF,CAAC,eACFK,cAAA,CAACC,iBAAM,EAAA;MACLC,OAAO,EAAEd,eAAe,EAAEqB,oBAAqB;AAC/CN,MAAAA,QAAQ,EAAEP,qBAAsB;AAChCQ,MAAAA,KAAK,EAAEtB,CAAC,CAAC,yDAAyD,CAAE;AACpEuB,MAAAA,IAAI,EAAC,IAAI;MACTC,QAAQ,EACNX,gBAAgB,GACZY,SAAS,GACTzB,CAAC,CACC,wEACF,CACL;AACD0B,MAAAA,eAAe,EAAEA,MACff,qBAAqB,CAAC;QACpBgB,oBAAoB,EAAE,CAACrB,eAAe,EAAEqB;OACzC;AACF,KACF,CAAC;AAAA,GACC,CAAC;AAEV;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
4
|
+
var lucideReact = require('lucide-react');
|
|
4
5
|
var reactUtils = require('neetocommons/v2/react-utils');
|
|
5
|
-
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
6
6
|
var CardLayout = require('@bigbinary/neeto-molecules/v2/CardLayout');
|
|
7
7
|
var v2_StripeCheckoutSetting = require('./StripeCheckoutSetting.js');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -27,7 +27,7 @@ const StripeManage = reactUtils.withT(({
|
|
|
27
27
|
actionBlock: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
28
28
|
"data-testid": "stripe-manage-view-stripe-dashboard",
|
|
29
29
|
href: "https://dashboard.stripe.com",
|
|
30
|
-
icon:
|
|
30
|
+
icon: lucideReact.ExternalLink,
|
|
31
31
|
label: t("neetoPayments.stripeManage.viewStripeDashboard"),
|
|
32
32
|
target: "_blank",
|
|
33
33
|
variant: "outline"
|
|
@@ -37,7 +37,7 @@ const StripeManage = reactUtils.withT(({
|
|
|
37
37
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
38
38
|
className: "flex justify-between w-full",
|
|
39
39
|
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
40
|
-
variant: "
|
|
40
|
+
variant: "h5",
|
|
41
41
|
children: t("neetoPayments.stripeManage.checkoutSettings.title")
|
|
42
42
|
})
|
|
43
43
|
}), /*#__PURE__*/jsxRuntime.jsx(v2_StripeCheckoutSetting, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StripeManage.js","sources":["../../../app/javascript/src/v2/components/StripeManage.jsx"],"sourcesContent":["import { Typography, Button } from \"@bigbinary/neeto-atoms\";\nimport {
|
|
1
|
+
{"version":3,"file":"StripeManage.js","sources":["../../../app/javascript/src/v2/components/StripeManage.jsx"],"sourcesContent":["import { Typography, Button } from \"@bigbinary/neeto-atoms\";\nimport { ExternalLink } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport CardLayout from \"neetomolecules/v2/CardLayout\";\n\nimport StripeCheckoutSetting from \"./StripeCheckoutSetting\";\n\nconst StripeManage = withT(({ t, stripeAccount }) => (\n <CardLayout\n actionBlock={\n <Button\n data-testid=\"stripe-manage-view-stripe-dashboard\"\n href=\"https://dashboard.stripe.com\"\n icon={ExternalLink}\n label={t(\"neetoPayments.stripeManage.viewStripeDashboard\")}\n target=\"_blank\"\n variant=\"outline\"\n />\n }\n >\n <div className=\"space-y-6\">\n <div className=\"flex justify-between w-full\">\n <Typography variant=\"h5\">\n {t(\"neetoPayments.stripeManage.checkoutSettings.title\")}\n </Typography>\n </div>\n <StripeCheckoutSetting {...{ stripeAccount }} />\n </div>\n </CardLayout>\n));\n\nexport default StripeManage;\n"],"names":["StripeManage","withT","t","stripeAccount","_jsx","CardLayout","actionBlock","Button","href","icon","ExternalLink","label","target","variant","children","_jsxs","className","Typography","StripeCheckoutSetting"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAOA,MAAMA,YAAY,GAAGC,gBAAK,CAAC,CAAC;EAAEC,CAAC;AAAEC,EAAAA;AAAc,CAAC,kBAC9CC,cAAA,CAACC,UAAU,EAAA;EACTC,WAAW,eACTF,cAAA,CAACG,iBAAM,EAAA;AACL,IAAA,aAAA,EAAY,qCAAqC;AACjDC,IAAAA,IAAI,EAAC,8BAA8B;AACnCC,IAAAA,IAAI,EAAEC,wBAAa;AACnBC,IAAAA,KAAK,EAAET,CAAC,CAAC,gDAAgD,CAAE;AAC3DU,IAAAA,MAAM,EAAC,QAAQ;AACfC,IAAAA,OAAO,EAAC;AAAS,GAClB,CACF;AAAAC,EAAAA,QAAA,eAEDC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,WAAW;AAAAF,IAAAA,QAAA,gBACxBV,cAAA,CAAA,KAAA,EAAA;AAAKY,MAAAA,SAAS,EAAC,6BAA6B;MAAAF,QAAA,eAC1CV,cAAA,CAACa,qBAAU,EAAA;AAACJ,QAAAA,OAAO,EAAC,IAAI;QAAAC,QAAA,EACrBZ,CAAC,CAAC,mDAAmD;OAC5C;AAAC,KACV,CAAC,eACNE,cAAA,CAACc,wBAAqB,EAAA;AAAOf,MAAAA;AAAa,KAAK,CAAC;GAC7C;AAAC,CACI,CACb;;;;"}
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
var react = require('react');
|
|
4
4
|
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
5
|
+
var lucideReact = require('lucide-react');
|
|
5
6
|
var neetocist = require('neetocist');
|
|
6
7
|
var Container = require('@bigbinary/neeto-molecules/v2/Container');
|
|
7
8
|
var Header = require('@bigbinary/neeto-molecules/v2/Header');
|
|
9
|
+
var MoreDropdown = require('@bigbinary/neeto-molecules/v2/MoreDropdown');
|
|
8
10
|
var TableWrapper = require('@bigbinary/neeto-molecules/v2/TableWrapper');
|
|
9
11
|
var ramda = require('ramda');
|
|
10
12
|
var reactI18next = require('react-i18next');
|
|
@@ -13,7 +15,6 @@ var formik = require('@bigbinary/neeto-atoms/formik');
|
|
|
13
15
|
var i18next = require('i18next');
|
|
14
16
|
var yup = require('yup');
|
|
15
17
|
var jsxRuntime = require('react/jsx-runtime');
|
|
16
|
-
var MoreDropdown = require('@bigbinary/neeto-molecules/v2/MoreDropdown');
|
|
17
18
|
require('@tanstack/react-query');
|
|
18
19
|
require('neetocommons/react-utils');
|
|
19
20
|
require('axios');
|
|
@@ -119,6 +120,7 @@ const FormPane = ({
|
|
|
119
120
|
children: isEdit ? t("neetoPayments.taxesDashboard.form.title.edit") : t("neetoPayments.taxesDashboard.form.title.create")
|
|
120
121
|
})
|
|
121
122
|
}), /*#__PURE__*/jsxRuntime.jsxs(formik.Form, {
|
|
123
|
+
className: "flex min-h-0 flex-1 flex-col gap-4",
|
|
122
124
|
formikProps: {
|
|
123
125
|
initialValues: isEdit ? taxToEdit : INITIAL_VALUES,
|
|
124
126
|
validationSchema: VALIDATION_SCHEMA,
|
|
@@ -170,35 +172,25 @@ const FormPane = ({
|
|
|
170
172
|
});
|
|
171
173
|
};
|
|
172
174
|
|
|
173
|
-
const generateColumnData =
|
|
175
|
+
const generateColumnData = () => [{
|
|
174
176
|
header: i18next.t("neetoPayments.taxesDashboard.table.taxName"),
|
|
175
177
|
id: "name",
|
|
176
178
|
accessorKey: "name",
|
|
177
|
-
cell:
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
179
|
+
cell: info => {
|
|
180
|
+
const name = info.getValue();
|
|
181
|
+
const {
|
|
182
|
+
actions,
|
|
183
|
+
onEdit,
|
|
184
|
+
canManage
|
|
185
|
+
} = info.row.original;
|
|
181
186
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
182
|
-
className: "flex justify-between gap-
|
|
183
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
},
|
|
190
|
-
menuItems: [{
|
|
191
|
-
key: "edit",
|
|
192
|
-
label: i18next.t("neetoPayments.common.edit"),
|
|
193
|
-
onClick: () => handleDropdownClick(tax, "edit"),
|
|
194
|
-
"data-testid": "menu-dropdown-edit-button"
|
|
195
|
-
}, {
|
|
196
|
-
key: "delete",
|
|
197
|
-
label: i18next.t("neetoPayments.common.delete"),
|
|
198
|
-
onClick: () => handleDropdownClick(tax, "delete"),
|
|
199
|
-
"data-testid": "menu-dropdown-delete-button"
|
|
200
|
-
}]
|
|
201
|
-
})]
|
|
187
|
+
className: "flex items-center justify-between gap-x-3",
|
|
188
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
189
|
+
disabled: !canManage,
|
|
190
|
+
label: neetocist.truncate(name, 100),
|
|
191
|
+
variant: "link",
|
|
192
|
+
onClick: onEdit
|
|
193
|
+
}), actions]
|
|
202
194
|
});
|
|
203
195
|
}
|
|
204
196
|
}, {
|
|
@@ -258,17 +250,32 @@ const TaxesDashboard = ({
|
|
|
258
250
|
const {
|
|
259
251
|
t
|
|
260
252
|
} = reactI18next.useTranslation();
|
|
261
|
-
const
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
setTaxToEdit(tax);
|
|
265
|
-
setIsFormPaneOpen(true);
|
|
266
|
-
break;
|
|
267
|
-
case "delete":
|
|
268
|
-
setTaxToDelete(tax);
|
|
269
|
-
break;
|
|
270
|
-
}
|
|
253
|
+
const handleEdit = tax => {
|
|
254
|
+
setTaxToEdit(tax);
|
|
255
|
+
setIsFormPaneOpen(true);
|
|
271
256
|
};
|
|
257
|
+
const rowData = taxes.map(tax => ({
|
|
258
|
+
...tax,
|
|
259
|
+
canManage: true,
|
|
260
|
+
onEdit: () => handleEdit(tax),
|
|
261
|
+
actions: /*#__PURE__*/jsxRuntime.jsx(MoreDropdown, {
|
|
262
|
+
dropdownProps: {
|
|
263
|
+
strategy: "fixed",
|
|
264
|
+
className: "w-max"
|
|
265
|
+
},
|
|
266
|
+
menuItems: [{
|
|
267
|
+
key: "edit",
|
|
268
|
+
label: t("neetoPayments.common.edit"),
|
|
269
|
+
onClick: () => handleEdit(tax),
|
|
270
|
+
"data-testid": "menu-dropdown-edit-button"
|
|
271
|
+
}, {
|
|
272
|
+
key: "delete",
|
|
273
|
+
label: t("neetoPayments.common.delete"),
|
|
274
|
+
onClick: () => setTaxToDelete(tax),
|
|
275
|
+
"data-testid": "menu-dropdown-delete-button"
|
|
276
|
+
}]
|
|
277
|
+
})
|
|
278
|
+
}));
|
|
272
279
|
if (isLoading) {
|
|
273
280
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
274
281
|
className: "flex h-full w-full items-center justify-center",
|
|
@@ -289,6 +296,7 @@ const TaxesDashboard = ({
|
|
|
289
296
|
className: "flex h-full w-full items-center justify-center",
|
|
290
297
|
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Empty, {
|
|
291
298
|
helpText: noDataHelpText,
|
|
299
|
+
icon: lucideReact.Percent,
|
|
292
300
|
title: t("neetoPayments.taxesDashboard.noData"),
|
|
293
301
|
primaryButtonProps: {
|
|
294
302
|
label: t("neetoPayments.taxesDashboard.buttons.add"),
|
|
@@ -298,8 +306,8 @@ const TaxesDashboard = ({
|
|
|
298
306
|
}) : /*#__PURE__*/jsxRuntime.jsx(TableWrapper, {
|
|
299
307
|
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DataTable, {
|
|
300
308
|
allowRowClick: false,
|
|
301
|
-
columns: generateColumnData(
|
|
302
|
-
data:
|
|
309
|
+
columns: generateColumnData(),
|
|
310
|
+
data: rowData,
|
|
303
311
|
loading: isLoading
|
|
304
312
|
})
|
|
305
313
|
}), /*#__PURE__*/jsxRuntime.jsx(FormPane, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaxesDashboard.js","sources":["../../../app/javascript/src/v2/components/TaxesDashboard/FormPane/constants.js","../../../app/javascript/src/v2/components/TaxesDashboard/FormPane/index.jsx","../../../app/javascript/src/v2/components/TaxesDashboard/utils.jsx","../../../app/javascript/src/v2/components/TaxesDashboard/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n kind: \"percentage\",\n value: \"\",\n};\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n name: yup.string().required(t(\"neetoPayments.validations.nameRequired\")),\n description: yup.string().nullable(),\n kind: yup.string().required(t(\"neetoPayments.validations.kindRequired\")),\n value: yup\n .number()\n .when(\"kind\", {\n is: \"percentage\",\n then: yup\n .number()\n .min(1, t(\"neetoPayments.validations.valueGreaterThanOrEqualToOne\"))\n .max(100, t(\"neetoPayments.validations.valueLessThanOrEqualToHundred\")),\n })\n .positive(t(\"neetoPayments.validations.valueMustBePositive\"))\n .required(t(\"neetoPayments.validations.valueRequired\")),\n});\n","import { Label, Sheet, Callout } from \"@bigbinary/neeto-atoms\";\nimport {\n Form,\n Input,\n RadioGroup,\n ActionBlock,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { isNotPresent, isPresent } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateTax, useUpdateTax } from \"hooks/reactQuery/useTaxesApi\";\n\nimport { INITIAL_VALUES, VALIDATION_SCHEMA } from \"./constants\";\n\nconst FormPane = ({\n taxableId,\n taxToEdit,\n setTaxToEdit,\n isOpen,\n setIsOpen,\n onTaxesChange,\n taxNameHelpText,\n}) => {\n const { t } = useTranslation();\n const { mutate: create, isPending: isCreating } = useCreateTax(\n { taxableId },\n {\n onSuccess: () => {\n setIsOpen(false);\n onTaxesChange();\n },\n }\n );\n\n const { mutate: update, isPending: isUpdating } = useUpdateTax(\n { taxableId },\n {\n onSuccess: () => {\n setIsOpen(false);\n onTaxesChange();\n },\n }\n );\n\n const isEdit = isPresent(taxToEdit?.id);\n const handleSubmit = values => {\n if (isEdit) {\n update({ taxableId, taxId: taxToEdit.id, payload: values });\n setTaxToEdit(null);\n } else {\n create({ taxableId, payload: values });\n }\n };\n\n return (\n <Sheet\n {...{ isOpen }}\n onClose={() => {\n setIsOpen(false);\n setTaxToEdit(null);\n }}\n >\n <Sheet.Header>\n <Sheet.Title>\n {isEdit\n ? t(\"neetoPayments.taxesDashboard.form.title.edit\")\n : t(\"neetoPayments.taxesDashboard.form.title.create\")}\n </Sheet.Title>\n </Sheet.Header>\n <Form\n formikProps={{\n initialValues: isEdit ? taxToEdit : INITIAL_VALUES,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Sheet.Body>\n <div className=\"flex flex-col w-full gap-4\">\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.name.label\")}\n name=\"name\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.name.placeholder\"\n )}\n />\n <Callout>\n {isNotPresent(taxNameHelpText)\n ? t(\"neetoPayments.taxesDashboard.form.name.helpText\")\n : taxNameHelpText}\n </Callout>\n <Input\n label={t(\"neetoPayments.taxesDashboard.form.description.label\")}\n name=\"description\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.description.placeholder\"\n )}\n />\n <Label>{t(\"neetoPayments.taxesDashboard.form.kind.label\")}</Label>\n <RadioGroup name=\"kind\" orientation=\"vertical\">\n <RadioGroup.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.percentage\")}\n value=\"percentage\"\n />\n <RadioGroup.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.fixed\")}\n value=\"fixed\"\n />\n </RadioGroup>\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.value.label\")}\n name=\"value\"\n type=\"number\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.value.placeholder\"\n )}\n />\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: () => setIsOpen(false) }}\n isSubmitting={isCreating || isUpdating}\n />\n </Sheet.Footer>\n </Form>\n </Sheet>\n );\n};\n\nexport default FormPane;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\n\nexport const generateColumnData = handleDropdownClick => [\n {\n header: t(\"neetoPayments.taxesDashboard.table.taxName\"),\n id: \"name\",\n accessorKey: \"name\",\n cell: ({ row }) => {\n const tax = row.original;\n\n return (\n <div className=\"flex justify-between gap-2\">\n <Typography variant=\"body1\">{truncate(tax.name, 100)}</Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"edit\",\n label: t(\"neetoPayments.common.edit\"),\n onClick: () => handleDropdownClick(tax, \"edit\"),\n \"data-testid\": \"menu-dropdown-edit-button\",\n },\n {\n key: \"delete\",\n label: t(\"neetoPayments.common.delete\"),\n onClick: () => handleDropdownClick(tax, \"delete\"),\n \"data-testid\": \"menu-dropdown-delete-button\",\n },\n ]}\n />\n </div>\n );\n },\n },\n {\n header: t(\"neetoPayments.taxesDashboard.table.description\"),\n id: \"description\",\n accessorKey: \"description\",\n size: 300,\n },\n {\n header: t(\"neetoPayments.taxesDashboard.table.value\"),\n id: \"value\",\n accessorKey: \"value\",\n cell: ({ row }) => {\n const tax = row.original;\n\n return <>{tax.kind === \"percentage\" ? `${tax.value}%` : tax.value}</>;\n },\n },\n {\n header: t(\"neetoPayments.taxesDashboard.table.type\"),\n id: \"kind\",\n accessorKey: \"kind\",\n cell: ({ row }) => <>{humanize(row.getValue(\"kind\"))}</>,\n },\n];\n","import { useState } from \"react\";\n\nimport {\n Button,\n DataTable,\n Alert,\n Empty,\n Spinner,\n} from \"@bigbinary/neeto-atoms\";\nimport { noop, isPresent } from \"neetocist\";\nimport Container from \"neetomolecules/v2/Container\";\nimport Header from \"neetomolecules/v2/Header\";\nimport TableWrapper from \"neetomolecules/v2/TableWrapper\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useFetchTaxes, useDeleteTax } from \"hooks/reactQuery/useTaxesApi\";\n\nimport FormPane from \"./FormPane\";\nimport { generateColumnData } from \"./utils\";\n\nconst TaxesDashboard = ({\n taxableId,\n breadcrumbs,\n noDataHelpText = \"\",\n onTaxesChange = noop,\n titleHelpPopoverProps = {},\n taxNameHelpText,\n}) => {\n const [isFormPaneOpen, setIsFormPaneOpen] = useState(false);\n const [taxToEdit, setTaxToEdit] = useState(null);\n const [taxToDelete, setTaxToDelete] = useState(null);\n\n const { data: { taxes = [] } = {}, isLoading } = useFetchTaxes({ taxableId });\n const { mutate: deleteTax } = useDeleteTax(\n { taxableId },\n { onSuccess: onTaxesChange }\n );\n\n const { t } = useTranslation();\n\n const handleDropdownClick = (tax, action) => {\n switch (action) {\n case \"edit\":\n setTaxToEdit(tax);\n setIsFormPaneOpen(true);\n break;\n case \"delete\":\n setTaxToDelete(tax);\n break;\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 return (\n <Container>\n <Header\n {...{ breadcrumbs, titleHelpPopoverProps }}\n title={t(\"neetoPayments.taxesDashboard.title\")}\n actionBlock={\n <Button\n data-testid=\"add-new-tax-button\"\n label={t(\"neetoPayments.taxesDashboard.buttons.add\")}\n onClick={() => setIsFormPaneOpen(true)}\n />\n }\n />\n {isEmpty(taxes) ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Empty\n helpText={noDataHelpText}\n title={t(\"neetoPayments.taxesDashboard.noData\")}\n primaryButtonProps={{\n label: t(\"neetoPayments.taxesDashboard.buttons.add\"),\n onClick: () => setIsFormPaneOpen(true),\n }}\n />\n </div>\n ) : (\n <TableWrapper>\n <DataTable\n allowRowClick={false}\n columns={generateColumnData(handleDropdownClick)}\n data={taxes}\n loading={isLoading}\n />\n </TableWrapper>\n )}\n <FormPane\n {...{\n onTaxesChange,\n setTaxToEdit,\n taxNameHelpText,\n taxToEdit,\n taxableId,\n }}\n isOpen={isFormPaneOpen}\n setIsOpen={setIsFormPaneOpen}\n />\n <Alert\n isOpen={isPresent(taxToDelete)}\n title={t(\"neetoPayments.alert.delete.tax.title\")}\n message={\n <Trans\n components={{ strong: <strong /> }}\n i18nKey=\"neetoPayments.alert.delete.tax.message\"\n values={{ name: taxToDelete?.name }}\n />\n }\n onClose={() => setTaxToDelete(null)}\n onSubmit={() => {\n deleteTax({ taxableId, taxId: taxToDelete?.id });\n setTaxToDelete(null);\n }}\n />\n </Container>\n );\n};\n\nexport default TaxesDashboard;\n"],"names":["INITIAL_VALUES","name","description","kind","value","VALIDATION_SCHEMA","yup","object","shape","string","required","t","nullable","number","when","is","then","min","max","positive","FormPane","taxableId","taxToEdit","setTaxToEdit","isOpen","setIsOpen","onTaxesChange","taxNameHelpText","useTranslation","mutate","create","isPending","isCreating","useCreateTax","onSuccess","update","isUpdating","useUpdateTax","isEdit","isPresent","id","handleSubmit","values","taxId","payload","_jsxs","Sheet","onClose","children","_jsx","Header","Title","Form","formikProps","initialValues","validationSchema","onSubmit","Body","className","Input","label","placeholder","Callout","isNotPresent","Label","RadioGroup","orientation","Item","type","Footer","ActionBlock","cancelButtonProps","onClick","isSubmitting","generateColumnData","handleDropdownClick","header","accessorKey","cell","row","tax","original","Typography","variant","truncate","MoreDropdown","dropdownProps","strategy","menuItems","key","size","_Fragment","humanize","getValue","TaxesDashboard","breadcrumbs","noDataHelpText","noop","titleHelpPopoverProps","isFormPaneOpen","setIsFormPaneOpen","useState","taxToDelete","setTaxToDelete","data","taxes","isLoading","useFetchTaxes","deleteTax","useDeleteTax","action","Spinner","Container","title","actionBlock","Button","isEmpty","Empty","helpText","primaryButtonProps","TableWrapper","DataTable","allowRowClick","columns","loading","Alert","message","Trans","components","strong","i18nKey"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,MAAMA,cAAc,GAAG;AAC5BC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,WAAW,EAAE,EAAE;AACfC,EAAAA,IAAI,EAAE,YAAY;AAClBC,EAAAA,KAAK,EAAE;AACT,CAAC;AAEM,MAAMC,iBAAiB,GAAGC,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAClDP,EAAAA,IAAI,EAAEK,cAAG,CAACG,MAAM,EAAE,CAACC,QAAQ,CAACC,SAAC,CAAC,wCAAwC,CAAC,CAAC;EACxET,WAAW,EAAEI,cAAG,CAACG,MAAM,EAAE,CAACG,QAAQ,EAAE;AACpCT,EAAAA,IAAI,EAAEG,cAAG,CAACG,MAAM,EAAE,CAACC,QAAQ,CAACC,SAAC,CAAC,wCAAwC,CAAC,CAAC;EACxEP,KAAK,EAAEE,cAAG,CACPO,MAAM,EAAE,CACRC,IAAI,CAAC,MAAM,EAAE;AACZC,IAAAA,EAAE,EAAE,YAAY;IAChBC,IAAI,EAAEV,cAAG,CACNO,MAAM,EAAE,CACRI,GAAG,CAAC,CAAC,EAAEN,SAAC,CAAC,wDAAwD,CAAC,CAAC,CACnEO,GAAG,CAAC,GAAG,EAAEP,SAAC,CAAC,yDAAyD,CAAC;AAC1E,GAAC,CAAC,CACDQ,QAAQ,CAACR,SAAC,CAAC,+CAA+C,CAAC,CAAC,CAC5DD,QAAQ,CAACC,SAAC,CAAC,yCAAyC,CAAC;AAC1D,CAAC,CAAC;;ACXF,MAAMS,QAAQ,GAAGA,CAAC;EAChBC,SAAS;EACTC,SAAS;EACTC,YAAY;EACZC,MAAM;EACNC,SAAS;EACTC,aAAa;AACbC,EAAAA;AACF,CAAC,KAAK;EACJ,MAAM;AAAEhB,IAAAA;GAAG,GAAGiB,2BAAc,EAAE;EAC9B,MAAM;AAAEC,IAAAA,MAAM,EAAEC,MAAM;AAAEC,IAAAA,SAAS,EAAEC;GAAY,GAAGC,wBAAY,CAC5D;AAAEZ,IAAAA;AAAU,GAAC,EACb;IACEa,SAAS,EAAEA,MAAM;MACfT,SAAS,CAAC,KAAK,CAAC;AAChBC,MAAAA,aAAa,EAAE;AACjB,IAAA;AACF,GACF,CAAC;EAED,MAAM;AAAEG,IAAAA,MAAM,EAAEM,MAAM;AAAEJ,IAAAA,SAAS,EAAEK;GAAY,GAAGC,wBAAY,CAC5D;AAAEhB,IAAAA;AAAU,GAAC,EACb;IACEa,SAAS,EAAEA,MAAM;MACfT,SAAS,CAAC,KAAK,CAAC;AAChBC,MAAAA,aAAa,EAAE;AACjB,IAAA;AACF,GACF,CAAC;AAED,EAAA,MAAMY,MAAM,GAAGC,mBAAS,CAACjB,SAAS,EAAEkB,EAAE,CAAC;EACvC,MAAMC,YAAY,GAAGC,MAAM,IAAI;AAC7B,IAAA,IAAIJ,MAAM,EAAE;AACVH,MAAAA,MAAM,CAAC;QAAEd,SAAS;QAAEsB,KAAK,EAAErB,SAAS,CAACkB,EAAE;AAAEI,QAAAA,OAAO,EAAEF;AAAO,OAAC,CAAC;MAC3DnB,YAAY,CAAC,IAAI,CAAC;AACpB,IAAA,CAAC,MAAM;AACLO,MAAAA,MAAM,CAAC;QAAET,SAAS;AAAEuB,QAAAA,OAAO,EAAEF;AAAO,OAAC,CAAC;AACxC,IAAA;EACF,CAAC;EAED,oBACEG,eAAA,CAACC,gBAAK,EAAA;IACEtB,MAAM;IACZuB,OAAO,EAAEA,MAAM;MACbtB,SAAS,CAAC,KAAK,CAAC;MAChBF,YAAY,CAAC,IAAI,CAAC;IACpB,CAAE;AAAAyB,IAAAA,QAAA,EAAA,cAEFC,cAAA,CAACH,gBAAK,CAACI,MAAM,EAAA;AAAAF,MAAAA,QAAA,eACXC,cAAA,CAACH,gBAAK,CAACK,KAAK,EAAA;QAAAH,QAAA,EACTV,MAAM,GACH3B,CAAC,CAAC,8CAA8C,CAAC,GACjDA,CAAC,CAAC,gDAAgD;OAC3C;AAAC,KACF,CAAC,eACfkC,eAAA,CAACO,WAAI,EAAA;AACHC,MAAAA,WAAW,EAAE;AACXC,QAAAA,aAAa,EAAEhB,MAAM,GAAGhB,SAAS,GAAGtB,cAAc;AAClDuD,QAAAA,gBAAgB,EAAElD,iBAAiB;AACnCmD,QAAAA,QAAQ,EAAEf;OACV;AAAAO,MAAAA,QAAA,EAAA,cAEFC,cAAA,CAACH,gBAAK,CAACW,IAAI,EAAA;AAAAT,QAAAA,QAAA,eACTH,eAAA,CAAA,KAAA,EAAA;AAAKa,UAAAA,SAAS,EAAC,4BAA4B;UAAAV,QAAA,EAAA,cACzCC,cAAA,CAACU,YAAK,EAAA;YACJjD,QAAQ,EAAA,IAAA;AACRkD,YAAAA,KAAK,EAAEjD,CAAC,CAAC,8CAA8C,CAAE;AACzDV,YAAAA,IAAI,EAAC,MAAM;YACX4D,WAAW,EAAElD,CAAC,CACZ,oDACF;AAAE,WACH,CAAC,eACFsC,cAAA,CAACa,kBAAO,EAAA;YAAAd,QAAA,EACLe,sBAAY,CAACpC,eAAe,CAAC,GAC1BhB,CAAC,CAAC,iDAAiD,CAAC,GACpDgB;AAAe,WACZ,CAAC,eACVsB,cAAA,CAACU,YAAK,EAAA;AACJC,YAAAA,KAAK,EAAEjD,CAAC,CAAC,qDAAqD,CAAE;AAChEV,YAAAA,IAAI,EAAC,aAAa;YAClB4D,WAAW,EAAElD,CAAC,CACZ,2DACF;AAAE,WACH,CAAC,eACFsC,cAAA,CAACe,gBAAK,EAAA;YAAAhB,QAAA,EAAErC,CAAC,CAAC,8CAA8C;AAAC,WAAQ,CAAC,eAClEkC,eAAA,CAACoB,iBAAU,EAAA;AAAChE,YAAAA,IAAI,EAAC,MAAM;AAACiE,YAAAA,WAAW,EAAC,UAAU;AAAAlB,YAAAA,QAAA,EAAA,cAC5CC,cAAA,CAACgB,iBAAU,CAACE,IAAI,EAAA;AACdP,cAAAA,KAAK,EAAEjD,CAAC,CAAC,mDAAmD,CAAE;AAC9DP,cAAAA,KAAK,EAAC;AAAY,aACnB,CAAC,eACF6C,cAAA,CAACgB,iBAAU,CAACE,IAAI,EAAA;AACdP,cAAAA,KAAK,EAAEjD,CAAC,CAAC,8CAA8C,CAAE;AACzDP,cAAAA,KAAK,EAAC;AAAO,aACd,CAAC;AAAA,WACQ,CAAC,eACb6C,cAAA,CAACU,YAAK,EAAA;YACJjD,QAAQ,EAAA,IAAA;AACRkD,YAAAA,KAAK,EAAEjD,CAAC,CAAC,+CAA+C,CAAE;AAC1DV,YAAAA,IAAI,EAAC,OAAO;AACZmE,YAAAA,IAAI,EAAC,QAAQ;YACbP,WAAW,EAAElD,CAAC,CACZ,qDACF;AAAE,WACH,CAAC;SACC;AAAC,OACI,CAAC,eACbsC,cAAA,CAACH,gBAAK,CAACuB,MAAM,EAAA;QAAArB,QAAA,eACXC,cAAA,CAACqB,kBAAW,EAAA;AACVC,UAAAA,iBAAiB,EAAE;AAAEC,YAAAA,OAAO,EAAEA,MAAM/C,SAAS,CAAC,KAAK;WAAI;UACvDgD,YAAY,EAAEzC,UAAU,IAAII;SAC7B;AAAC,OACU,CAAC;AAAA,KACX,CAAC;AAAA,GACF,CAAC;AAEZ,CAAC;;AC5HM,MAAMsC,kBAAkB,GAAGC,mBAAmB,IAAI,CACvD;AACEC,EAAAA,MAAM,EAAEjE,SAAC,CAAC,4CAA4C,CAAC;AACvD6B,EAAAA,EAAE,EAAE,MAAM;AACVqC,EAAAA,WAAW,EAAE,MAAM;AACnBC,EAAAA,IAAI,EAAEA,CAAC;AAAEC,IAAAA;AAAI,GAAC,KAAK;AACjB,IAAA,MAAMC,GAAG,GAAGD,GAAG,CAACE,QAAQ;AAExB,IAAA,oBACEpC,eAAA,CAAA,KAAA,EAAA;AAAKa,MAAAA,SAAS,EAAC,4BAA4B;MAAAV,QAAA,EAAA,cACzCC,cAAA,CAACiC,qBAAU,EAAA;AAACC,QAAAA,OAAO,EAAC,OAAO;AAAAnC,QAAAA,QAAA,EAAEoC,kBAAQ,CAACJ,GAAG,CAAC/E,IAAI,EAAE,GAAG;AAAC,OAAa,CAAC,eAClEgD,cAAA,CAACoC,YAAY,EAAA;AACXC,QAAAA,aAAa,EAAE;AAAEC,UAAAA,QAAQ,EAAE;SAAU;AACrCC,QAAAA,SAAS,EAAE,CACT;AACEC,UAAAA,GAAG,EAAE,MAAM;AACX7B,UAAAA,KAAK,EAAEjD,SAAC,CAAC,2BAA2B,CAAC;UACrC6D,OAAO,EAAEA,MAAMG,mBAAmB,CAACK,GAAG,EAAE,MAAM,CAAC;AAC/C,UAAA,aAAa,EAAE;AACjB,SAAC,EACD;AACES,UAAAA,GAAG,EAAE,QAAQ;AACb7B,UAAAA,KAAK,EAAEjD,SAAC,CAAC,6BAA6B,CAAC;UACvC6D,OAAO,EAAEA,MAAMG,mBAAmB,CAACK,GAAG,EAAE,QAAQ,CAAC;AACjD,UAAA,aAAa,EAAE;SAChB;AACD,OACH,CAAC;AAAA,KACC,CAAC;AAEV,EAAA;AACF,CAAC,EACD;AACEJ,EAAAA,MAAM,EAAEjE,SAAC,CAAC,gDAAgD,CAAC;AAC3D6B,EAAAA,EAAE,EAAE,aAAa;AACjBqC,EAAAA,WAAW,EAAE,aAAa;AAC1Ba,EAAAA,IAAI,EAAE;AACR,CAAC,EACD;AACEd,EAAAA,MAAM,EAAEjE,SAAC,CAAC,0CAA0C,CAAC;AACrD6B,EAAAA,EAAE,EAAE,OAAO;AACXqC,EAAAA,WAAW,EAAE,OAAO;AACpBC,EAAAA,IAAI,EAAEA,CAAC;AAAEC,IAAAA;AAAI,GAAC,KAAK;AACjB,IAAA,MAAMC,GAAG,GAAGD,GAAG,CAACE,QAAQ;IAExB,oBAAOhC,cAAA,CAAA0C,mBAAA,EAAA;AAAA3C,MAAAA,QAAA,EAAGgC,GAAG,CAAC7E,IAAI,KAAK,YAAY,GAAG,CAAA,EAAG6E,GAAG,CAAC5E,KAAK,CAAA,CAAA,CAAG,GAAG4E,GAAG,CAAC5E;AAAK,KAAG,CAAC;AACvE,EAAA;AACF,CAAC,EACD;AACEwE,EAAAA,MAAM,EAAEjE,SAAC,CAAC,yCAAyC,CAAC;AACpD6B,EAAAA,EAAE,EAAE,MAAM;AACVqC,EAAAA,WAAW,EAAE,MAAM;AACnBC,EAAAA,IAAI,EAAEA,CAAC;AAAEC,IAAAA;GAAK,kBAAK9B,cAAA,CAAA0C,mBAAA,EAAA;IAAA3C,QAAA,EAAG4C,kBAAQ,CAACb,GAAG,CAACc,QAAQ,CAAC,MAAM,CAAC;GAAI;AACzD,CAAC,CACF;;ACtCD,MAAMC,cAAc,GAAGA,CAAC;EACtBzE,SAAS;EACT0E,WAAW;AACXC,EAAAA,cAAc,GAAG,EAAE;AACnBtE,EAAAA,aAAa,GAAGuE,cAAI;EACpBC,qBAAqB,GAAG,EAAE;AAC1BvE,EAAAA;AACF,CAAC,KAAK;EACJ,MAAM,CAACwE,cAAc,EAAEC,iBAAiB,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;EAC3D,MAAM,CAAC/E,SAAS,EAAEC,YAAY,CAAC,GAAG8E,cAAQ,CAAC,IAAI,CAAC;EAChD,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGF,cAAQ,CAAC,IAAI,CAAC;EAEpD,MAAM;AAAEG,IAAAA,IAAI,EAAE;AAAEC,MAAAA,KAAK,GAAG;KAAI,GAAG,EAAE;AAAEC,IAAAA;GAAW,GAAGC,yBAAa,CAAC;AAAEtF,IAAAA;AAAU,GAAC,CAAC;EAC7E,MAAM;AAAEQ,IAAAA,MAAM,EAAE+E;GAAW,GAAGC,wBAAY,CACxC;AAAExF,IAAAA;AAAU,GAAC,EACb;AAAEa,IAAAA,SAAS,EAAER;AAAc,GAC7B,CAAC;EAED,MAAM;AAAEf,IAAAA;GAAG,GAAGiB,2BAAc,EAAE;AAE9B,EAAA,MAAM+C,mBAAmB,GAAGA,CAACK,GAAG,EAAE8B,MAAM,KAAK;AAC3C,IAAA,QAAQA,MAAM;AACZ,MAAA,KAAK,MAAM;QACTvF,YAAY,CAACyD,GAAG,CAAC;QACjBoB,iBAAiB,CAAC,IAAI,CAAC;AACvB,QAAA;AACF,MAAA,KAAK,QAAQ;QACXG,cAAc,CAACvB,GAAG,CAAC;AACnB,QAAA;AACJ;EACF,CAAC;AAED,EAAA,IAAI0B,SAAS,EAAE;AACb,IAAA,oBACEzD,cAAA,CAAA,KAAA,EAAA;AAAKS,MAAAA,SAAS,EAAC,gDAAgD;AAAAV,MAAAA,QAAA,eAC7DC,cAAA,CAAC8D,kBAAO,EAAA,EAAE;AAAC,KACR,CAAC;AAEV,EAAA;EAEA,oBACElE,eAAA,CAACmE,SAAS,EAAA;IAAAhE,QAAA,EAAA,cACRC,cAAA,CAACC,MAAM,EAAA;MACC6C,WAAW;MAAEG,qBAAqB;AACxCe,MAAAA,KAAK,EAAEtG,CAAC,CAAC,oCAAoC,CAAE;MAC/CuG,WAAW,eACTjE,cAAA,CAACkE,iBAAM,EAAA;AACL,QAAA,aAAA,EAAY,oBAAoB;AAChCvD,QAAAA,KAAK,EAAEjD,CAAC,CAAC,0CAA0C,CAAE;AACrD6D,QAAAA,OAAO,EAAEA,MAAM4B,iBAAiB,CAAC,IAAI;OACtC;AACF,KACF,CAAC,EACDgB,aAAO,CAACX,KAAK,CAAC,gBACbxD,cAAA,CAAA,KAAA,EAAA;AAAKS,MAAAA,SAAS,EAAC,gDAAgD;MAAAV,QAAA,eAC7DC,cAAA,CAACoE,gBAAK,EAAA;AACJC,QAAAA,QAAQ,EAAEtB,cAAe;AACzBiB,QAAAA,KAAK,EAAEtG,CAAC,CAAC,qCAAqC,CAAE;AAChD4G,QAAAA,kBAAkB,EAAE;AAClB3D,UAAAA,KAAK,EAAEjD,CAAC,CAAC,0CAA0C,CAAC;AACpD6D,UAAAA,OAAO,EAAEA,MAAM4B,iBAAiB,CAAC,IAAI;AACvC;OACD;AAAC,KACC,CAAC,gBAENnD,cAAA,CAACuE,YAAY,EAAA;MAAAxE,QAAA,eACXC,cAAA,CAACwE,oBAAS,EAAA;AACRC,QAAAA,aAAa,EAAE,KAAM;AACrBC,QAAAA,OAAO,EAAEjD,kBAAkB,CAACC,mBAAmB,CAAE;AACjD6B,QAAAA,IAAI,EAAEC,KAAM;AACZmB,QAAAA,OAAO,EAAElB;OACV;AAAC,KACU,CACf,eACDzD,cAAA,CAAC7B,QAAQ,EAAA;MAELM,aAAa;MACbH,YAAY;MACZI,eAAe;MACfL,SAAS;MACTD,SAAS;AAEXG,MAAAA,MAAM,EAAE2E,cAAe;AACvB1E,MAAAA,SAAS,EAAE2E;AAAkB,KAC9B,CAAC,eACFnD,cAAA,CAAC4E,gBAAK,EAAA;AACJrG,MAAAA,MAAM,EAAEe,mBAAS,CAAC+D,WAAW,CAAE;AAC/BW,MAAAA,KAAK,EAAEtG,CAAC,CAAC,sCAAsC,CAAE;MACjDmH,OAAO,eACL7E,cAAA,CAAC8E,kBAAK,EAAA;AACJC,QAAAA,UAAU,EAAE;UAAEC,MAAM,eAAEhF,cAAA,CAAA,QAAA,EAAA,EAAS;SAAI;AACnCiF,QAAAA,OAAO,EAAC,wCAAwC;AAChDxF,QAAAA,MAAM,EAAE;UAAEzC,IAAI,EAAEqG,WAAW,EAAErG;AAAK;AAAE,OACrC,CACF;AACD8C,MAAAA,OAAO,EAAEA,MAAMwD,cAAc,CAAC,IAAI,CAAE;MACpC/C,QAAQ,EAAEA,MAAM;AACdoD,QAAAA,SAAS,CAAC;UAAEvF,SAAS;UAAEsB,KAAK,EAAE2D,WAAW,EAAE9D;AAAG,SAAC,CAAC;QAChD+D,cAAc,CAAC,IAAI,CAAC;AACtB,MAAA;AAAE,KACH,CAAC;AAAA,GACO,CAAC;AAEhB;;;;"}
|
|
1
|
+
{"version":3,"file":"TaxesDashboard.js","sources":["../../../app/javascript/src/v2/components/TaxesDashboard/FormPane/constants.js","../../../app/javascript/src/v2/components/TaxesDashboard/FormPane/index.jsx","../../../app/javascript/src/v2/components/TaxesDashboard/utils.jsx","../../../app/javascript/src/v2/components/TaxesDashboard/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n kind: \"percentage\",\n value: \"\",\n};\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n name: yup.string().required(t(\"neetoPayments.validations.nameRequired\")),\n description: yup.string().nullable(),\n kind: yup.string().required(t(\"neetoPayments.validations.kindRequired\")),\n value: yup\n .number()\n .when(\"kind\", {\n is: \"percentage\",\n then: yup\n .number()\n .min(1, t(\"neetoPayments.validations.valueGreaterThanOrEqualToOne\"))\n .max(100, t(\"neetoPayments.validations.valueLessThanOrEqualToHundred\")),\n })\n .positive(t(\"neetoPayments.validations.valueMustBePositive\"))\n .required(t(\"neetoPayments.validations.valueRequired\")),\n});\n","import { Label, Sheet, Callout } from \"@bigbinary/neeto-atoms\";\nimport {\n Form,\n Input,\n RadioGroup,\n ActionBlock,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { isNotPresent, isPresent } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateTax, useUpdateTax } from \"hooks/reactQuery/useTaxesApi\";\n\nimport { INITIAL_VALUES, VALIDATION_SCHEMA } from \"./constants\";\n\nconst FormPane = ({\n taxableId,\n taxToEdit,\n setTaxToEdit,\n isOpen,\n setIsOpen,\n onTaxesChange,\n taxNameHelpText,\n}) => {\n const { t } = useTranslation();\n const { mutate: create, isPending: isCreating } = useCreateTax(\n { taxableId },\n {\n onSuccess: () => {\n setIsOpen(false);\n onTaxesChange();\n },\n }\n );\n\n const { mutate: update, isPending: isUpdating } = useUpdateTax(\n { taxableId },\n {\n onSuccess: () => {\n setIsOpen(false);\n onTaxesChange();\n },\n }\n );\n\n const isEdit = isPresent(taxToEdit?.id);\n const handleSubmit = values => {\n if (isEdit) {\n update({ taxableId, taxId: taxToEdit.id, payload: values });\n setTaxToEdit(null);\n } else {\n create({ taxableId, payload: values });\n }\n };\n\n return (\n <Sheet\n {...{ isOpen }}\n onClose={() => {\n setIsOpen(false);\n setTaxToEdit(null);\n }}\n >\n <Sheet.Header>\n <Sheet.Title>\n {isEdit\n ? t(\"neetoPayments.taxesDashboard.form.title.edit\")\n : t(\"neetoPayments.taxesDashboard.form.title.create\")}\n </Sheet.Title>\n </Sheet.Header>\n <Form\n className=\"flex min-h-0 flex-1 flex-col gap-4\"\n formikProps={{\n initialValues: isEdit ? taxToEdit : INITIAL_VALUES,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Sheet.Body>\n <div className=\"flex flex-col w-full gap-4\">\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.name.label\")}\n name=\"name\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.name.placeholder\"\n )}\n />\n <Callout>\n {isNotPresent(taxNameHelpText)\n ? t(\"neetoPayments.taxesDashboard.form.name.helpText\")\n : taxNameHelpText}\n </Callout>\n <Input\n label={t(\"neetoPayments.taxesDashboard.form.description.label\")}\n name=\"description\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.description.placeholder\"\n )}\n />\n <Label>{t(\"neetoPayments.taxesDashboard.form.kind.label\")}</Label>\n <RadioGroup name=\"kind\" orientation=\"vertical\">\n <RadioGroup.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.percentage\")}\n value=\"percentage\"\n />\n <RadioGroup.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.fixed\")}\n value=\"fixed\"\n />\n </RadioGroup>\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.value.label\")}\n name=\"value\"\n type=\"number\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.value.placeholder\"\n )}\n />\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: () => setIsOpen(false) }}\n isSubmitting={isCreating || isUpdating}\n />\n </Sheet.Footer>\n </Form>\n </Sheet>\n );\n};\n\nexport default FormPane;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\n\nexport const generateColumnData = () => [\n {\n header: t(\"neetoPayments.taxesDashboard.table.taxName\"),\n id: \"name\",\n accessorKey: \"name\",\n cell: info => {\n const name = info.getValue();\n const { actions, onEdit, canManage } = info.row.original;\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Button\n disabled={!canManage}\n label={truncate(name, 100)}\n variant=\"link\"\n onClick={onEdit}\n />\n {actions}\n </div>\n );\n },\n },\n {\n header: t(\"neetoPayments.taxesDashboard.table.description\"),\n id: \"description\",\n accessorKey: \"description\",\n size: 300,\n },\n {\n header: t(\"neetoPayments.taxesDashboard.table.value\"),\n id: \"value\",\n accessorKey: \"value\",\n cell: ({ row }) => {\n const tax = row.original;\n\n return <>{tax.kind === \"percentage\" ? `${tax.value}%` : tax.value}</>;\n },\n },\n {\n header: t(\"neetoPayments.taxesDashboard.table.type\"),\n id: \"kind\",\n accessorKey: \"kind\",\n cell: ({ row }) => <>{humanize(row.getValue(\"kind\"))}</>,\n },\n];\n","import { useState } from \"react\";\n\nimport {\n Button,\n DataTable,\n Alert,\n Empty,\n Spinner,\n} from \"@bigbinary/neeto-atoms\";\nimport { Percent } from \"lucide-react\";\nimport { noop, isPresent } from \"neetocist\";\nimport Container from \"neetomolecules/v2/Container\";\nimport Header from \"neetomolecules/v2/Header\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport TableWrapper from \"neetomolecules/v2/TableWrapper\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useFetchTaxes, useDeleteTax } from \"hooks/reactQuery/useTaxesApi\";\n\nimport FormPane from \"./FormPane\";\nimport { generateColumnData } from \"./utils\";\n\nconst TaxesDashboard = ({\n taxableId,\n breadcrumbs,\n noDataHelpText = \"\",\n onTaxesChange = noop,\n titleHelpPopoverProps = {},\n taxNameHelpText,\n}) => {\n const [isFormPaneOpen, setIsFormPaneOpen] = useState(false);\n const [taxToEdit, setTaxToEdit] = useState(null);\n const [taxToDelete, setTaxToDelete] = useState(null);\n\n const { data: { taxes = [] } = {}, isLoading } = useFetchTaxes({ taxableId });\n const { mutate: deleteTax } = useDeleteTax(\n { taxableId },\n { onSuccess: onTaxesChange }\n );\n\n const { t } = useTranslation();\n\n const handleEdit = tax => {\n setTaxToEdit(tax);\n setIsFormPaneOpen(true);\n };\n\n const rowData = taxes.map(tax => ({\n ...tax,\n canManage: true,\n onEdit: () => handleEdit(tax),\n actions: (\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", className: \"w-max\" }}\n menuItems={[\n {\n key: \"edit\",\n label: t(\"neetoPayments.common.edit\"),\n onClick: () => handleEdit(tax),\n \"data-testid\": \"menu-dropdown-edit-button\",\n },\n {\n key: \"delete\",\n label: t(\"neetoPayments.common.delete\"),\n onClick: () => setTaxToDelete(tax),\n \"data-testid\": \"menu-dropdown-delete-button\",\n },\n ]}\n />\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 return (\n <Container>\n <Header\n {...{ breadcrumbs, titleHelpPopoverProps }}\n title={t(\"neetoPayments.taxesDashboard.title\")}\n actionBlock={\n <Button\n data-testid=\"add-new-tax-button\"\n label={t(\"neetoPayments.taxesDashboard.buttons.add\")}\n onClick={() => setIsFormPaneOpen(true)}\n />\n }\n />\n {isEmpty(taxes) ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Empty\n helpText={noDataHelpText}\n icon={Percent}\n title={t(\"neetoPayments.taxesDashboard.noData\")}\n primaryButtonProps={{\n label: t(\"neetoPayments.taxesDashboard.buttons.add\"),\n onClick: () => setIsFormPaneOpen(true),\n }}\n />\n </div>\n ) : (\n <TableWrapper>\n <DataTable\n allowRowClick={false}\n columns={generateColumnData()}\n data={rowData}\n loading={isLoading}\n />\n </TableWrapper>\n )}\n <FormPane\n {...{\n onTaxesChange,\n setTaxToEdit,\n taxNameHelpText,\n taxToEdit,\n taxableId,\n }}\n isOpen={isFormPaneOpen}\n setIsOpen={setIsFormPaneOpen}\n />\n <Alert\n isOpen={isPresent(taxToDelete)}\n title={t(\"neetoPayments.alert.delete.tax.title\")}\n message={\n <Trans\n components={{ strong: <strong /> }}\n i18nKey=\"neetoPayments.alert.delete.tax.message\"\n values={{ name: taxToDelete?.name }}\n />\n }\n onClose={() => setTaxToDelete(null)}\n onSubmit={() => {\n deleteTax({ taxableId, taxId: taxToDelete?.id });\n setTaxToDelete(null);\n }}\n />\n </Container>\n );\n};\n\nexport default TaxesDashboard;\n"],"names":["INITIAL_VALUES","name","description","kind","value","VALIDATION_SCHEMA","yup","object","shape","string","required","t","nullable","number","when","is","then","min","max","positive","FormPane","taxableId","taxToEdit","setTaxToEdit","isOpen","setIsOpen","onTaxesChange","taxNameHelpText","useTranslation","mutate","create","isPending","isCreating","useCreateTax","onSuccess","update","isUpdating","useUpdateTax","isEdit","isPresent","id","handleSubmit","values","taxId","payload","_jsxs","Sheet","onClose","children","_jsx","Header","Title","Form","className","formikProps","initialValues","validationSchema","onSubmit","Body","Input","label","placeholder","Callout","isNotPresent","Label","RadioGroup","orientation","Item","type","Footer","ActionBlock","cancelButtonProps","onClick","isSubmitting","generateColumnData","header","accessorKey","cell","info","getValue","actions","onEdit","canManage","row","original","Button","disabled","truncate","variant","size","tax","_Fragment","humanize","TaxesDashboard","breadcrumbs","noDataHelpText","noop","titleHelpPopoverProps","isFormPaneOpen","setIsFormPaneOpen","useState","taxToDelete","setTaxToDelete","data","taxes","isLoading","useFetchTaxes","deleteTax","useDeleteTax","handleEdit","rowData","map","MoreDropdown","dropdownProps","strategy","menuItems","key","Spinner","Container","title","actionBlock","isEmpty","Empty","helpText","icon","Percent","primaryButtonProps","TableWrapper","DataTable","allowRowClick","columns","loading","Alert","message","Trans","components","strong","i18nKey"],"mappings":"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"}
|
package/dist/cjs/v2/index.js
CHANGED
|
@@ -44,7 +44,7 @@ require('react/jsx-runtime');
|
|
|
44
44
|
require('axios');
|
|
45
45
|
require('../exportChannel-BL2RGGhP.js');
|
|
46
46
|
require('neetocommons/utils');
|
|
47
|
-
require('
|
|
47
|
+
require('lucide-react');
|
|
48
48
|
require('ramda');
|
|
49
49
|
require('react-router-dom');
|
|
50
50
|
require('../dashboard-BGW0_f30.js');
|
|
@@ -70,7 +70,7 @@ require('@bigbinary/neeto-molecules/v2/MoreDropdown');
|
|
|
70
70
|
require('@rails/activestorage');
|
|
71
71
|
require('qrcode.react');
|
|
72
72
|
require('../usePaymentApi-CuL13mny.js');
|
|
73
|
-
require('../ExportModal-
|
|
73
|
+
require('../ExportModal-Bt_Aal7b.js');
|
|
74
74
|
require('../useExportsApi-rYuPpXWl.js');
|
|
75
75
|
require('../usePaymentsApi-ZomyqUIJ.js');
|
|
76
76
|
require('../index-CsYH-ECo.js');
|
|
@@ -9,7 +9,7 @@ import SubHeader from '@bigbinary/neeto-molecules/v2/SubHeader';
|
|
|
9
9
|
import { useTranslation } from 'react-i18next';
|
|
10
10
|
import { u as useExportData, w as withReactQuery } from '../useExportsApi-DA6ThV9b.js';
|
|
11
11
|
import { e as exportChannel, T as TABLE_KEYS } from '../exportChannel-Db0U5gc1.js';
|
|
12
|
-
import { Download } from '
|
|
12
|
+
import { Download, Building2 } from 'lucide-react';
|
|
13
13
|
import { u as uuidV4, G as buildStripeAccountLink, z as DEFAULT_SORT_PROPERTIES } from '../index-CajHy3NQ.js';
|
|
14
14
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
15
15
|
import { getQueryParams, buildUrl } from 'neetocommons/utils';
|
|
@@ -339,6 +339,7 @@ const List = ({
|
|
|
339
339
|
return /*#__PURE__*/jsx("div", {
|
|
340
340
|
className: "flex h-full w-full items-center justify-center",
|
|
341
341
|
children: /*#__PURE__*/jsx(Empty, {
|
|
342
|
+
icon: Building2,
|
|
342
343
|
title: tab === TAB.all ? t("neetoPayments.emptyState.account") : t("neetoPayments.emptyState.accountWithStatus", {
|
|
343
344
|
status: tab
|
|
344
345
|
})
|
|
@@ -408,6 +409,7 @@ const AccountsDashboard = () => {
|
|
|
408
409
|
className: "w-80"
|
|
409
410
|
}
|
|
410
411
|
}), isTabsVisible && /*#__PURE__*/jsx(Tabs, {
|
|
412
|
+
size: "lg",
|
|
411
413
|
value: tab,
|
|
412
414
|
onValueChange: handleTabChange,
|
|
413
415
|
children: /*#__PURE__*/jsx(Tabs.List, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountsDashboard.js","sources":["../../app/javascript/src/v2/components/AccountsDashboard/constants/index.js","../../app/javascript/src/v2/components/AccountsDashboard/ExportModal.jsx","../../app/javascript/src/v2/components/AccountsDashboard/utils/renderFunctions.jsx","../../app/javascript/src/v2/components/AccountsDashboard/constants/columns.js","../../app/javascript/src/v2/components/AccountsDashboard/hooks/useFiltersAndPagination.js","../../app/javascript/src/v2/components/AccountsDashboard/List.jsx","../../app/javascript/src/v2/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 { Button, Dialog, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Download } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportData } from \"hooks/reactQuery/stripe/useExportsApi\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n showExportModal,\n setShowExportModal,\n tab,\n filters,\n sortProperties = {},\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { mutate: exportCsv, isPending } = useExportData();\n const isFileLoading = isPending || isGenerating;\n\n const token = useMemo(() => `account-report-${uuidV4()}`, []);\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n const handleGenerateClick = () => {\n const payload = {\n kind: \"account\",\n token,\n filters,\n tab,\n ...sortProperties,\n };\n\n exportCsv(payload, {\n onSuccess: () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n },\n });\n };\n\n useEffect(() => {\n if (showExportModal) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [showExportModal, token]);\n\n const onClose = () => setShowExportModal(false);\n\n return (\n <Dialog {...{ onClose }} isOpen={showExportModal}>\n <Dialog.Header>\n <Dialog.Title>{t(\"neetoPayments.export.title.account\")}</Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n {isFileLoading ? (\n <Typography variant=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography variant=\"body2\">\n {downloadUrl\n ? t(\"neetoPayments.export.fileReady\")\n : t(\"neetoPayments.export.download.account\")}\n </Typography>\n )}\n </Dialog.Body>\n <Dialog.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 variant=\"outline\"\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 </Dialog.Footer>\n </Dialog>\n );\n};\n\nexport default ExportModal;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { capitalize } from \"neetocist\";\nimport { join, map, pipe, split } from \"ramda\";\n\nimport { buildStripeAccountLink } from \"utils\";\nimport CopyButtonWrapper from \"v2/components/Common/CopyButtonWrapper\";\n\nexport const renderIdentifier = ({ identifier = \"\", isLive = false } = {}) => (\n <CopyButtonWrapper content={identifier}>\n <Button\n href={buildStripeAccountLink(identifier, isLive)}\n label={identifier}\n size=\"sm\"\n target=\"_blank\"\n variant=\"link\"\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 \"v2/utils/renderFunctions\";\n\nimport { renderCountry, renderIdentifier } from \"../utils/renderFunctions\";\n\nexport const COLUMNS = [\n {\n header: t(\"neetoPayments.common.id\"),\n id: \"id\",\n accessorKey: \"id\",\n size: 85,\n enableHiding: false,\n },\n {\n header: t(\"neetoPayments.common.identifier\"),\n id: \"identifier\",\n accessorKey: \"identifier\",\n size: 300,\n cell: ({ row }) => renderIdentifier(row.original),\n enableHiding: false,\n },\n {\n header: t(\"neetoPayments.common.status\"),\n id: \"status\",\n accessorKey: \"status\",\n size: 150,\n cell: ({ row }) =>\n renderStatus(\"account\")(row.getValue(\"status\"), row.original),\n enableSorting: true,\n enableHiding: false,\n },\n {\n header: t(\"neetoPayments.common.name\"),\n id: \"first_name\",\n accessorKey: \"first_name\",\n size: 300,\n cell: ({ row }) => renderFullName(null, row.original),\n enableSorting: true,\n },\n {\n header: t(\"neetoPayments.common.email\"),\n id: \"email\",\n accessorKey: \"email\",\n size: 300,\n enableSorting: true,\n },\n {\n header: t(\"neetoPayments.common.country\"),\n id: \"country\",\n accessorKey: \"country\",\n size: 150,\n cell: ({ row }) => renderCountry(row.getValue(\"country\")),\n enableSorting: true,\n },\n {\n header: t(\"neetoPayments.common.createdAt\"),\n id: \"createdAt\",\n accessorKey: \"createdAt\",\n size: 220,\n cell: ({ row }) => renderDate(row.getValue(\"createdAt\")),\n enableSorting: true,\n },\n];\n","import { useState } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildFiltersFromURL } from \"neetofilters/v2\";\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({ id: \"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 { DataTable, Empty, Spinner } from \"@bigbinary/neeto-atoms\";\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/v2/Columns\";\nimport TableWrapper from \"neetomolecules/v2/TableWrapper\";\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 } 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 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 <Empty\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 <DataTable\n allowRowClick={false}\n columns={customizedColumns}\n currentPage={pageProperties[tab]?.page}\n data={buildRowData({ data: accounts, pageProperties, tab })}\n enableURLPagination={false}\n enableURLSort={false}\n loading={isFetching || isTableConfigurationLoading}\n totalCount={dataSize}\n onColumnHide={id => hideColumn(id)}\n onPageChange={page =>\n handleTablePagination(page, pageProperties[tab]?.pageSize)\n }\n onSort={sort =>\n sort\n ? setSortProperties({\n sortBy: camelToSnakeCase(sort.field),\n orderBy: sort.order === \"ascend\" ? \"ASC\" : \"DESC\",\n })\n : setSortProperties(DEFAULT_SORT_PROPERTIES)\n }\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import { useState, useTransition } from \"react\";\n\nimport { Tabs, Typography } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { withTitle } from \"neetocommons/v2/react-utils\";\nimport { Bar as FiltersBar } from \"neetofilters/v2\";\nimport Header from \"neetomolecules/v2/Header\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\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 <Tabs value={tab} onValueChange={handleTabChange}>\n <Tabs.List>\n {TABS.map(item => (\n <Tabs.Item key={item} value={item}>\n {t(`neetoPayments.common.${item}`)}\n </Tabs.Item>\n ))}\n </Tabs.List>\n </Tabs>\n )}\n <SubHeader\n className=\"my-4\"\n leftActionBlock={\n isPresent(dataSize) && (\n <Typography className=\"me-2 font-semibold\" variant=\"body1\">\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","Dialog","isOpen","children","_jsx","Header","Title","Body","Typography","variant","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","header","id","accessorKey","enableHiding","cell","row","original","renderStatus","getValue","enableSorting","renderFullName","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","Spinner","Empty","title","status","TableWrapper","hasPagination","DataTable","allowRowClick","columns","currentPage","buildRowData","enableURLPagination","enableURLSort","totalCount","onColumnHide","onPageChange","onSort","sort","sortBy","camelToSnakeCase","field","orderBy","order","AccountsDashboard","_","startTransition","useTransition","isTabsVisible","handleFiltersChange","searchProps","placeholder","Tabs","onValueChange","item","Item","SubHeader","leftActionBlock","count","rightActionBlock","RightBlock","columnsButtonProps","fixedColumns","tableKey","downloadButtonProps","filterProps","keyword","setIsOpen","onChange","FiltersBar","setIsPaneOpen","withTitle","withReactQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AccountsDashboard.js","sources":["../../app/javascript/src/v2/components/AccountsDashboard/constants/index.js","../../app/javascript/src/v2/components/AccountsDashboard/ExportModal.jsx","../../app/javascript/src/v2/components/AccountsDashboard/utils/renderFunctions.jsx","../../app/javascript/src/v2/components/AccountsDashboard/constants/columns.js","../../app/javascript/src/v2/components/AccountsDashboard/hooks/useFiltersAndPagination.js","../../app/javascript/src/v2/components/AccountsDashboard/List.jsx","../../app/javascript/src/v2/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 { Button, Dialog, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Download } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportData } from \"hooks/reactQuery/stripe/useExportsApi\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n showExportModal,\n setShowExportModal,\n tab,\n filters,\n sortProperties = {},\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { mutate: exportCsv, isPending } = useExportData();\n const isFileLoading = isPending || isGenerating;\n\n const token = useMemo(() => `account-report-${uuidV4()}`, []);\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n const handleGenerateClick = () => {\n const payload = {\n kind: \"account\",\n token,\n filters,\n tab,\n ...sortProperties,\n };\n\n exportCsv(payload, {\n onSuccess: () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n },\n });\n };\n\n useEffect(() => {\n if (showExportModal) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [showExportModal, token]);\n\n const onClose = () => setShowExportModal(false);\n\n return (\n <Dialog {...{ onClose }} isOpen={showExportModal}>\n <Dialog.Header>\n <Dialog.Title>{t(\"neetoPayments.export.title.account\")}</Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n {isFileLoading ? (\n <Typography variant=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography variant=\"body2\">\n {downloadUrl\n ? t(\"neetoPayments.export.fileReady\")\n : t(\"neetoPayments.export.download.account\")}\n </Typography>\n )}\n </Dialog.Body>\n <Dialog.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 variant=\"outline\"\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 </Dialog.Footer>\n </Dialog>\n );\n};\n\nexport default ExportModal;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { capitalize } from \"neetocist\";\nimport { join, map, pipe, split } from \"ramda\";\n\nimport { buildStripeAccountLink } from \"utils\";\nimport CopyButtonWrapper from \"v2/components/Common/CopyButtonWrapper\";\n\nexport const renderIdentifier = ({ identifier = \"\", isLive = false } = {}) => (\n <CopyButtonWrapper content={identifier}>\n <Button\n href={buildStripeAccountLink(identifier, isLive)}\n label={identifier}\n size=\"sm\"\n target=\"_blank\"\n variant=\"link\"\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 \"v2/utils/renderFunctions\";\n\nimport { renderCountry, renderIdentifier } from \"../utils/renderFunctions\";\n\nexport const COLUMNS = [\n {\n header: t(\"neetoPayments.common.id\"),\n id: \"id\",\n accessorKey: \"id\",\n size: 85,\n enableHiding: false,\n },\n {\n header: t(\"neetoPayments.common.identifier\"),\n id: \"identifier\",\n accessorKey: \"identifier\",\n size: 300,\n cell: ({ row }) => renderIdentifier(row.original),\n enableHiding: false,\n },\n {\n header: t(\"neetoPayments.common.status\"),\n id: \"status\",\n accessorKey: \"status\",\n size: 150,\n cell: ({ row }) =>\n renderStatus(\"account\")(row.getValue(\"status\"), row.original),\n enableSorting: true,\n enableHiding: false,\n },\n {\n header: t(\"neetoPayments.common.name\"),\n id: \"first_name\",\n accessorKey: \"first_name\",\n size: 300,\n cell: ({ row }) => renderFullName(null, row.original),\n enableSorting: true,\n },\n {\n header: t(\"neetoPayments.common.email\"),\n id: \"email\",\n accessorKey: \"email\",\n size: 300,\n enableSorting: true,\n },\n {\n header: t(\"neetoPayments.common.country\"),\n id: \"country\",\n accessorKey: \"country\",\n size: 150,\n cell: ({ row }) => renderCountry(row.getValue(\"country\")),\n enableSorting: true,\n },\n {\n header: t(\"neetoPayments.common.createdAt\"),\n id: \"createdAt\",\n accessorKey: \"createdAt\",\n size: 220,\n cell: ({ row }) => renderDate(row.getValue(\"createdAt\")),\n enableSorting: true,\n },\n];\n","import { useState } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildFiltersFromURL } from \"neetofilters/v2\";\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({ id: \"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 { DataTable, Empty, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { Building2 } from \"lucide-react\";\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/v2/Columns\";\nimport TableWrapper from \"neetomolecules/v2/TableWrapper\";\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 } 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 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 <Empty\n icon={Building2}\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 <DataTable\n allowRowClick={false}\n columns={customizedColumns}\n currentPage={pageProperties[tab]?.page}\n data={buildRowData({ data: accounts, pageProperties, tab })}\n enableURLPagination={false}\n enableURLSort={false}\n loading={isFetching || isTableConfigurationLoading}\n totalCount={dataSize}\n onColumnHide={id => hideColumn(id)}\n onPageChange={page =>\n handleTablePagination(page, pageProperties[tab]?.pageSize)\n }\n onSort={sort =>\n sort\n ? setSortProperties({\n sortBy: camelToSnakeCase(sort.field),\n orderBy: sort.order === \"ascend\" ? \"ASC\" : \"DESC\",\n })\n : setSortProperties(DEFAULT_SORT_PROPERTIES)\n }\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import { useState, useTransition } from \"react\";\n\nimport { Tabs, Typography } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { withTitle } from \"neetocommons/v2/react-utils\";\nimport { Bar as FiltersBar } from \"neetofilters/v2\";\nimport Header from \"neetomolecules/v2/Header\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\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 <Tabs size=\"lg\" value={tab} onValueChange={handleTabChange}>\n <Tabs.List>\n {TABS.map(item => (\n <Tabs.Item key={item} value={item}>\n {t(`neetoPayments.common.${item}`)}\n </Tabs.Item>\n ))}\n </Tabs.List>\n </Tabs>\n )}\n <SubHeader\n className=\"my-4\"\n leftActionBlock={\n isPresent(dataSize) && (\n <Typography className=\"me-2 font-semibold\" variant=\"body1\">\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","Dialog","isOpen","children","_jsx","Header","Title","Body","Typography","variant","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","header","id","accessorKey","enableHiding","cell","row","original","renderStatus","getValue","enableSorting","renderFullName","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","Spinner","Empty","Building2","title","status","TableWrapper","hasPagination","DataTable","allowRowClick","columns","currentPage","buildRowData","enableURLPagination","enableURLSort","totalCount","onColumnHide","onPageChange","onSort","sort","sortBy","camelToSnakeCase","field","orderBy","order","AccountsDashboard","_","startTransition","useTransition","isTabsVisible","handleFiltersChange","searchProps","placeholder","Tabs","onValueChange","item","Item","SubHeader","leftActionBlock","count","rightActionBlock","RightBlock","columnsButtonProps","fixedColumns","tableKey","downloadButtonProps","filterProps","keyword","setIsOpen","onChange","FiltersBar","setIsPaneOpen","withTitle","withReactQuery"],"mappings":"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"}
|