medusa-invoice 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/.yarnrc.yml +1 -0
- package/LICENSE +21 -0
- package/README.md +177 -0
- package/dist/admin/_virtual_entry.js +15246 -0
- package/dist/api/admin/document-invoice-settings/forced-number/route.d.ts +2 -0
- package/dist/api/admin/document-invoice-settings/forced-number/route.js +39 -0
- package/dist/api/admin/document-invoice-settings/format-number/route.d.ts +2 -0
- package/dist/api/admin/document-invoice-settings/format-number/route.js +39 -0
- package/dist/api/admin/document-invoice-settings/invoice-template/route.d.ts +2 -0
- package/dist/api/admin/document-invoice-settings/invoice-template/route.js +39 -0
- package/dist/api/admin/document-invoice-settings/route.d.ts +3 -0
- package/dist/api/admin/document-invoice-settings/route.js +56 -0
- package/dist/api/admin/document-packing-slip-settings/route.d.ts +3 -0
- package/dist/api/admin/document-packing-slip-settings/route.js +56 -0
- package/dist/api/admin/document-packing-slip-settings/template/route.d.ts +2 -0
- package/dist/api/admin/document-packing-slip-settings/template/route.js +39 -0
- package/dist/api/admin/document-settings/document-address/route.d.ts +2 -0
- package/dist/api/admin/document-settings/document-address/route.js +46 -0
- package/dist/api/admin/document-settings/logo/route.d.ts +3 -0
- package/dist/api/admin/document-settings/logo/route.js +61 -0
- package/dist/api/admin/document-settings/route.d.ts +2 -0
- package/dist/api/admin/document-settings/route.js +30 -0
- package/dist/api/admin/invoice/display-number/route.d.ts +2 -0
- package/dist/api/admin/invoice/display-number/route.js +32 -0
- package/dist/api/admin/invoice/generate/route.d.ts +2 -0
- package/dist/api/admin/invoice/generate/route.js +29 -0
- package/dist/api/admin/invoice/route.d.ts +3 -0
- package/dist/api/admin/invoice/route.js +44 -0
- package/dist/api/admin/packing-slip/preview/route.d.ts +2 -0
- package/dist/api/admin/packing-slip/preview/route.js +29 -0
- package/dist/api/admin/packing-slip/route.d.ts +3 -0
- package/dist/api/admin/packing-slip/route.js +44 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +29 -0
- package/dist/loaders/i18next.d.ts +3 -0
- package/dist/loaders/i18next.js +72 -0
- package/dist/migrations/1711700828113-DocumentSettings.d.ts +6 -0
- package/dist/migrations/1711700828113-DocumentSettings.js +47 -0
- package/dist/migrations/1711701185935-Invoice.d.ts +5 -0
- package/dist/migrations/1711701185935-Invoice.js +50 -0
- package/dist/migrations/1712753213091-DocumentInvoiceSettings.d.ts +5 -0
- package/dist/migrations/1712753213091-DocumentInvoiceSettings.js +46 -0
- package/dist/migrations/1712754851678-Invoice.d.ts +5 -0
- package/dist/migrations/1712754851678-Invoice.js +23 -0
- package/dist/migrations/1714903066794-DocumentPackingSlipSettings.d.ts +5 -0
- package/dist/migrations/1714903066794-DocumentPackingSlipSettings.js +25 -0
- package/dist/migrations/1714903539447-PackingSlip.d.ts +5 -0
- package/dist/migrations/1714903539447-PackingSlip.js +45 -0
- package/dist/models/document-invoice-settings.d.ts +11 -0
- package/dist/models/document-invoice-settings.js +61 -0
- package/dist/models/document-packing-slip-settings.d.ts +11 -0
- package/dist/models/document-packing-slip-settings.js +61 -0
- package/dist/models/document-settings.d.ts +12 -0
- package/dist/models/document-settings.js +66 -0
- package/dist/models/invoice.d.ts +15 -0
- package/dist/models/invoice.js +74 -0
- package/dist/models/packing-slip.d.ts +15 -0
- package/dist/models/packing-slip.js +74 -0
- package/dist/services/document-invoice-settings.d.ts +14 -0
- package/dist/services/document-invoice-settings.js +110 -0
- package/dist/services/document-packing-slip-settings.d.ts +14 -0
- package/dist/services/document-packing-slip-settings.js +110 -0
- package/dist/services/generators/invoice-generator.d.ts +8 -0
- package/dist/services/generators/invoice-generator.js +64 -0
- package/dist/services/generators/packing-slip-generator.d.ts +8 -0
- package/dist/services/generators/packing-slip-generator.js +64 -0
- package/dist/services/invoice.d.ts +22 -0
- package/dist/services/invoice.js +277 -0
- package/dist/services/packing-slip.d.ts +16 -0
- package/dist/services/packing-slip.js +187 -0
- package/dist/services/templates/invoices/basic/basic-logo.d.ts +8 -0
- package/dist/services/templates/invoices/basic/basic-logo.js +56 -0
- package/dist/services/templates/invoices/basic/basic.d.ts +8 -0
- package/dist/services/templates/invoices/basic/basic.js +53 -0
- package/dist/services/templates/invoices/basic/parts/customer-info.d.ts +2 -0
- package/dist/services/templates/invoices/basic/parts/customer-info.js +70 -0
- package/dist/services/templates/invoices/basic/parts/header-for-logo.d.ts +2 -0
- package/dist/services/templates/invoices/basic/parts/header-for-logo.js +33 -0
- package/dist/services/templates/invoices/basic/parts/header-logo.d.ts +1 -0
- package/dist/services/templates/invoices/basic/parts/header-logo.js +30 -0
- package/dist/services/templates/invoices/basic/parts/header.d.ts +2 -0
- package/dist/services/templates/invoices/basic/parts/header.js +36 -0
- package/dist/services/templates/invoices/basic/parts/hr.d.ts +1 -0
- package/dist/services/templates/invoices/basic/parts/hr.js +24 -0
- package/dist/services/templates/invoices/basic/parts/invoice-info.d.ts +2 -0
- package/dist/services/templates/invoices/basic/parts/invoice-info.js +36 -0
- package/dist/services/templates/invoices/basic/parts/table.d.ts +2 -0
- package/dist/services/templates/invoices/basic/parts/table.js +54 -0
- package/dist/services/templates/packing-slips/basic/basic.d.ts +8 -0
- package/dist/services/templates/packing-slips/basic/basic.js +53 -0
- package/dist/services/templates/packing-slips/basic/parts/customer-info-small.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/customer-info-small.js +70 -0
- package/dist/services/templates/packing-slips/basic/parts/customer-info.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/customer-info.js +66 -0
- package/dist/services/templates/packing-slips/basic/parts/header-small.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/header-small.js +38 -0
- package/dist/services/templates/packing-slips/basic/parts/header.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/header.js +38 -0
- package/dist/services/templates/packing-slips/basic/parts/hr.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/hr.js +33 -0
- package/dist/services/templates/packing-slips/basic/parts/table-items-small.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/table-items-small.js +45 -0
- package/dist/services/templates/packing-slips/basic/parts/table-items.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/table-items.js +45 -0
- package/dist/services/templates/packing-slips/basic/parts/table-order-info-small.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/table-order-info-small.js +36 -0
- package/dist/services/templates/packing-slips/basic/parts/table-order-info.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/table-order-info.js +37 -0
- package/dist/services/templates/packing-slips/basic/small.d.ts +8 -0
- package/dist/services/templates/packing-slips/basic/small.js +54 -0
- package/dist/services/types/api.d.ts +14 -0
- package/dist/services/types/api.js +14 -0
- package/dist/services/types/constants.d.ts +2 -0
- package/dist/services/types/constants.js +17 -0
- package/dist/services/types/template-kind.d.ts +8 -0
- package/dist/services/types/template-kind.js +25 -0
- package/dist/services/utils/currency.d.ts +1 -0
- package/dist/services/utils/currency.js +19 -0
- package/dist/ui-components/actions-dropdown/actions-dropdown.d.ts +4 -0
- package/dist/ui-components/actions-dropdown/actions-dropdown.js +18 -0
- package/dist/ui-components/actions-dropdown/invoice/button-generate-invoice.d.ts +5 -0
- package/dist/ui-components/actions-dropdown/invoice/button-generate-invoice.js +56 -0
- package/dist/ui-components/actions-dropdown/invoice/button-view-invoice.d.ts +5 -0
- package/dist/ui-components/actions-dropdown/invoice/button-view-invoice.js +64 -0
- package/dist/ui-components/actions-dropdown/packing-slip/button-generate-packing-slip.d.ts +5 -0
- package/dist/ui-components/actions-dropdown/packing-slip/button-generate-packing-slip.js +56 -0
- package/dist/ui-components/actions-dropdown/packing-slip/button-view-packing-slip.d.ts +5 -0
- package/dist/ui-components/actions-dropdown/packing-slip/button-view-packing-slip.js +64 -0
- package/dist/ui-components/index.d.ts +3 -0
- package/dist/ui-components/index.js +21 -0
- package/dist/ui-components/orders/order-table/invoice-number-from-order.d.ts +4 -0
- package/dist/ui-components/orders/order-table/invoice-number-from-order.js +30 -0
- package/dist/ui-components/orders/order-table/packing-slip-number.d.ts +4 -0
- package/dist/ui-components/orders/order-table/packing-slip-number.js +30 -0
- package/dist/ui-components/orders/order-table/use-columns.d.ts +45 -0
- package/dist/ui-components/orders/order-table/use-columns.js +186 -0
- package/dist/ui-components/orders/order-table/use-orders.d.ts +9 -0
- package/dist/ui-components/orders/order-table/use-orders.js +146 -0
- package/dist/ui-components/orders/order-table/utils/currencies.d.ts +14 -0
- package/dist/ui-components/orders/order-table/utils/currencies.js +1077 -0
- package/dist/ui-components/orders/order-table/utils/time.d.ts +10 -0
- package/dist/ui-components/orders/order-table/utils/time.js +54 -0
- package/dist/ui-components/orders/order-table.d.ts +8 -0
- package/dist/ui-components/orders/order-table.js +92 -0
- package/dist/ui-components/settings/settings-address.d.ts +2 -0
- package/dist/ui-components/settings/settings-address.js +66 -0
- package/dist/ui-components/settings/settings-invoice-display-number.d.ts +5 -0
- package/dist/ui-components/settings/settings-invoice-display-number.js +29 -0
- package/dist/ui-components/settings/settings-invoice.d.ts +2 -0
- package/dist/ui-components/settings/settings-invoice.js +116 -0
- package/dist/ui-components/settings/settings-logo.d.ts +2 -0
- package/dist/ui-components/settings/settings-logo.js +86 -0
- package/dist/ui-components/tabs/orders-tab.d.ts +1 -0
- package/dist/ui-components/tabs/orders-tab.js +28 -0
- package/dist/ui-components/tabs/pro-tab.d.ts +1 -0
- package/dist/ui-components/tabs/pro-tab.js +23 -0
- package/dist/ui-components/tabs/settings-tab.d.ts +1 -0
- package/dist/ui-components/tabs/settings-tab.js +28 -0
- package/dist/ui-components/tabs/templates-tab/templates-invoice-tab.d.ts +1 -0
- package/dist/ui-components/tabs/templates-tab/templates-invoice-tab.js +92 -0
- package/dist/ui-components/tabs/templates-tab/templates-packing-slip-tab.d.ts +1 -0
- package/dist/ui-components/tabs/templates-tab/templates-packing-slip-tab.js +92 -0
- package/dist/ui-components/tabs/templates-tab/templates-tab.d.ts +1 -0
- package/dist/ui-components/tabs/templates-tab/templates-tab.js +24 -0
- package/dist/ui-components/types/api.d.ts +54 -0
- package/dist/ui-components/types/api.js +14 -0
- package/dist/ui-components/types/invoice.d.ts +8 -0
- package/dist/ui-components/types/invoice.js +14 -0
- package/dist/ui-components/types/packing-slip.d.ts +8 -0
- package/dist/ui-components/types/packing-slip.js +14 -0
- package/dist/ui-components/types/template-kind.d.ts +8 -0
- package/dist/ui-components/types/template-kind.js +25 -0
- package/index.js +50 -0
- package/package.json +94 -0
- package/tsconfig.admin.json +8 -0
- package/tsconfig.json +32 -0
- package/tsconfig.server.json +8 -0
- package/tsconfig.spec.json +5 -0
@@ -0,0 +1,56 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
4
|
+
/*
|
5
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
6
|
+
*
|
7
|
+
* MIT License
|
8
|
+
*
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
* See the License for the specific language governing permissions and
|
13
|
+
* limitations under the License.
|
14
|
+
*/
|
15
|
+
const icons_1 = require("@medusajs/icons");
|
16
|
+
const ui_1 = require("@medusajs/ui");
|
17
|
+
const medusa_react_1 = require("medusa-react");
|
18
|
+
const GenerateInvoiceDropdownButton = ({ order }) => {
|
19
|
+
const { mutate } = (0, medusa_react_1.useAdminCustomPost)(`/invoice`, ["invoice"]);
|
20
|
+
const generate = () => {
|
21
|
+
const id = ui_1.toast.loading("Invoice", {
|
22
|
+
description: "Generating invoice...",
|
23
|
+
duration: Infinity
|
24
|
+
});
|
25
|
+
mutate({
|
26
|
+
orderId: order.id
|
27
|
+
}, {
|
28
|
+
onSuccess: ({ response, buffer }) => {
|
29
|
+
if (response.status == 201 && buffer) {
|
30
|
+
const anyBuffer = buffer;
|
31
|
+
const blob = new Blob([new Uint8Array(anyBuffer.data)], { type: 'application/pdf' });
|
32
|
+
ui_1.toast.dismiss();
|
33
|
+
const pdfURL = URL.createObjectURL(blob);
|
34
|
+
window.open(pdfURL, '_blank');
|
35
|
+
}
|
36
|
+
else {
|
37
|
+
ui_1.toast.dismiss();
|
38
|
+
ui_1.toast.error("Invoice", {
|
39
|
+
description: 'Problem happened when generating invoice',
|
40
|
+
});
|
41
|
+
}
|
42
|
+
},
|
43
|
+
onError: (error) => {
|
44
|
+
var _a, _b;
|
45
|
+
ui_1.toast.dismiss();
|
46
|
+
const trueError = error;
|
47
|
+
ui_1.toast.error("Invoice", {
|
48
|
+
description: (_b = (_a = trueError === null || trueError === void 0 ? void 0 : trueError.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message,
|
49
|
+
});
|
50
|
+
}
|
51
|
+
});
|
52
|
+
};
|
53
|
+
return ((0, jsx_runtime_1.jsxs)(ui_1.DropdownMenu.Item, { className: "gap-x-2", onClick: generate, children: [(0, jsx_runtime_1.jsx)(icons_1.FlyingBox, {}), "Generate new invoice"] }));
|
54
|
+
};
|
55
|
+
exports.default = GenerateInvoiceDropdownButton;
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdlbmVyYXRlLWludm9pY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdWktY29tcG9uZW50cy9hY3Rpb25zLWRyb3Bkb3duL2ludm9pY2UvYnV0dG9uLWdlbmVyYXRlLWludm9pY2UudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFFSCwyQ0FBMkM7QUFFM0MscUNBQWtEO0FBQ2xELCtDQUFrRDtBQU9sRCxNQUFNLDZCQUE2QixHQUFHLENBQUMsRUFBRSxLQUFLLEVBQW9CLEVBQUUsRUFBRTtJQUVwRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSxpQ0FBa0IsRUFLbkMsVUFBVSxFQUNWLENBQUMsU0FBUyxDQUFDLENBQ1osQ0FBQTtJQUNELE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRTtRQUNwQixNQUFNLEVBQUUsR0FBRyxVQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNsQyxXQUFXLEVBQUUsdUJBQXVCO1lBQ3BDLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQTtRQUNGLE1BQU0sQ0FDSjtZQUNFLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtTQUNsQixFQUFFO1lBQ0QsU0FBUyxFQUFFLENBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUU7b0JBQ3BDLE1BQU0sU0FBUyxHQUFHLE1BQWEsQ0FBQztvQkFDaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBRSxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUcsRUFBRSxFQUFFLElBQUksRUFBRyxpQkFBaUIsRUFBQyxDQUFDLENBQUM7b0JBQ3hGLFVBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDaEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7aUJBQy9CO3FCQUFNO29CQUNMLFVBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDaEIsVUFBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUU7d0JBQ3JCLFdBQVcsRUFBRSwwQ0FBMEM7cUJBQ3hELENBQUMsQ0FBQTtpQkFDSDtZQUNILENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTs7Z0JBQ2pCLFVBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxTQUFTLEdBQUcsS0FBWSxDQUFDO2dCQUMvQixVQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtvQkFDckIsV0FBVyxFQUFFLE1BQUEsTUFBQSxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUUsUUFBUSwwQ0FBRSxJQUFJLDBDQUFFLE9BQU87aUJBQ2hELENBQUMsQ0FBQTtZQUNKLENBQUM7U0FDRixDQUNGLENBQUE7SUFDSCxDQUFDLENBQUM7SUFFRixPQUFPLENBQ0wsd0JBQUMsaUJBQVksQ0FBQyxJQUFJLElBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUUsUUFBUSxhQUN0RCx1QkFBQyxpQkFBUyxLQUFFLDRCQUVNLENBQ3JCLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxrQkFBZSw2QkFBNkIsQ0FBQSJ9
|
@@ -0,0 +1,64 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
4
|
+
/*
|
5
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
6
|
+
*
|
7
|
+
* MIT License
|
8
|
+
*
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
* See the License for the specific language governing permissions and
|
13
|
+
* limitations under the License.
|
14
|
+
*/
|
15
|
+
const icons_1 = require("@medusajs/icons");
|
16
|
+
const ui_1 = require("@medusajs/ui");
|
17
|
+
const medusa_react_1 = require("medusa-react");
|
18
|
+
const ViewInvoiceDropdownButton = ({ order }) => {
|
19
|
+
const { data, refetch } = (0, medusa_react_1.useAdminCustomQuery)("/invoice", [], {
|
20
|
+
invoiceId: order.metadata['invoice_id'],
|
21
|
+
includeBuffer: true
|
22
|
+
}, {
|
23
|
+
enabled: false
|
24
|
+
});
|
25
|
+
const handleClick = async () => {
|
26
|
+
ui_1.toast.loading("Invoice", {
|
27
|
+
description: "Preparing invoice...",
|
28
|
+
duration: Infinity,
|
29
|
+
});
|
30
|
+
try {
|
31
|
+
const result = await refetch();
|
32
|
+
if (result.data && result.data.buffer) {
|
33
|
+
ui_1.toast.dismiss();
|
34
|
+
openPdf(result.data);
|
35
|
+
}
|
36
|
+
else {
|
37
|
+
ui_1.toast.dismiss();
|
38
|
+
ui_1.toast.error("Invoice", {
|
39
|
+
description: 'Problem happened when preparing invoice',
|
40
|
+
});
|
41
|
+
}
|
42
|
+
}
|
43
|
+
catch (error) {
|
44
|
+
ui_1.toast.dismiss();
|
45
|
+
ui_1.toast.error("Invoice", {
|
46
|
+
description: error,
|
47
|
+
});
|
48
|
+
}
|
49
|
+
finally {
|
50
|
+
ui_1.toast.dismiss();
|
51
|
+
}
|
52
|
+
};
|
53
|
+
const openPdf = (invoiceResult) => {
|
54
|
+
if (invoiceResult && invoiceResult.buffer) {
|
55
|
+
const anyBuffer = invoiceResult.buffer;
|
56
|
+
const blob = new Blob([new Uint8Array(anyBuffer.data)], { type: 'application/pdf' });
|
57
|
+
const pdfURL = URL.createObjectURL(blob);
|
58
|
+
window.open(pdfURL, '_blank');
|
59
|
+
}
|
60
|
+
};
|
61
|
+
return ((0, jsx_runtime_1.jsxs)(ui_1.DropdownMenu.Item, { className: "gap-x-2", onClick: handleClick, disabled: (order.metadata['invoice_id'] == undefined), children: [(0, jsx_runtime_1.jsx)(icons_1.DocumentText, {}), "View invoice"] }));
|
62
|
+
};
|
63
|
+
exports.default = ViewInvoiceDropdownButton;
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXZpZXctaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91aS1jb21wb25lbnRzL2FjdGlvbnMtZHJvcGRvd24vaW52b2ljZS9idXR0b24tdmlldy1pbnZvaWNlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7OztHQVVHO0FBRUgsMkNBQThDO0FBRTlDLHFDQUFrRDtBQUNsRCwrQ0FBbUQ7QUFRbkQsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFvQixFQUFFLEVBQUU7SUFFaEUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFBLGtDQUFtQixFQUV6QyxVQUFVLEVBQ1YsRUFBRSxFQUNGO1FBQ0UsU0FBUyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFXO1FBQ2pELGFBQWEsRUFBRSxJQUFJO0tBQ3BCLEVBQ0Q7UUFDRSxPQUFPLEVBQUUsS0FBSztLQUNmLENBQ0YsQ0FBQTtJQUNILE1BQU0sV0FBVyxHQUFHLEtBQUssSUFBSSxFQUFFO1FBQzdCLFVBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3ZCLFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSTtZQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxFQUFFLENBQUM7WUFDL0IsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNyQyxVQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0wsVUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNoQixVQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtvQkFDckIsV0FBVyxFQUFFLHlDQUF5QztpQkFDdkQsQ0FBQyxDQUFBO2FBQ0g7U0FDRjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsVUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hCLFVBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO2dCQUNyQixXQUFXLEVBQUUsS0FBSzthQUNuQixDQUFDLENBQUE7U0FDSDtnQkFBUztZQUNSLFVBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUMsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLENBQUMsYUFBNkIsRUFBRSxFQUFFO1FBQ2hELElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDekMsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLE1BQWEsQ0FBQztZQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFFLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFHLGlCQUFpQixFQUFDLENBQUMsQ0FBQztZQUN4RixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUNMLHdCQUFDLGlCQUFZLENBQUMsSUFBSSxJQUFDLFNBQVMsRUFBQyxTQUFTLEVBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQ3BCLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksU0FBUyxDQUFDLGFBQ3JELHVCQUFDLG9CQUFZLEtBQUcsb0JBRUUsQ0FDckIsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELGtCQUFlLHlCQUF5QixDQUFBIn0=
|
@@ -0,0 +1,56 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
4
|
+
/*
|
5
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
6
|
+
*
|
7
|
+
* MIT License
|
8
|
+
*
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
* See the License for the specific language governing permissions and
|
13
|
+
* limitations under the License.
|
14
|
+
*/
|
15
|
+
const icons_1 = require("@medusajs/icons");
|
16
|
+
const ui_1 = require("@medusajs/ui");
|
17
|
+
const medusa_react_1 = require("medusa-react");
|
18
|
+
const GeneratePackingSlipDropdownButton = ({ order }) => {
|
19
|
+
const { mutate } = (0, medusa_react_1.useAdminCustomPost)(`/packing-slip`, ["packing-slip"]);
|
20
|
+
const generate = () => {
|
21
|
+
const id = ui_1.toast.loading("Packing slip", {
|
22
|
+
description: "Generating packing slip...",
|
23
|
+
duration: Infinity
|
24
|
+
});
|
25
|
+
mutate({
|
26
|
+
orderId: order.id
|
27
|
+
}, {
|
28
|
+
onSuccess: ({ response, buffer }) => {
|
29
|
+
if (response.status == 201 && buffer) {
|
30
|
+
const anyBuffer = buffer;
|
31
|
+
const blob = new Blob([new Uint8Array(anyBuffer.data)], { type: 'application/pdf' });
|
32
|
+
ui_1.toast.dismiss();
|
33
|
+
const pdfURL = URL.createObjectURL(blob);
|
34
|
+
window.open(pdfURL, '_blank');
|
35
|
+
}
|
36
|
+
else {
|
37
|
+
ui_1.toast.dismiss();
|
38
|
+
ui_1.toast.error("Packing slip", {
|
39
|
+
description: 'Problem happened when generating',
|
40
|
+
});
|
41
|
+
}
|
42
|
+
},
|
43
|
+
onError: (error) => {
|
44
|
+
var _a, _b;
|
45
|
+
ui_1.toast.dismiss();
|
46
|
+
const trueError = error;
|
47
|
+
ui_1.toast.error("Packing slip", {
|
48
|
+
description: (_b = (_a = trueError === null || trueError === void 0 ? void 0 : trueError.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message,
|
49
|
+
});
|
50
|
+
}
|
51
|
+
});
|
52
|
+
};
|
53
|
+
return ((0, jsx_runtime_1.jsxs)(ui_1.DropdownMenu.Item, { className: "gap-x-2", onClick: generate, children: [(0, jsx_runtime_1.jsx)(icons_1.FlyingBox, {}), "Generate new packing slip"] }));
|
54
|
+
};
|
55
|
+
exports.default = GeneratePackingSlipDropdownButton;
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdlbmVyYXRlLXBhY2tpbmctc2xpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91aS1jb21wb25lbnRzL2FjdGlvbnMtZHJvcGRvd24vcGFja2luZy1zbGlwL2J1dHRvbi1nZW5lcmF0ZS1wYWNraW5nLXNsaXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFFSCwyQ0FBMkM7QUFFM0MscUNBQWtEO0FBQ2xELCtDQUFrRDtBQU9sRCxNQUFNLGlDQUFpQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQW9CLEVBQUUsRUFBRTtJQUV4RSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSxpQ0FBa0IsRUFLbkMsZUFBZSxFQUNmLENBQUMsY0FBYyxDQUFDLENBQ2pCLENBQUE7SUFDRCxNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUU7UUFDcEIsTUFBTSxFQUFFLEdBQUcsVUFBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUU7WUFDdkMsV0FBVyxFQUFFLDRCQUE0QjtZQUN6QyxRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUE7UUFDRixNQUFNLENBQ0o7WUFDRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7U0FDbEIsRUFBRTtZQUNELFNBQVMsRUFBRSxDQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7Z0JBQ25DLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxFQUFFO29CQUNwQyxNQUFNLFNBQVMsR0FBRyxNQUFhLENBQUM7b0JBQ2hDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUUsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUcsaUJBQWlCLEVBQUMsQ0FBQyxDQUFDO29CQUN4RixVQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2hCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2lCQUMvQjtxQkFBTTtvQkFDTCxVQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2hCLFVBQUssQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFO3dCQUMxQixXQUFXLEVBQUUsa0NBQWtDO3FCQUNoRCxDQUFDLENBQUE7aUJBQ0g7WUFDSCxDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7O2dCQUNqQixVQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sU0FBUyxHQUFHLEtBQVksQ0FBQztnQkFDL0IsVUFBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUU7b0JBQzFCLFdBQVcsRUFBRSxNQUFBLE1BQUEsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLFFBQVEsMENBQUUsSUFBSSwwQ0FBRSxPQUFPO2lCQUNoRCxDQUFDLENBQUE7WUFDSixDQUFDO1NBQ0YsQ0FDRixDQUFBO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUNMLHdCQUFDLGlCQUFZLENBQUMsSUFBSSxJQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFFLFFBQVEsYUFDdEQsdUJBQUMsaUJBQVMsS0FBRSxpQ0FFTSxDQUNyQixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsa0JBQWUsaUNBQWlDLENBQUEifQ==
|
@@ -0,0 +1,64 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
4
|
+
/*
|
5
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
6
|
+
*
|
7
|
+
* MIT License
|
8
|
+
*
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
* See the License for the specific language governing permissions and
|
13
|
+
* limitations under the License.
|
14
|
+
*/
|
15
|
+
const icons_1 = require("@medusajs/icons");
|
16
|
+
const ui_1 = require("@medusajs/ui");
|
17
|
+
const medusa_react_1 = require("medusa-react");
|
18
|
+
const ViewPackingSlipDropdownButton = ({ order }) => {
|
19
|
+
const { data, refetch } = (0, medusa_react_1.useAdminCustomQuery)("/packing-slip", [], {
|
20
|
+
id: order.metadata['packing_slip_id'],
|
21
|
+
includeBuffer: true
|
22
|
+
}, {
|
23
|
+
enabled: false
|
24
|
+
});
|
25
|
+
const handleClick = async () => {
|
26
|
+
const id = ui_1.toast.loading("Packing slip", {
|
27
|
+
description: "Preparing...",
|
28
|
+
duration: Infinity
|
29
|
+
});
|
30
|
+
try {
|
31
|
+
const result = await refetch();
|
32
|
+
if (result.data && result.data.buffer) {
|
33
|
+
ui_1.toast.dismiss();
|
34
|
+
openPdf(result.data);
|
35
|
+
}
|
36
|
+
else {
|
37
|
+
ui_1.toast.dismiss();
|
38
|
+
ui_1.toast.error("Packing slip", {
|
39
|
+
description: 'Problem happened when preparing',
|
40
|
+
});
|
41
|
+
}
|
42
|
+
}
|
43
|
+
catch (error) {
|
44
|
+
ui_1.toast.dismiss();
|
45
|
+
ui_1.toast.error("Packing slip", {
|
46
|
+
description: error,
|
47
|
+
});
|
48
|
+
}
|
49
|
+
finally {
|
50
|
+
ui_1.toast.dismiss();
|
51
|
+
}
|
52
|
+
};
|
53
|
+
const openPdf = (packingSlipResult) => {
|
54
|
+
if (packingSlipResult && packingSlipResult.buffer) {
|
55
|
+
const anyBuffer = packingSlipResult.buffer;
|
56
|
+
const blob = new Blob([new Uint8Array(anyBuffer.data)], { type: 'application/pdf' });
|
57
|
+
const pdfURL = URL.createObjectURL(blob);
|
58
|
+
window.open(pdfURL, '_blank');
|
59
|
+
}
|
60
|
+
};
|
61
|
+
return ((0, jsx_runtime_1.jsxs)(ui_1.DropdownMenu.Item, { className: "gap-x-2", onClick: handleClick, disabled: (order.metadata['packing_slip_id'] == undefined), children: [(0, jsx_runtime_1.jsx)(icons_1.DocumentText, {}), "View packing slip"] }));
|
62
|
+
};
|
63
|
+
exports.default = ViewPackingSlipDropdownButton;
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXZpZXctcGFja2luZy1zbGlwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3VpLWNvbXBvbmVudHMvYWN0aW9ucy1kcm9wZG93bi9wYWNraW5nLXNsaXAvYnV0dG9uLXZpZXctcGFja2luZy1zbGlwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7OztHQVVHO0FBRUgsMkNBQThDO0FBRTlDLHFDQUFrRDtBQUNsRCwrQ0FBbUQ7QUFRbkQsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFvQixFQUFFLEVBQUU7SUFFcEUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFBLGtDQUFtQixFQUV6QyxlQUFlLEVBQ2YsRUFBRSxFQUNGO1FBQ0UsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQVc7UUFDL0MsYUFBYSxFQUFFLElBQUk7S0FDcEIsRUFDRDtRQUNFLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FDRixDQUFBO0lBQ0gsTUFBTSxXQUFXLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDN0IsTUFBTSxFQUFFLEdBQUcsVUFBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUU7WUFDdkMsV0FBVyxFQUFFLGNBQWM7WUFDM0IsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFBO1FBQ0YsSUFBSTtZQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxFQUFFLENBQUM7WUFDL0IsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNyQyxVQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0wsVUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNoQixVQUFLLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRTtvQkFDMUIsV0FBVyxFQUFFLGlDQUFpQztpQkFDL0MsQ0FBQyxDQUFBO2FBQ0g7U0FDRjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsVUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hCLFVBQUssQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFO2dCQUMxQixXQUFXLEVBQUUsS0FBSzthQUNuQixDQUFDLENBQUE7U0FDSDtnQkFBUztZQUNSLFVBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUMsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLENBQUMsaUJBQXFDLEVBQUUsRUFBRTtRQUN4RCxJQUFJLGlCQUFpQixJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtZQUNqRCxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFhLENBQUM7WUFDbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBRSxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUcsRUFBRSxFQUFFLElBQUksRUFBRyxpQkFBaUIsRUFBQyxDQUFDLENBQUM7WUFDeEYsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUMsQ0FBQztJQUVGLE9BQU8sQ0FDTCx3QkFBQyxpQkFBWSxDQUFDLElBQUksSUFBQyxTQUFTLEVBQUMsU0FBUyxFQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUNwQixRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksU0FBUyxDQUFDLGFBQzFELHVCQUFDLG9CQUFZLEtBQUcseUJBRUUsQ0FDckIsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELGtCQUFlLDZCQUE2QixDQUFBIn0=
|
@@ -0,0 +1,21 @@
|
|
1
|
+
"use strict";
|
2
|
+
/*
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
4
|
+
*
|
5
|
+
* MIT License
|
6
|
+
*
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
10
|
+
* See the License for the specific language governing permissions and
|
11
|
+
* limitations under the License.
|
12
|
+
*/
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
14
|
+
exports.SettingsTab = exports.TemplatesTab = exports.OrdersTab = void 0;
|
15
|
+
var orders_tab_1 = require("./tabs/orders-tab");
|
16
|
+
Object.defineProperty(exports, "OrdersTab", { enumerable: true, get: function () { return orders_tab_1.OrdersTab; } });
|
17
|
+
var templates_tab_1 = require("./tabs/templates-tab/templates-tab");
|
18
|
+
Object.defineProperty(exports, "TemplatesTab", { enumerable: true, get: function () { return templates_tab_1.TemplatesTab; } });
|
19
|
+
var settings_tab_1 = require("./tabs/settings-tab");
|
20
|
+
Object.defineProperty(exports, "SettingsTab", { enumerable: true, get: function () { return settings_tab_1.SettingsTab; } });
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdWktY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7R0FVRzs7O0FBRUgsZ0RBQThDO0FBQXJDLHVHQUFBLFNBQVMsT0FBQTtBQUNsQixvRUFBa0U7QUFBekQsNkdBQUEsWUFBWSxPQUFBO0FBQ3JCLG9EQUFrRDtBQUF6QywyR0FBQSxXQUFXLE9BQUEifQ==
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
4
|
+
/*
|
5
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
6
|
+
*
|
7
|
+
* MIT License
|
8
|
+
*
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
* See the License for the specific language governing permissions and
|
13
|
+
* limitations under the License.
|
14
|
+
*/
|
15
|
+
const medusa_react_1 = require("medusa-react");
|
16
|
+
const material_1 = require("@mui/material");
|
17
|
+
const InvoiceNumberFromOrder = ({ invoiceId }) => {
|
18
|
+
const { data, isLoading } = (0, medusa_react_1.useAdminCustomQuery)("/invoice", [''], {
|
19
|
+
invoiceId: invoiceId
|
20
|
+
});
|
21
|
+
if (isLoading) {
|
22
|
+
return ((0, jsx_runtime_1.jsx)(material_1.CircularProgress, { size: 8 }));
|
23
|
+
}
|
24
|
+
;
|
25
|
+
if (data && data.invoice) {
|
26
|
+
return ((0, jsx_runtime_1.jsx)("p", { className: "text-grey-90 group-hover:text-violet-60 pl-2", children: `Invoice: ${data.invoice.display_number}` }));
|
27
|
+
}
|
28
|
+
};
|
29
|
+
exports.default = InvoiceNumberFromOrder;
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1udW1iZXItZnJvbS1vcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91aS1jb21wb25lbnRzL29yZGVycy9vcmRlci10YWJsZS9pbnZvaWNlLW51bWJlci1mcm9tLW9yZGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7OztHQVVHO0FBRUgsK0NBQW1EO0FBRW5ELDRDQUFpRDtBQU1qRCxNQUFNLHNCQUFzQixHQUFHLENBQUMsRUFBRSxTQUFTLEVBQXdCLEVBQUUsRUFBRTtJQUVyRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUEsa0NBQW1CLEVBRTNDLFVBQVUsRUFDVixDQUFDLEVBQUUsQ0FBQyxFQUNKO1FBQ0UsU0FBUyxFQUFFLFNBQVM7S0FDckIsQ0FDRixDQUFBO0lBRUgsSUFBSSxTQUFTLEVBQUU7UUFDYixPQUFPLENBQ0wsdUJBQUMsMkJBQWdCLElBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUM3QixDQUFBO0tBQ0Y7SUFBQSxDQUFDO0lBRUYsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUN4QixPQUFPLENBQ0wsOEJBQUcsU0FBUyxFQUFDLDhDQUE4QyxZQUN4RCxZQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQ3hDLENBQ0wsQ0FBQTtLQUNGO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsa0JBQWUsc0JBQXNCLENBQUEifQ==
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
4
|
+
/*
|
5
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
6
|
+
*
|
7
|
+
* MIT License
|
8
|
+
*
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
* See the License for the specific language governing permissions and
|
13
|
+
* limitations under the License.
|
14
|
+
*/
|
15
|
+
const medusa_react_1 = require("medusa-react");
|
16
|
+
const material_1 = require("@mui/material");
|
17
|
+
const PackingSlipNumber = ({ packingSlipId }) => {
|
18
|
+
const { data, isLoading } = (0, medusa_react_1.useAdminCustomQuery)("/packing-slip", [''], {
|
19
|
+
id: packingSlipId
|
20
|
+
});
|
21
|
+
if (isLoading) {
|
22
|
+
return ((0, jsx_runtime_1.jsx)(material_1.CircularProgress, { size: 8 }));
|
23
|
+
}
|
24
|
+
;
|
25
|
+
if (data && data.packingSlip) {
|
26
|
+
return ((0, jsx_runtime_1.jsx)("p", { className: "text-grey-90 group-hover:text-violet-60 pl-2", children: `Packing slip: ${data.packingSlip.display_number}` }));
|
27
|
+
}
|
28
|
+
};
|
29
|
+
exports.default = PackingSlipNumber;
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2luZy1zbGlwLW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91aS1jb21wb25lbnRzL29yZGVycy9vcmRlci10YWJsZS9wYWNraW5nLXNsaXAtbnVtYmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7OztHQVVHO0FBRUgsK0NBQW1EO0FBRW5ELDRDQUFpRDtBQU1qRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsRUFBRSxhQUFhLEVBQTRCLEVBQUUsRUFBRTtJQUV4RSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUEsa0NBQW1CLEVBRTNDLGVBQWUsRUFDZixDQUFDLEVBQUUsQ0FBQyxFQUNKO1FBQ0UsRUFBRSxFQUFFLGFBQWE7S0FDbEIsQ0FDRixDQUFBO0lBRUgsSUFBSSxTQUFTLEVBQUU7UUFDYixPQUFPLENBQ0wsdUJBQUMsMkJBQWdCLElBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUM3QixDQUFBO0tBQ0Y7SUFBQSxDQUFDO0lBRUYsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUM1QixPQUFPLENBQ0wsOEJBQUcsU0FBUyxFQUFDLDhDQUE4QyxZQUN4RCxpQkFBaUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsR0FDakQsQ0FDTCxDQUFBO0tBQ0Y7QUFDSCxDQUFDLENBQUE7QUFFRCxrQkFBZSxpQkFBaUIsQ0FBQSJ9
|
@@ -0,0 +1,45 @@
|
|
1
|
+
/**
|
2
|
+
* Checks the list of currencies and returns the divider/multiplier
|
3
|
+
* that should be used to calculate the persited and display amount.
|
4
|
+
* @param currency
|
5
|
+
* @return {number}
|
6
|
+
*/
|
7
|
+
export declare function getDecimalDigits(currency: string): number;
|
8
|
+
export declare function normalizeAmount(currency: string, amount: number): number;
|
9
|
+
declare const useOrderTableColums: () => ({
|
10
|
+
Header: import("react/jsx-runtime").JSX.Element;
|
11
|
+
accessor: string;
|
12
|
+
Cell: ({ cell: { value } }: {
|
13
|
+
cell: {
|
14
|
+
value: any;
|
15
|
+
};
|
16
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
17
|
+
id?: undefined;
|
18
|
+
} | {
|
19
|
+
Header: string;
|
20
|
+
accessor: string;
|
21
|
+
Cell: ({ cell: { value } }: {
|
22
|
+
cell: {
|
23
|
+
value: any;
|
24
|
+
};
|
25
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
26
|
+
id?: undefined;
|
27
|
+
} | {
|
28
|
+
Header: () => import("react/jsx-runtime").JSX.Element;
|
29
|
+
accessor: string;
|
30
|
+
Cell: ({ row, cell: { value } }: {
|
31
|
+
row: any;
|
32
|
+
cell: {
|
33
|
+
value: any;
|
34
|
+
};
|
35
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
36
|
+
id?: undefined;
|
37
|
+
} | {
|
38
|
+
Header: () => import("react/jsx-runtime").JSX.Element;
|
39
|
+
id: string;
|
40
|
+
Cell: ({ row }: {
|
41
|
+
row: any;
|
42
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
43
|
+
accessor?: undefined;
|
44
|
+
})[][];
|
45
|
+
export default useOrderTableColums;
|
@@ -0,0 +1,186 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.normalizeAmount = exports.getDecimalDigits = void 0;
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
8
|
+
const moment_1 = __importDefault(require("moment"));
|
9
|
+
const react_1 = require("react");
|
10
|
+
const ui_1 = require("@medusajs/ui");
|
11
|
+
const currencies_1 = require("./utils/currencies");
|
12
|
+
const material_1 = require("@mui/material");
|
13
|
+
const actions_dropdown_1 = require("../../actions-dropdown/actions-dropdown");
|
14
|
+
const invoice_number_from_order_1 = __importDefault(require("./invoice-number-from-order"));
|
15
|
+
const packing_slip_number_1 = __importDefault(require("./packing-slip-number"));
|
16
|
+
const icons_1 = require("@medusajs/icons");
|
17
|
+
const Link_1 = __importDefault(require("@mui/material/Link"));
|
18
|
+
/**
|
19
|
+
* Checks the list of currencies and returns the divider/multiplier
|
20
|
+
* that should be used to calculate the persited and display amount.
|
21
|
+
* @param currency
|
22
|
+
* @return {number}
|
23
|
+
*/
|
24
|
+
function getDecimalDigits(currency) {
|
25
|
+
const divisionDigits = currencies_1.currencies[currency.toUpperCase()].decimal_digits;
|
26
|
+
return Math.pow(10, divisionDigits);
|
27
|
+
}
|
28
|
+
exports.getDecimalDigits = getDecimalDigits;
|
29
|
+
function normalizeAmount(currency, amount) {
|
30
|
+
const divisor = getDecimalDigits(currency);
|
31
|
+
return Math.floor(amount) / divisor;
|
32
|
+
}
|
33
|
+
exports.normalizeAmount = normalizeAmount;
|
34
|
+
function formatAmountWithSymbol({ amount, currency, digits, tax = 0, }) {
|
35
|
+
let locale = "en-US";
|
36
|
+
// We need this to display 'Kr' instead of 'DKK'
|
37
|
+
if (currency.toLowerCase() === "dkk") {
|
38
|
+
locale = "da-DK";
|
39
|
+
}
|
40
|
+
digits = digits !== null && digits !== void 0 ? digits : currencies_1.currencies[currency.toUpperCase()].decimal_digits;
|
41
|
+
const normalizedAmount = normalizeAmount(currency, amount);
|
42
|
+
const taxRate = tax instanceof Array ? tax.reduce((acc, curr) => acc + curr.rate, 0) : tax;
|
43
|
+
return new Intl.NumberFormat(locale, {
|
44
|
+
style: "currency",
|
45
|
+
currency,
|
46
|
+
minimumFractionDigits: digits,
|
47
|
+
}).format(normalizedAmount * (1 + taxRate / 100));
|
48
|
+
}
|
49
|
+
const useOrderTableColums = () => {
|
50
|
+
const decideStatus = (status) => {
|
51
|
+
switch (status) {
|
52
|
+
case "captured":
|
53
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "green", children: "Paid" }));
|
54
|
+
case "awaiting":
|
55
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "grey", children: "Awaiting" }));
|
56
|
+
case "requires_action":
|
57
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "red", children: "Requires action" }));
|
58
|
+
case "canceled":
|
59
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "orange", children: "Canceled" }));
|
60
|
+
default:
|
61
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "purple", children: "N/A" }));
|
62
|
+
}
|
63
|
+
};
|
64
|
+
const decideFullfillmentStatus = (status) => {
|
65
|
+
switch (status) {
|
66
|
+
case "not_fulfilled":
|
67
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "grey", children: "Not fulfilled" }));
|
68
|
+
case "partially_fulfilled":
|
69
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "blue", children: "Partially fulfilled" }));
|
70
|
+
case "fulfilled":
|
71
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "green", children: "Fulfilled" }));
|
72
|
+
case "partially_shipped":
|
73
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "blue", children: "Partially shipped" }));
|
74
|
+
case "shipped":
|
75
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "green", children: "Shipped" }));
|
76
|
+
case "partially_returned":
|
77
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "blue", children: "Partially returned" }));
|
78
|
+
case "returned":
|
79
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "green", children: "Returned" }));
|
80
|
+
case "canceled":
|
81
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "red", children: "Canceled" }));
|
82
|
+
case "requires_action":
|
83
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "purple", children: "Requires action" }));
|
84
|
+
default:
|
85
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.StatusBadge, { color: "grey", children: "N/A" }));
|
86
|
+
}
|
87
|
+
};
|
88
|
+
const columns = (0, react_1.useMemo)(() => [
|
89
|
+
{
|
90
|
+
Header: (0, jsx_runtime_1.jsx)("div", { className: "pl-2", children: "Order" }),
|
91
|
+
accessor: "display_id",
|
92
|
+
Cell: ({ cell: { value } }) => ((0, jsx_runtime_1.jsx)("p", { className: "text-grey-90 group-hover:text-violet-60 pl-2", children: `#${value}` })),
|
93
|
+
},
|
94
|
+
{
|
95
|
+
Header: ("Date added"),
|
96
|
+
accessor: "created_at",
|
97
|
+
Cell: ({ cell: { value } }) => {
|
98
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.Tooltip, { content: (0, jsx_runtime_1.jsx)(ui_1.Text, { children: (0, moment_1.default)(value).format("DD MMM YYYY hh:mm a") }), children: (0, jsx_runtime_1.jsx)("p", { className: "text-grey-90 group-hover:text-violet-60 min-w-[40px]", children: (0, moment_1.default)(value).format("DD MMM YYYY") }) }));
|
99
|
+
}
|
100
|
+
},
|
101
|
+
{
|
102
|
+
Header: ("Customer"),
|
103
|
+
accessor: "customer",
|
104
|
+
Cell: ({ row, cell: { value } }) => {
|
105
|
+
var _a, _b;
|
106
|
+
const customer = {
|
107
|
+
first_name: (value === null || value === void 0 ? void 0 : value.first_name) ||
|
108
|
+
((_a = row.original.shipping_address) === null || _a === void 0 ? void 0 : _a.first_name),
|
109
|
+
last_name: (value === null || value === void 0 ? void 0 : value.last_name) || ((_b = row.original.shipping_address) === null || _b === void 0 ? void 0 : _b.last_name),
|
110
|
+
email: row.original.email,
|
111
|
+
};
|
112
|
+
return ((0, jsx_runtime_1.jsx)("p", { className: "text-grey-90 group-hover:text-violet-60 min-w-[100px]", children: `${(customer.first_name || customer.last_name)
|
113
|
+
? `${customer.first_name} ${customer.last_name}`
|
114
|
+
: (customer.email
|
115
|
+
? customer.email
|
116
|
+
: "-")}` }));
|
117
|
+
},
|
118
|
+
},
|
119
|
+
{
|
120
|
+
Header: ("Fulfillment"),
|
121
|
+
accessor: "fulfillment_status",
|
122
|
+
Cell: ({ cell: { value } }) => decideFullfillmentStatus(value),
|
123
|
+
},
|
124
|
+
{
|
125
|
+
Header: ("Payment status"),
|
126
|
+
accessor: "payment_status",
|
127
|
+
Cell: ({ cell: { value } }) => decideStatus(value),
|
128
|
+
},
|
129
|
+
{
|
130
|
+
Header: () => ((0, jsx_runtime_1.jsx)("div", { className: "text-right", children: ("Total") })),
|
131
|
+
accessor: "total",
|
132
|
+
Cell: ({ row, cell: { value } }) => ((0, jsx_runtime_1.jsx)("div", { className: "text-grey-90 group-hover:text-violet-60 text-right", children: formatAmountWithSymbol({
|
133
|
+
amount: value,
|
134
|
+
currency: row.original.currency_code,
|
135
|
+
digits: 2,
|
136
|
+
}) })),
|
137
|
+
},
|
138
|
+
// {
|
139
|
+
// Header: "",
|
140
|
+
// accessor: "currency_code",
|
141
|
+
// Cell: ({ cell: { value } }) => (
|
142
|
+
// <div className="text-grey-40 text-right">{value.toUpperCase()}</div>
|
143
|
+
// ),
|
144
|
+
// },
|
145
|
+
// {
|
146
|
+
// Header: "",
|
147
|
+
// accessor: "country_code",
|
148
|
+
// Cell: ({ row }) => (
|
149
|
+
// <div className="pr-2">
|
150
|
+
// <div className="rounded-rounded flex w-full justify-end">
|
151
|
+
// <Tooltip
|
152
|
+
// content={
|
153
|
+
// row.original.shipping_address?.country_code?.toUpperCase()
|
154
|
+
// }
|
155
|
+
// >
|
156
|
+
// <ReactCountryFlag
|
157
|
+
// className={"rounded"}
|
158
|
+
// svg
|
159
|
+
// countryCode={row.original.shipping_address?.country_code}
|
160
|
+
// />
|
161
|
+
// </Tooltip>
|
162
|
+
// </div>
|
163
|
+
// </div>
|
164
|
+
// ),
|
165
|
+
// },
|
166
|
+
{
|
167
|
+
Header: () => ((0, jsx_runtime_1.jsx)("div", { style: { textAlign: 'center' }, children: ("Documents") })),
|
168
|
+
id: "invoice_number",
|
169
|
+
Cell: ({ row }) => {
|
170
|
+
return ((0, jsx_runtime_1.jsx)("p", { className: "text-grey-90 group-hover:text-violet-60 pl-2", children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, justifyContent: 'flex-start', direction: 'column', spacing: 1, children: [row.original.metadata['invoice_id'] !== undefined &&
|
171
|
+
(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(invoice_number_from_order_1.default, { invoiceId: row.original.metadata['invoice_id'] }) }), row.original.metadata['packing_slip_id'] !== undefined &&
|
172
|
+
(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(packing_slip_number_1.default, { packingSlipId: row.original.metadata['packing_slip_id'] }) })] }) }));
|
173
|
+
}
|
174
|
+
},
|
175
|
+
{
|
176
|
+
Header: () => ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, justifyContent: "flex-end", alignItems: "flex-end", spacing: 1, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Tooltip, { content: (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, children: [(0, jsx_runtime_1.jsx)(ui_1.Text, { size: "small", children: "We do not store documents. " }), (0, jsx_runtime_1.jsx)(Link_1.default, { fontSize: 12, href: 'https://github.com/RSC-Labs/medusa-documents?tab=readme-ov-file#what-means-we-do-not-store-documents', children: "Learn more what it means. " })] }), children: (0, jsx_runtime_1.jsx)(icons_1.InformationCircle, {}) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: ("Actions") })] })),
|
177
|
+
id: "actions",
|
178
|
+
Cell: ({ row }) => {
|
179
|
+
return ((0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, justifyContent: 'flex-end', children: (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(actions_dropdown_1.ActionsDropdown, { order: row.original }) }) }));
|
180
|
+
}
|
181
|
+
},
|
182
|
+
], []);
|
183
|
+
return [columns];
|
184
|
+
};
|
185
|
+
exports.default = useOrderTableColums;
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWNvbHVtbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdWktY29tcG9uZW50cy9vcmRlcnMvb3JkZXItdGFibGUvdXNlLWNvbHVtbnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxvREFBMkI7QUFDM0IsaUNBQStCO0FBRS9CLHFDQUF5RDtBQUV6RCxtREFBK0M7QUFDL0MsNENBQW9DO0FBQ3BDLDhFQUF5RTtBQUN6RSw0RkFBZ0U7QUFDaEUsZ0ZBQXFEO0FBQ3JELDJDQUFzRTtBQUN0RSw4REFBc0M7QUFHdEM7Ozs7O0dBS0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxRQUFnQjtJQUMvQyxNQUFNLGNBQWMsR0FBRyx1QkFBVSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQTtJQUN4RSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFBO0FBQ3JDLENBQUM7QUFIRCw0Q0FHQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxRQUFnQixFQUFFLE1BQWM7SUFDOUQsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDMUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQTtBQUNyQyxDQUFDO0FBSEQsMENBR0M7QUFTRCxTQUFTLHNCQUFzQixDQUFDLEVBQzlCLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUNOLEdBQUcsR0FBRyxDQUFDLEdBQ1U7SUFDakIsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFBO0lBRXBCLGdEQUFnRDtJQUNoRCxJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLEVBQUU7UUFDcEMsTUFBTSxHQUFHLE9BQU8sQ0FBQTtLQUNqQjtJQUVELE1BQU0sR0FBRyxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSx1QkFBVSxD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
|