bananas-commerce-admin 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -8
- package/dist/cjs/Admin.js +28 -27
- package/dist/cjs/Admin.js.map +1 -0
- package/dist/cjs/App.js +23 -11
- package/dist/cjs/App.js.map +1 -0
- package/dist/cjs/api.js +125 -65
- package/dist/cjs/api.js.map +1 -0
- package/dist/cjs/components/Branding.js +10 -8
- package/dist/cjs/components/Branding.js.map +1 -0
- package/dist/cjs/components/Hamburger.js +23 -11
- package/dist/cjs/components/Hamburger.js.map +1 -0
- package/dist/cjs/components/Link.js +9 -7
- package/dist/cjs/components/Link.js.map +1 -0
- package/dist/cjs/components/Logo.js +5 -3
- package/dist/cjs/components/Logo.js.map +1 -0
- package/dist/cjs/components/NavBar.js +48 -31
- package/dist/cjs/components/NavBar.js.map +1 -0
- package/dist/cjs/components/NavBarItem.js +16 -14
- package/dist/cjs/components/NavBarItem.js.map +1 -0
- package/dist/cjs/components/NavBarRoutes.js +23 -18
- package/dist/cjs/components/NavBarRoutes.js.map +1 -0
- package/dist/cjs/components/ProgressBar.js +5 -3
- package/dist/cjs/components/ProgressBar.js.map +1 -0
- package/dist/cjs/components/TitleBar.js +18 -17
- package/dist/cjs/components/TitleBar.js.map +1 -0
- package/dist/cjs/components/User.js +34 -21
- package/dist/cjs/components/User.js.map +1 -0
- package/dist/cjs/containers/Content.js +8 -6
- package/dist/cjs/containers/Content.js.map +1 -0
- package/dist/cjs/containers/ErrorScreen.js +21 -19
- package/dist/cjs/containers/ErrorScreen.js.map +1 -0
- package/dist/cjs/containers/LoadingScreen.js +64 -49
- package/dist/cjs/containers/LoadingScreen.js.map +1 -0
- package/dist/cjs/containers/PageErrorBoundary.js +33 -14
- package/dist/cjs/containers/PageErrorBoundary.js.map +1 -0
- package/dist/cjs/containers/PageLoader.js +129 -40
- package/dist/cjs/containers/PageLoader.js.map +1 -0
- package/dist/cjs/contexts/ApiContext.js +53 -16
- package/dist/cjs/contexts/ApiContext.js.map +1 -0
- package/dist/cjs/contexts/I18nContext.js +58 -18
- package/dist/cjs/contexts/I18nContext.js.map +1 -0
- package/dist/cjs/contexts/RouterContext.js +52 -44
- package/dist/cjs/contexts/RouterContext.js.map +1 -0
- package/dist/cjs/contexts/UserContext.js +96 -43
- package/dist/cjs/contexts/UserContext.js.map +1 -0
- package/dist/cjs/extensions/bananas/components/PasswordChangeForm.js +45 -32
- package/dist/cjs/extensions/bananas/components/PasswordChangeForm.js.map +1 -0
- package/dist/cjs/extensions/bananas/index.js +3 -2
- package/dist/cjs/extensions/bananas/index.js.map +1 -0
- package/dist/cjs/extensions/bananas/pages/me/list.js +10 -9
- package/dist/cjs/extensions/bananas/pages/me/list.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/components/AddressInfo.js +8 -6
- package/dist/cjs/extensions/fulfillment/components/AddressInfo.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/components/ContactInfo.js +9 -7
- package/dist/cjs/extensions/fulfillment/components/ContactInfo.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/components/RecipientCard.js +14 -12
- package/dist/cjs/extensions/fulfillment/components/RecipientCard.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/components/ShipmentAccordion.js +124 -65
- package/dist/cjs/extensions/fulfillment/components/ShipmentAccordion.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/components/ShipmentCard.js +19 -17
- package/dist/cjs/extensions/fulfillment/components/ShipmentCard.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/components/ShipmentDestinationButtons.js +32 -19
- package/dist/cjs/extensions/fulfillment/components/ShipmentDestinationButtons.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/components/ShipmentDestinationIcon.js +23 -11
- package/dist/cjs/extensions/fulfillment/components/ShipmentDestinationIcon.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/components/ShipmentItemsCard.js +73 -46
- package/dist/cjs/extensions/fulfillment/components/ShipmentItemsCard.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/components/ShipmentItemsTable.js +49 -27
- package/dist/cjs/extensions/fulfillment/components/ShipmentItemsTable.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/components/ShipmentRow.js +12 -10
- package/dist/cjs/extensions/fulfillment/components/ShipmentRow.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/components/order/OrderAccordion.js +212 -0
- package/dist/cjs/extensions/fulfillment/components/order/OrderAccordion.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/components/order/OrderItemsTable.js +96 -0
- package/dist/cjs/extensions/fulfillment/components/order/OrderItemsTable.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/components/order/OrderStateChip.js +98 -0
- package/dist/cjs/extensions/fulfillment/components/order/OrderStateChip.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/index.js +59 -12
- package/dist/cjs/extensions/fulfillment/index.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/pages/order/list.js +50 -36
- package/dist/cjs/extensions/fulfillment/pages/order/list.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/pages/recipient/detail.js +7 -5
- package/dist/cjs/extensions/fulfillment/pages/recipient/detail.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/pages/shipment/detail.js +57 -42
- package/dist/cjs/extensions/fulfillment/pages/shipment/detail.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/pages/shipment/list.js +35 -31
- package/dist/cjs/extensions/fulfillment/pages/shipment/list.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/types/order.js +3 -0
- package/dist/cjs/extensions/fulfillment/types/order.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/types/recipient.js +1 -0
- package/dist/cjs/extensions/fulfillment/types/recipient.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/types/shipment.js +1 -0
- package/dist/cjs/extensions/fulfillment/types/shipment.js.map +1 -0
- package/dist/cjs/extensions/fulfillment/types/util.js +1 -0
- package/dist/cjs/extensions/fulfillment/types/util.js.map +1 -0
- package/dist/cjs/extensions/pos/components/PurchaseRow.js +13 -11
- package/dist/cjs/extensions/pos/components/PurchaseRow.js.map +1 -0
- package/dist/cjs/extensions/pos/components/ReceiptCard.js +45 -43
- package/dist/cjs/extensions/pos/components/ReceiptCard.js.map +1 -0
- package/dist/cjs/extensions/pos/components/ReceiptLine.js +17 -12
- package/dist/cjs/extensions/pos/components/ReceiptLine.js.map +1 -0
- package/dist/cjs/extensions/pos/components/ReceiptTable.js +137 -41
- package/dist/cjs/extensions/pos/components/ReceiptTable.js.map +1 -0
- package/dist/cjs/extensions/pos/components/SearchBar.js +40 -25
- package/dist/cjs/extensions/pos/components/SearchBar.js.map +1 -0
- package/dist/cjs/extensions/pos/index.js +57 -12
- package/dist/cjs/extensions/pos/index.js.map +1 -0
- package/dist/cjs/extensions/pos/pages/purchase/detail.js +28 -20
- package/dist/cjs/extensions/pos/pages/purchase/detail.js.map +1 -0
- package/dist/cjs/extensions/pos/pages/purchase/list.js +39 -32
- package/dist/cjs/extensions/pos/pages/purchase/list.js.map +1 -0
- package/dist/cjs/extensions/pos/types/purchase.js +1 -0
- package/dist/cjs/extensions/pos/types/purchase.js.map +1 -0
- package/dist/cjs/extensions/pos/types/receipt.js +8 -0
- package/dist/cjs/extensions/pos/types/receipt.js.map +1 -0
- package/dist/cjs/forms/LoginForm.js +31 -30
- package/dist/cjs/forms/LoginForm.js.map +1 -0
- package/dist/cjs/hooks/useAsyncError.js +5 -4
- package/dist/cjs/hooks/useAsyncError.js.map +1 -0
- package/dist/cjs/hooks/useLocalStorage.js +8 -7
- package/dist/cjs/hooks/useLocalStorage.js.map +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/pages/DashboardPage.js +4 -3
- package/dist/cjs/pages/DashboardPage.js.map +1 -0
- package/dist/cjs/pages/LoginPage.js +12 -10
- package/dist/cjs/pages/LoginPage.js.map +1 -0
- package/dist/cjs/router/Router.js +25 -19
- package/dist/cjs/router/Router.js.map +1 -0
- package/dist/cjs/router/routes.js +8 -7
- package/dist/cjs/router/routes.js.map +1 -0
- package/dist/cjs/types/index.js +1 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/util/format_purchase_number.js +2 -1
- package/dist/cjs/util/format_purchase_number.js.map +1 -0
- package/dist/cjs/util/get_cookie.js +4 -3
- package/dist/cjs/util/get_cookie.js.map +1 -0
- package/dist/cjs/util/index.js +10 -7
- package/dist/cjs/util/index.js.map +1 -0
- package/dist/cjs/util/is_email.js +1 -0
- package/dist/cjs/util/is_email.js.map +1 -0
- package/dist/cjs/util/is_positive_integer.js +2 -1
- package/dist/cjs/util/is_positive_integer.js.map +1 -0
- package/dist/cjs/util/select_styles.js +24 -7
- package/dist/cjs/util/select_styles.js.map +1 -0
- package/dist/esm/Admin.js +17 -16
- package/dist/esm/Admin.js.map +1 -0
- package/dist/esm/App.js +15 -3
- package/dist/esm/App.js.map +1 -0
- package/dist/esm/api.js +125 -63
- package/dist/esm/api.js.map +1 -0
- package/dist/esm/components/Branding.js +4 -2
- package/dist/esm/components/Branding.js.map +1 -0
- package/dist/esm/components/Hamburger.js +17 -5
- package/dist/esm/components/Hamburger.js.map +1 -0
- package/dist/esm/components/Link.js +6 -4
- package/dist/esm/components/Link.js.map +1 -0
- package/dist/esm/components/Logo.js +4 -2
- package/dist/esm/components/Logo.js.map +1 -0
- package/dist/esm/components/NavBar.js +38 -21
- package/dist/esm/components/NavBar.js.map +1 -0
- package/dist/esm/components/NavBarItem.js +8 -6
- package/dist/esm/components/NavBarItem.js.map +1 -0
- package/dist/esm/components/NavBarRoutes.js +19 -14
- package/dist/esm/components/NavBarRoutes.js.map +1 -0
- package/dist/esm/components/ProgressBar.js +3 -1
- package/dist/esm/components/ProgressBar.js.map +1 -0
- package/dist/esm/components/TitleBar.js +9 -8
- package/dist/esm/components/TitleBar.js.map +1 -0
- package/dist/esm/components/User.js +24 -11
- package/dist/esm/components/User.js.map +1 -0
- package/dist/esm/containers/Content.js +5 -3
- package/dist/esm/containers/Content.js.map +1 -0
- package/dist/esm/containers/ErrorScreen.js +10 -8
- package/dist/esm/containers/ErrorScreen.js.map +1 -0
- package/dist/esm/containers/LoadingScreen.js +56 -41
- package/dist/esm/containers/LoadingScreen.js.map +1 -0
- package/dist/esm/containers/PageErrorBoundary.js +33 -13
- package/dist/esm/containers/PageErrorBoundary.js.map +1 -0
- package/dist/esm/containers/PageLoader.js +124 -34
- package/dist/esm/containers/PageLoader.js.map +1 -0
- package/dist/esm/contexts/ApiContext.js +49 -12
- package/dist/esm/contexts/ApiContext.js.map +1 -0
- package/dist/esm/contexts/I18nContext.js +55 -15
- package/dist/esm/contexts/I18nContext.js.map +1 -0
- package/dist/esm/contexts/RouterContext.js +47 -39
- package/dist/esm/contexts/RouterContext.js.map +1 -0
- package/dist/esm/contexts/UserContext.js +93 -40
- package/dist/esm/contexts/UserContext.js.map +1 -0
- package/dist/esm/extensions/bananas/components/PasswordChangeForm.js +32 -19
- package/dist/esm/extensions/bananas/components/PasswordChangeForm.js.map +1 -0
- package/dist/esm/extensions/bananas/index.js +3 -2
- package/dist/esm/extensions/bananas/index.js.map +1 -0
- package/dist/esm/extensions/bananas/pages/me/list.js +3 -2
- package/dist/esm/extensions/bananas/pages/me/list.js.map +1 -0
- package/dist/esm/extensions/fulfillment/components/AddressInfo.js +5 -3
- package/dist/esm/extensions/fulfillment/components/AddressInfo.js.map +1 -0
- package/dist/esm/extensions/fulfillment/components/ContactInfo.js +5 -3
- package/dist/esm/extensions/fulfillment/components/ContactInfo.js.map +1 -0
- package/dist/esm/extensions/fulfillment/components/RecipientCard.js +6 -4
- package/dist/esm/extensions/fulfillment/components/RecipientCard.js.map +1 -0
- package/dist/esm/extensions/fulfillment/components/ShipmentAccordion.js +109 -50
- package/dist/esm/extensions/fulfillment/components/ShipmentAccordion.js.map +1 -0
- package/dist/esm/extensions/fulfillment/components/ShipmentCard.js +8 -6
- package/dist/esm/extensions/fulfillment/components/ShipmentCard.js.map +1 -0
- package/dist/esm/extensions/fulfillment/components/ShipmentDestinationButtons.js +27 -14
- package/dist/esm/extensions/fulfillment/components/ShipmentDestinationButtons.js.map +1 -0
- package/dist/esm/extensions/fulfillment/components/ShipmentDestinationIcon.js +18 -6
- package/dist/esm/extensions/fulfillment/components/ShipmentDestinationIcon.js.map +1 -0
- package/dist/esm/extensions/fulfillment/components/ShipmentItemsCard.js +54 -27
- package/dist/esm/extensions/fulfillment/components/ShipmentItemsCard.js.map +1 -0
- package/dist/esm/extensions/fulfillment/components/ShipmentItemsTable.js +40 -18
- package/dist/esm/extensions/fulfillment/components/ShipmentItemsTable.js.map +1 -0
- package/dist/esm/extensions/fulfillment/components/ShipmentRow.js +8 -6
- package/dist/esm/extensions/fulfillment/components/ShipmentRow.js.map +1 -0
- package/dist/esm/extensions/fulfillment/components/order/OrderAccordion.js +207 -0
- package/dist/esm/extensions/fulfillment/components/order/OrderAccordion.js.map +1 -0
- package/dist/esm/extensions/fulfillment/components/order/OrderItemsTable.js +91 -0
- package/dist/esm/extensions/fulfillment/components/order/OrderItemsTable.js.map +1 -0
- package/dist/esm/extensions/fulfillment/components/order/OrderStateChip.js +70 -0
- package/dist/esm/extensions/fulfillment/components/order/OrderStateChip.js.map +1 -0
- package/dist/esm/extensions/fulfillment/index.js +61 -14
- package/dist/esm/extensions/fulfillment/index.js.map +1 -0
- package/dist/esm/extensions/fulfillment/pages/order/list.js +40 -26
- package/dist/esm/extensions/fulfillment/pages/order/list.js.map +1 -0
- package/dist/esm/extensions/fulfillment/pages/recipient/detail.js +4 -2
- package/dist/esm/extensions/fulfillment/pages/recipient/detail.js.map +1 -0
- package/dist/esm/extensions/fulfillment/pages/shipment/detail.js +38 -23
- package/dist/esm/extensions/fulfillment/pages/shipment/detail.js.map +1 -0
- package/dist/esm/extensions/fulfillment/pages/shipment/list.js +24 -20
- package/dist/esm/extensions/fulfillment/pages/shipment/list.js.map +1 -0
- package/dist/esm/extensions/fulfillment/types/order.js +2 -0
- package/dist/esm/extensions/fulfillment/types/order.js.map +1 -0
- package/dist/esm/extensions/fulfillment/types/recipient.js +1 -0
- package/dist/esm/extensions/fulfillment/types/recipient.js.map +1 -0
- package/dist/esm/extensions/fulfillment/types/shipment.js +1 -0
- package/dist/esm/extensions/fulfillment/types/shipment.js.map +1 -0
- package/dist/esm/extensions/fulfillment/types/util.js +1 -0
- package/dist/esm/extensions/fulfillment/types/util.js.map +1 -0
- package/dist/esm/extensions/pos/components/PurchaseRow.js +8 -6
- package/dist/esm/extensions/pos/components/PurchaseRow.js.map +1 -0
- package/dist/esm/extensions/pos/components/ReceiptCard.js +28 -26
- package/dist/esm/extensions/pos/components/ReceiptCard.js.map +1 -0
- package/dist/esm/extensions/pos/components/ReceiptLine.js +11 -6
- package/dist/esm/extensions/pos/components/ReceiptLine.js.map +1 -0
- package/dist/esm/extensions/pos/components/ReceiptTable.js +128 -32
- package/dist/esm/extensions/pos/components/ReceiptTable.js.map +1 -0
- package/dist/esm/extensions/pos/components/SearchBar.js +28 -13
- package/dist/esm/extensions/pos/components/SearchBar.js.map +1 -0
- package/dist/esm/extensions/pos/index.js +58 -13
- package/dist/esm/extensions/pos/index.js.map +1 -0
- package/dist/esm/extensions/pos/pages/purchase/detail.js +20 -12
- package/dist/esm/extensions/pos/pages/purchase/detail.js.map +1 -0
- package/dist/esm/extensions/pos/pages/purchase/list.js +23 -16
- package/dist/esm/extensions/pos/pages/purchase/list.js.map +1 -0
- package/dist/esm/extensions/pos/types/purchase.js +1 -0
- package/dist/esm/extensions/pos/types/purchase.js.map +1 -0
- package/dist/esm/extensions/pos/types/receipt.js +7 -1
- package/dist/esm/extensions/pos/types/receipt.js.map +1 -0
- package/dist/esm/forms/LoginForm.js +19 -18
- package/dist/esm/forms/LoginForm.js.map +1 -0
- package/dist/esm/hooks/useAsyncError.js +4 -3
- package/dist/esm/hooks/useAsyncError.js.map +1 -0
- package/dist/esm/hooks/useLocalStorage.js +7 -6
- package/dist/esm/hooks/useLocalStorage.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/pages/DashboardPage.js +3 -2
- package/dist/esm/pages/DashboardPage.js.map +1 -0
- package/dist/esm/pages/LoginPage.js +5 -3
- package/dist/esm/pages/LoginPage.js.map +1 -0
- package/dist/esm/router/Router.js +17 -11
- package/dist/esm/router/Router.js.map +1 -0
- package/dist/esm/router/routes.js +7 -6
- package/dist/esm/router/routes.js.map +1 -0
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/util/format_purchase_number.js +2 -1
- package/dist/esm/util/format_purchase_number.js.map +1 -0
- package/dist/esm/util/get_cookie.js +4 -3
- package/dist/esm/util/get_cookie.js.map +1 -0
- package/dist/esm/util/index.js +10 -7
- package/dist/esm/util/index.js.map +1 -0
- package/dist/esm/util/is_email.js +1 -0
- package/dist/esm/util/is_email.js.map +1 -0
- package/dist/esm/util/is_positive_integer.js +2 -1
- package/dist/esm/util/is_positive_integer.js.map +1 -0
- package/dist/esm/util/select_styles.js +25 -8
- package/dist/esm/util/select_styles.js.map +1 -0
- package/dist/types/Admin.d.ts +1 -1
- package/dist/types/App.d.ts +1 -1
- package/dist/types/components/Hamburger.d.ts +1 -1
- package/dist/types/components/Link.d.ts +1 -1
- package/dist/types/components/User.d.ts +4 -7
- package/dist/types/containers/PageErrorBoundary.d.ts +1 -1
- package/dist/types/containers/PageLoader.d.ts +1 -0
- package/dist/types/contexts/RouterContext.d.ts +2 -2
- package/dist/types/extensions/fulfillment/components/ShipmentDestinationIcon.d.ts +1 -1
- package/dist/types/extensions/fulfillment/components/order/OrderAccordion.d.ts +7 -0
- package/dist/types/extensions/fulfillment/components/order/OrderItemsTable.d.ts +9 -0
- package/dist/types/extensions/fulfillment/components/order/OrderStateChip.d.ts +10 -0
- package/dist/types/extensions/fulfillment/pages/order/list.d.ts +2 -2
- package/dist/types/extensions/fulfillment/types/order.d.ts +38 -0
- package/dist/types/extensions/fulfillment/types/shipment.d.ts +1 -1
- package/dist/types/extensions/pos/components/PurchaseRow.d.ts +2 -2
- package/dist/types/extensions/pos/components/ReceiptCard.d.ts +3 -3
- package/dist/types/extensions/pos/components/ReceiptLine.d.ts +1 -0
- package/dist/types/extensions/pos/components/ReceiptTable.d.ts +4 -3
- package/dist/types/extensions/pos/components/SearchBar.d.ts +1 -1
- package/dist/types/extensions/pos/pages/purchase/list.d.ts +2 -2
- package/dist/types/extensions/pos/types/purchase.d.ts +27 -6
- package/dist/types/extensions/pos/types/receipt.d.ts +7 -9
- package/dist/types/router/Router.d.ts +2 -1
- package/dist/types/types/index.d.ts +7 -4
- package/example/index.tsx +28 -9
- package/example/package.json +18 -8
- package/example/scripts/build.js +4 -0
- package/example/scripts/options.js +81 -0
- package/{example/pages/.gitkeep → nodemon.json} +0 -0
- package/package.json +8 -4
- package/src/Admin.tsx +36 -36
- package/src/App.tsx +8 -4
- package/src/components/TitleBar.tsx +23 -18
- package/src/containers/Content.tsx +1 -1
- package/src/containers/PageLoader.tsx +32 -14
- package/src/contexts/UserContext.tsx +15 -14
- package/src/extensions/fulfillment/components/ShipmentAccordion.tsx +126 -116
- package/src/extensions/fulfillment/components/ShipmentCard.tsx +3 -9
- package/src/extensions/fulfillment/components/ShipmentItemsCard.tsx +42 -45
- package/src/extensions/fulfillment/components/order/OrderAccordion.tsx +213 -0
- package/src/extensions/fulfillment/components/order/OrderItemsTable.tsx +128 -0
- package/src/extensions/fulfillment/components/order/OrderStateChip.tsx +79 -0
- package/src/extensions/fulfillment/index.tsx +27 -9
- package/src/extensions/fulfillment/pages/order/list.tsx +43 -54
- package/src/extensions/fulfillment/pages/shipment/detail.tsx +47 -55
- package/src/extensions/fulfillment/types/order.ts +53 -0
- package/src/extensions/pos/components/PurchaseRow.tsx +3 -5
- package/src/extensions/pos/components/ReceiptCard.tsx +50 -47
- package/src/extensions/pos/components/ReceiptLine.tsx +6 -5
- package/src/extensions/pos/components/ReceiptTable.tsx +183 -78
- package/src/extensions/pos/index.tsx +3 -3
- package/src/extensions/pos/pages/purchase/detail.tsx +29 -34
- package/src/extensions/pos/pages/purchase/list.tsx +14 -20
- package/src/extensions/pos/types/purchase.ts +28 -6
- package/src/extensions/pos/types/receipt.ts +8 -9
- package/src/pages/DashboardPage.tsx +1 -1
- package/src/router/Router.tsx +14 -15
- package/src/types/index.ts +4 -1
- package/tsconfig.json +5 -13
- package/example/Dockerfile +0 -27
- package/example/README.md +0 -6
- package/example/build.js +0 -19
- package/example/docker-compose.yml +0 -7
- package/example/package-lock.json +0 -1762
- package/example/public/index.html +0 -14
|
@@ -7,32 +7,72 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
10
37
|
import * as React from "react";
|
|
11
38
|
import useLocalStorage from "../hooks/useLocalStorage";
|
|
12
39
|
import { useApi } from "./ApiContext";
|
|
13
40
|
export function interpolateString(string, params) {
|
|
14
41
|
return Array.isArray(params)
|
|
15
|
-
? params.reduce((s, value)
|
|
16
|
-
: Object.entries(params).reduce((s,
|
|
42
|
+
? params.reduce(function (s, value) { return s.replace(/%[sd]|\{\}/, value); }, string)
|
|
43
|
+
: Object.entries(params).reduce(function (s, _a) {
|
|
44
|
+
var key = _a[0], value = _a[1];
|
|
45
|
+
return s.replace(new RegExp("%\\(".concat(key, "\\)[sd]|\\{").concat(key, "\\}"), "g"), value);
|
|
46
|
+
}, string);
|
|
17
47
|
}
|
|
18
|
-
|
|
19
|
-
export
|
|
20
|
-
export
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
48
|
+
var I18nContext = React.createContext(undefined);
|
|
49
|
+
export var useI18n = function () { return React.useContext(I18nContext); };
|
|
50
|
+
export var I18nContextProvider = function (_a) {
|
|
51
|
+
var children = _a.children;
|
|
52
|
+
var api = useApi();
|
|
53
|
+
var _b = useLocalStorage("i18n", undefined), i18n = _b[0], setI18n = _b[1];
|
|
54
|
+
React.useEffect(function () {
|
|
24
55
|
if (api && i18n === undefined) {
|
|
25
|
-
api.operations["bananas.i18n:list"].call().then((response)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
56
|
+
api.operations["bananas.i18n:list"].call().then(function (response) { return __awaiter(void 0, void 0, void 0, function () {
|
|
57
|
+
var i18n;
|
|
58
|
+
return __generator(this, function (_a) {
|
|
59
|
+
switch (_a.label) {
|
|
60
|
+
case 0: return [4 /*yield*/, response.json()];
|
|
61
|
+
case 1:
|
|
62
|
+
i18n = (_a.sent()).catalog;
|
|
63
|
+
setI18n(i18n);
|
|
64
|
+
return [2 /*return*/];
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}); });
|
|
29
68
|
}
|
|
30
69
|
}, [api, i18n]);
|
|
31
|
-
|
|
70
|
+
var t = function (key, params) {
|
|
32
71
|
var _a;
|
|
33
|
-
|
|
72
|
+
var value = (_a = i18n === null || i18n === void 0 ? void 0 : i18n[key]) !== null && _a !== void 0 ? _a : key;
|
|
34
73
|
return params ? interpolateString(value, params) : value;
|
|
35
74
|
};
|
|
36
|
-
return (React.createElement(I18nContext.Provider, { value: { i18n, t } }, children));
|
|
75
|
+
return (React.createElement(I18nContext.Provider, { value: { i18n: i18n, t: t } }, children));
|
|
37
76
|
};
|
|
38
77
|
export default I18nContext;
|
|
78
|
+
//# sourceMappingURL=I18nContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"I18nContext.js","sourceRoot":"","sources":["../../../src/contexts/I18nContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,eAAe,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,MAAyC;IAEzC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,KAAK,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAA9B,CAA8B,EAAE,MAAM,CAAC;QACrE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAC7B,UAAC,CAAC,EAAE,EAAY;gBAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YACb,OAAA,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,cAAO,GAAG,wBAAc,GAAG,QAAK,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC;QAAnE,CAAmE,EACrE,MAAM,CACP,CAAC;AACN,CAAC;AAOD,IAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CACrC,SAAmC,CACpC,CAAC;AACF,MAAM,CAAC,IAAM,OAAO,GAAG,cAAM,OAAA,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAA7B,CAA6B,CAAC;AAE3D,MAAM,CAAC,IAAM,mBAAmB,GAA0C,UACxE,EAAY;QAAV,QAAQ,cAAA;IAEV,IAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACf,IAAA,KAAkB,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,EAAnD,IAAI,QAAA,EAAE,OAAO,QAAsC,CAAC;IAE3D,KAAK,CAAC,SAAS,CAAC;QACd,IAAI,GAAG,IAAI,IAAI,KAAK,SAAS,EAAE;YAC7B,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAO,QAAQ;;;;gCAC/C,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;4BAA7B,IAAI,GAAG,CAAC,SAAqB,CAAC,CAAC,OAAO;4BAC5C,OAAO,CAAC,IAAI,CAAC,CAAC;;;;iBACf,CAAC,CAAC;SACJ;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAEhB,IAAM,CAAC,GAAG,UAAC,GAAW,EAAE,MAA0C;;QAChE,IAAM,KAAK,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,CAAC,mCAAI,GAAG,CAAC;QACjC,OAAO,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3D,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,MAAA,EAAE,CAAC,GAAA,EAAE,IACrC,QAAQ,CACY,CACxB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -3,52 +3,58 @@ import * as React from "react";
|
|
|
3
3
|
import { matchPath, useNavigate } from "react-router-dom";
|
|
4
4
|
import { getPage, getPath, getTitle, isNavigation, parseOperationId, } from "../router/routes";
|
|
5
5
|
import { useApi } from "./ApiContext";
|
|
6
|
-
|
|
6
|
+
var RouterContext = React.createContext({
|
|
7
7
|
routes: [],
|
|
8
|
-
getCurrent: ()
|
|
9
|
-
getRoute: (reverse)
|
|
10
|
-
navigate: (route, options)
|
|
8
|
+
getCurrent: function () { return void 0; },
|
|
9
|
+
getRoute: function (reverse) { return void reverse; },
|
|
10
|
+
navigate: function (route, options) { return void [route, options]; },
|
|
11
11
|
});
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
export var useRouter = function () { return React.useContext(RouterContext); };
|
|
13
|
+
export var RouterContextProvider = function (_a) {
|
|
14
|
+
var children = _a.children;
|
|
15
|
+
var routes = [];
|
|
16
|
+
var api = useApi();
|
|
17
|
+
var routerNavigate = useNavigate();
|
|
18
|
+
var enqueueSnackbar = useSnackbar().enqueueSnackbar;
|
|
19
|
+
for (var _i = 0, _b = Object.values(api.operations); _i < _b.length; _i++) {
|
|
20
|
+
var operation = _b[_i];
|
|
21
|
+
var parsedOperationId = parseOperationId(operation.id);
|
|
20
22
|
if (!parsedOperationId) {
|
|
21
|
-
throw new TypeError(
|
|
23
|
+
throw new TypeError("Could not parse operation id ".concat(operation.id));
|
|
22
24
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
var app = parsedOperationId.app, view = parsedOperationId.view, action = parsedOperationId.action;
|
|
26
|
+
var title = getTitle(view, operation.summary);
|
|
27
|
+
var navigation = isNavigation(operation.tags);
|
|
28
|
+
var path = getPath(operation.endpoint, operation.method, action);
|
|
29
|
+
var page = getPage(path, action);
|
|
28
30
|
routes.push({
|
|
29
31
|
id: operation.id,
|
|
30
|
-
app,
|
|
31
|
-
view,
|
|
32
|
-
action,
|
|
33
|
-
title,
|
|
34
|
-
navigation,
|
|
35
|
-
path,
|
|
36
|
-
page,
|
|
32
|
+
app: app,
|
|
33
|
+
view: view,
|
|
34
|
+
action: action,
|
|
35
|
+
title: title,
|
|
36
|
+
navigation: navigation,
|
|
37
|
+
path: path,
|
|
38
|
+
page: page,
|
|
37
39
|
});
|
|
38
40
|
}
|
|
39
|
-
|
|
40
|
-
for (
|
|
41
|
-
|
|
41
|
+
var getCurrent = function () {
|
|
42
|
+
for (var _i = 0, routes_1 = routes; _i < routes_1.length; _i++) {
|
|
43
|
+
var route = routes_1[_i];
|
|
44
|
+
var match = matchPath(route.path, location.pathname);
|
|
42
45
|
if (match !== null) {
|
|
43
|
-
return { route, match };
|
|
46
|
+
return { route: route, match: match };
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
49
|
return undefined;
|
|
47
50
|
};
|
|
48
|
-
|
|
49
|
-
return routes.find((
|
|
51
|
+
var getRoute = function (reverse) {
|
|
52
|
+
return routes.find(function (_a) {
|
|
53
|
+
var id = _a.id;
|
|
54
|
+
return reverse === id;
|
|
55
|
+
});
|
|
50
56
|
};
|
|
51
|
-
|
|
57
|
+
var navigate = function (route, options) {
|
|
52
58
|
var _a;
|
|
53
59
|
// Relative history, e.g. go back or forward x steps
|
|
54
60
|
if (typeof route === "number") {
|
|
@@ -57,26 +63,28 @@ export const RouterContextProvider = ({ children }) => {
|
|
|
57
63
|
}
|
|
58
64
|
// Direct operation id routes, requires reversing the operation id
|
|
59
65
|
if (typeof route === "string") {
|
|
60
|
-
|
|
66
|
+
var routeInfo = getRoute(route);
|
|
61
67
|
if (routeInfo === undefined) {
|
|
62
68
|
enqueueSnackbar("Failed to navigate, view console for more info", {
|
|
63
69
|
variant: "error",
|
|
64
70
|
});
|
|
65
|
-
throw new Error(
|
|
71
|
+
throw new Error("Could not find route with reverse: ".concat(route));
|
|
66
72
|
}
|
|
67
73
|
route = routeInfo;
|
|
68
74
|
}
|
|
69
|
-
|
|
75
|
+
var pathname = route === null || route === void 0 ? void 0 : route.path;
|
|
70
76
|
if (pathname) {
|
|
71
|
-
for (
|
|
72
|
-
|
|
77
|
+
for (var _i = 0, _b = Object.entries((_a = options === null || options === void 0 ? void 0 : options.params) !== null && _a !== void 0 ? _a : {}); _i < _b.length; _i++) {
|
|
78
|
+
var _c = _b[_i], key = _c[0], value = _c[1];
|
|
79
|
+
pathname = pathname.replace(":".concat(key), encodeURIComponent(value));
|
|
73
80
|
}
|
|
74
81
|
}
|
|
75
82
|
routerNavigate({
|
|
76
|
-
pathname,
|
|
83
|
+
pathname: pathname,
|
|
77
84
|
search: new URLSearchParams(options === null || options === void 0 ? void 0 : options.query).toString(),
|
|
78
85
|
}, { replace: options === null || options === void 0 ? void 0 : options.replace });
|
|
79
86
|
};
|
|
80
|
-
return (React.createElement(RouterContext.Provider, { value: { routes, getCurrent, getRoute, navigate } }, children));
|
|
87
|
+
return (React.createElement(RouterContext.Provider, { value: { routes: routes, getCurrent: getCurrent, getRoute: getRoute, navigate: navigate } }, children));
|
|
81
88
|
};
|
|
82
89
|
export default RouterContext;
|
|
90
|
+
//# sourceMappingURL=RouterContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterContext.js","sourceRoot":"","sources":["../../../src/contexts/RouterContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,55 +7,108 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
10
37
|
import * as React from "react";
|
|
11
38
|
import useLocalStorage from "../hooks/useLocalStorage";
|
|
12
39
|
import { useApi } from "./ApiContext";
|
|
13
|
-
|
|
14
|
-
export
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
40
|
+
var UserContext = React.createContext(undefined);
|
|
41
|
+
export var useUser = function () { return React.useContext(UserContext); };
|
|
42
|
+
export var UserContextProvider = function (_a) {
|
|
43
|
+
var children = _a.children;
|
|
44
|
+
var api = useApi();
|
|
45
|
+
var _b = useLocalStorage("user", null), user = _b[0], setUser = _b[1];
|
|
46
|
+
React.useEffect(function () {
|
|
19
47
|
if (api !== undefined) {
|
|
20
|
-
api.isAuthenticated().then((authenticated)
|
|
48
|
+
api.isAuthenticated().then(function (authenticated) {
|
|
21
49
|
if (!authenticated) {
|
|
22
50
|
setUser(null);
|
|
23
51
|
}
|
|
24
52
|
});
|
|
25
53
|
}
|
|
26
54
|
}, [user, api]);
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
})
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
var login = function (username, password) { return __awaiter(void 0, void 0, void 0, function () {
|
|
56
|
+
var response, user_1;
|
|
57
|
+
return __generator(this, function (_a) {
|
|
58
|
+
switch (_a.label) {
|
|
59
|
+
case 0: return [4 /*yield*/, (api === null || api === void 0 ? void 0 : api.operations["bananas.login:create"].call({
|
|
60
|
+
body: { username: username, password: password },
|
|
61
|
+
}))];
|
|
62
|
+
case 1:
|
|
63
|
+
response = _a.sent();
|
|
64
|
+
if (!(response !== undefined && response.ok)) return [3 /*break*/, 3];
|
|
65
|
+
return [4 /*yield*/, response.json()];
|
|
66
|
+
case 2:
|
|
67
|
+
user_1 = _a.sent();
|
|
68
|
+
setUser(user_1);
|
|
69
|
+
return [2 /*return*/, user_1];
|
|
70
|
+
case 3:
|
|
71
|
+
setUser(null);
|
|
72
|
+
return [2 /*return*/, null];
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}); };
|
|
76
|
+
var changePassword = function (oldPassword, newPassword1, newPassword2) { return __awaiter(void 0, void 0, void 0, function () {
|
|
77
|
+
var response;
|
|
78
|
+
return __generator(this, function (_a) {
|
|
79
|
+
switch (_a.label) {
|
|
80
|
+
case 0: return [4 /*yield*/, (api === null || api === void 0 ? void 0 : api.operations["bananas.change_password:create"].call({
|
|
81
|
+
body: {
|
|
82
|
+
old_password: oldPassword,
|
|
83
|
+
new_password1: newPassword1,
|
|
84
|
+
new_password2: newPassword2,
|
|
85
|
+
},
|
|
86
|
+
}))];
|
|
87
|
+
case 1:
|
|
88
|
+
response = _a.sent();
|
|
89
|
+
if (!response.ok) {
|
|
90
|
+
throw new Error("Failed to change password");
|
|
91
|
+
}
|
|
92
|
+
return [2 /*return*/];
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}); };
|
|
96
|
+
var logout = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
97
|
+
var response;
|
|
98
|
+
return __generator(this, function (_a) {
|
|
99
|
+
switch (_a.label) {
|
|
100
|
+
case 0: return [4 /*yield*/, (api === null || api === void 0 ? void 0 : api.operations["bananas.logout:create"].call())];
|
|
101
|
+
case 1:
|
|
102
|
+
response = _a.sent();
|
|
103
|
+
if (response !== undefined && response.ok) {
|
|
104
|
+
setUser(null);
|
|
105
|
+
return [2 /*return*/];
|
|
106
|
+
}
|
|
107
|
+
throw new Error("Could not log out");
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}); };
|
|
111
|
+
return (React.createElement(UserContext.Provider, { value: { user: user, login: login, logout: logout, changePassword: changePassword } }, children));
|
|
60
112
|
};
|
|
61
113
|
export default UserContext;
|
|
114
|
+
//# sourceMappingURL=UserContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserContext.js","sourceRoot":"","sources":["../../../src/contexts/UserContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
1
12
|
import { useSnackbar } from "notistack";
|
|
2
13
|
import React from "react";
|
|
3
14
|
import Box from "@mui/material/Box";
|
|
@@ -11,24 +22,24 @@ import { useApi } from "../../../contexts/ApiContext";
|
|
|
11
22
|
import { useI18n } from "../../../contexts/I18nContext";
|
|
12
23
|
import { useUser } from "../../../contexts/UserContext";
|
|
13
24
|
import LoadingButton from "@mui/lab/LoadingButton";
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
var PasswordChangeForm = function () {
|
|
26
|
+
var theme = useTheme();
|
|
27
|
+
var t = useI18n().t;
|
|
28
|
+
var api = useApi();
|
|
29
|
+
var enqueueSnackbar = useSnackbar().enqueueSnackbar;
|
|
30
|
+
var _a = React.useState(false), loading = _a[0], setLoading = _a[1];
|
|
31
|
+
var operation = api.operations["bananas.change_password:create"];
|
|
32
|
+
var properties = operation.request.body.schema.properties;
|
|
33
|
+
var _b = React.useState({
|
|
23
34
|
"old_password": "",
|
|
24
35
|
"new_password1": "",
|
|
25
36
|
"new_password2": "",
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
|
|
37
|
+
}), fields = _b[0], setFields = _b[1];
|
|
38
|
+
var changePassword = useUser().changePassword;
|
|
39
|
+
var onSubmit = function (event) {
|
|
29
40
|
event.preventDefault();
|
|
30
41
|
setLoading(true);
|
|
31
|
-
changePassword(fields.old_password, fields.new_password1, fields.new_password2).then(()
|
|
42
|
+
changePassword(fields.old_password, fields.new_password1, fields.new_password2).then(function () {
|
|
32
43
|
enqueueSnackbar(t("Password changed successfully."), {
|
|
33
44
|
variant: "success",
|
|
34
45
|
});
|
|
@@ -37,14 +48,15 @@ const PasswordChangeForm = () => {
|
|
|
37
48
|
"new_password1": "",
|
|
38
49
|
"new_password2": "",
|
|
39
50
|
});
|
|
40
|
-
}).catch(()
|
|
51
|
+
}).catch(function () {
|
|
41
52
|
enqueueSnackbar(t("Incorrect authentication credentials."), {
|
|
42
53
|
variant: "error",
|
|
43
54
|
});
|
|
44
|
-
}).finally(()
|
|
55
|
+
}).finally(function () { return setLoading(false); });
|
|
45
56
|
};
|
|
46
|
-
|
|
47
|
-
|
|
57
|
+
var onChange = function (event) {
|
|
58
|
+
var _a;
|
|
59
|
+
setFields(__assign(__assign({}, fields), (_a = {}, _a[event.target.name] = event.target.value, _a)));
|
|
48
60
|
};
|
|
49
61
|
return (React.createElement(Box, { component: "form", onSubmit: onSubmit, sx: {
|
|
50
62
|
maxWidth: 350,
|
|
@@ -54,9 +66,9 @@ const PasswordChangeForm = () => {
|
|
|
54
66
|
} }, operation.summary),
|
|
55
67
|
React.createElement(Typography, null, t("Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly.")),
|
|
56
68
|
React.createElement(FormControl, { fullWidth: true, component: "fieldset" },
|
|
57
|
-
React.createElement(FormGroup, null, ["old_password", "new_password1", "new_password2"].map((field)
|
|
69
|
+
React.createElement(FormGroup, null, ["old_password", "new_password1", "new_password2"].map(function (field) { return (React.createElement(TextField, { key: field, autoComplete: field, sx: {
|
|
58
70
|
marginTop: theme.spacing(3),
|
|
59
|
-
}, label: properties[field].title, inputProps: { "aria-label": properties[field].title }, name: field, value: fields[field], type: "password", onChange: onChange, fullWidth: true, required: true, color: "secondary" }))))),
|
|
71
|
+
}, label: properties[field].title, inputProps: { "aria-label": properties[field].title }, name: field, value: fields[field], type: "password", onChange: onChange, fullWidth: true, required: true, color: "secondary" })); }))),
|
|
60
72
|
React.createElement(FormControl, { fullWidth: true, margin: "normal", sx: {
|
|
61
73
|
marginTop: theme.spacing(3),
|
|
62
74
|
marginBottom: 0,
|
|
@@ -66,3 +78,4 @@ const PasswordChangeForm = () => {
|
|
|
66
78
|
}, variant: "outlined", type: "submit", color: "secondary", fullWidth: true, "aria-label": "login", loading: loading }, t("Change my password")))));
|
|
67
79
|
};
|
|
68
80
|
export default PasswordChangeForm;
|
|
81
|
+
//# sourceMappingURL=PasswordChangeForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasswordChangeForm.js","sourceRoot":"","sources":["../../../../../src/extensions/bananas/components/PasswordChangeForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import MePage from "./pages/me/list";
|
|
2
|
-
export
|
|
2
|
+
export var router = {
|
|
3
3
|
app: "bananas",
|
|
4
|
-
pages: (route)
|
|
4
|
+
pages: function (route) {
|
|
5
5
|
if (route.view === "me" && route.action === "list") {
|
|
6
6
|
return MePage;
|
|
7
7
|
}
|
|
8
8
|
return undefined;
|
|
9
9
|
},
|
|
10
10
|
};
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extensions/bananas/index.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,CAAC,IAAM,MAAM,GAAoB;IACrC,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,UAAC,KAAK;QACX,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;YAClD,OAAO,MAAM,CAAC;SACf;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC"}
|
|
@@ -5,9 +5,9 @@ import PasswordChangeForm from "../../components/PasswordChangeForm";
|
|
|
5
5
|
import Grid from "@mui/material/Grid";
|
|
6
6
|
import { TitleBar } from "../../../../components/TitleBar";
|
|
7
7
|
import { useUser } from "../../../../contexts/UserContext";
|
|
8
|
-
|
|
8
|
+
var MePage = function () {
|
|
9
9
|
var _a;
|
|
10
|
-
|
|
10
|
+
var user = useUser().user;
|
|
11
11
|
return (React.createElement(React.Fragment, null,
|
|
12
12
|
React.createElement(TitleBar, { title: (_a = user === null || user === void 0 ? void 0 : user.username) !== null && _a !== void 0 ? _a : "Me" }),
|
|
13
13
|
React.createElement(Content, null,
|
|
@@ -19,3 +19,4 @@ const MePage = () => {
|
|
|
19
19
|
React.createElement(PasswordChangeForm, null))))));
|
|
20
20
|
};
|
|
21
21
|
export default MePage;
|
|
22
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/extensions/bananas/pages/me/list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAGxC,OAAO,OAAO,MAAM,gCAAgC,CAAC;AAErD,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AACrE,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,IAAM,MAAM,GAAkB;;IACpB,IAAA,IAAI,GAAK,OAAO,EAAE,KAAd,CAAe;IAE3B,OAAO,CACL;QACE,oBAAC,QAAQ,IAAC,KAAK,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,mCAAI,IAAI,GAAI;QAC3C,oBAAC,OAAO;YACN,oBAAC,IAAI,IAAC,IAAI;gBACR,oBAAC,KAAK,IACJ,EAAE,EAAE;wBACF,OAAO,EAAE,CAAC;wBACV,SAAS,EAAE,YAAY;qBACxB,EACD,SAAS,EAAE,CAAC,EACZ,MAAM;oBAEN,oBAAC,kBAAkB,OAAG,CAChB,CACH,CACC,CACT,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import Box from "@mui/material/Box";
|
|
3
3
|
import Typography from "@mui/material/Typography";
|
|
4
|
-
|
|
5
|
-
export
|
|
4
|
+
var countryCodeFormatter = new Intl.DisplayNames("sv", { type: "region" });
|
|
5
|
+
export var AddressInfo = function (_a) {
|
|
6
|
+
var name = _a.name, streetAddress = _a.streetAddress, streetAddress2 = _a.streetAddress2, careOf = _a.careOf, postalCode = _a.postalCode, city = _a.city, countryCode = _a.countryCode;
|
|
6
7
|
return (React.createElement(Box, null,
|
|
7
8
|
name != null && name !== ""
|
|
8
9
|
? React.createElement(Typography, { noWrap: true }, name)
|
|
@@ -16,5 +17,6 @@ export const AddressInfo = ({ name, streetAddress, streetAddress2, careOf, posta
|
|
|
16
17
|
"c/o ",
|
|
17
18
|
careOf)
|
|
18
19
|
: null,
|
|
19
|
-
React.createElement(Typography, { noWrap: true },
|
|
20
|
+
React.createElement(Typography, { noWrap: true }, "".concat(postalCode, " ").concat(city, ", ").concat(countryCodeFormatter.of(countryCode)))));
|
|
20
21
|
};
|
|
22
|
+
//# sourceMappingURL=AddressInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddressInfo.js","sourceRoot":"","sources":["../../../../../src/extensions/fulfillment/components/AddressInfo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,IAAM,oBAAoB,GAAG,IAAI,IAAI,CAAC,YAAY,CAChD,IAAI,EACJ,EAAE,IAAI,EAAE,QAAQ,EAAE,CACnB,CAAC;AAYF,MAAM,CAAC,IAAM,WAAW,GAA+B,UAAC,EAQvD;QAPC,IAAI,UAAA,EACJ,aAAa,mBAAA,EACb,cAAc,oBAAA,EACd,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,IAAI,UAAA,EACJ,WAAW,iBAAA;IAEX,OAAO,CACL,oBAAC,GAAG;QACD,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE;YAC1B,CAAC,CAAC,oBAAC,UAAU,IAAC,MAAM,UAAE,IAAI,CAAc;YACxC,CAAC,CAAC,IAAI;QACR,oBAAC,UAAU,IAAC,MAAM,UAAE,aAAa,CAAc;QAC9C,cAAc,IAAI,IAAI,IAAI,cAAc,KAAK,EAAE;YAC9C,CAAC,CAAC,oBAAC,UAAU,IAAC,MAAM,UAAE,cAAc,CAAc;YAClD,CAAC,CAAC,IAAI;QACP,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,EAAE;YAC9B,CAAC,CAAC,oBAAC,UAAU,IAAC,MAAM;;gBAAM,MAAM,CAAc;YAC9C,CAAC,CAAC,IAAI;QACR,oBAAC,UAAU,IAAC,MAAM,UACf,UAAG,UAAU,cAAI,IAAI,eAAK,oBAAoB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAE,CACtD,CACT,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -2,15 +2,17 @@ import React from "react";
|
|
|
2
2
|
import Box from "@mui/material/Box";
|
|
3
3
|
import Link from "@mui/material/Link";
|
|
4
4
|
import Typography from "@mui/material/Typography";
|
|
5
|
-
export
|
|
5
|
+
export var ContactInfo = function (_a) {
|
|
6
|
+
var name = _a.name, email = _a.email, phone = _a.phone;
|
|
6
7
|
return (React.createElement(Box, null,
|
|
7
8
|
React.createElement(Typography, { noWrap: true }, name),
|
|
8
9
|
email != null
|
|
9
10
|
? (React.createElement(Typography, null,
|
|
10
|
-
React.createElement(Link, { color: "primary.contrastText", href:
|
|
11
|
+
React.createElement(Link, { color: "primary.contrastText", href: "mailto:".concat(email), noWrap: true }, email)))
|
|
11
12
|
: null,
|
|
12
13
|
phone != null
|
|
13
14
|
? (React.createElement(Typography, null,
|
|
14
|
-
React.createElement(Link, { color: "primary.contrastText", href:
|
|
15
|
+
React.createElement(Link, { color: "primary.contrastText", href: "tel:".concat(phone), noWrap: true }, phone)))
|
|
15
16
|
: null));
|
|
16
17
|
};
|
|
18
|
+
//# sourceMappingURL=ContactInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContactInfo.js","sourceRoot":"","sources":["../../../../../src/extensions/fulfillment/components/ContactInfo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAQlD,MAAM,CAAC,IAAM,WAAW,GAA+B,UACrD,EAAsB;QAApB,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,KAAK,WAAA;IAEpB,OAAO,CACL,oBAAC,GAAG;QACF,oBAAC,UAAU,IAAC,MAAM,UAAE,IAAI,CAAc;QACrC,KAAK,IAAI,IAAI;YACZ,CAAC,CAAC,CACA,oBAAC,UAAU;gBACT,oBAAC,IAAI,IAAC,KAAK,EAAC,sBAAsB,EAAC,IAAI,EAAE,iBAAU,KAAK,CAAE,EAAE,MAAM,UAC/D,KAAK,CACD,CACI,CACd;YACD,CAAC,CAAC,IAAI;QACP,KAAK,IAAI,IAAI;YACZ,CAAC,CAAC,CACA,oBAAC,UAAU;gBACT,oBAAC,IAAI,IAAC,KAAK,EAAC,sBAAsB,EAAC,IAAI,EAAE,cAAO,KAAK,CAAE,EAAE,MAAM,UAC5D,KAAK,CACD,CACI,CACd;YACD,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -6,8 +6,9 @@ import Divider from "@mui/material/Divider";
|
|
|
6
6
|
import Grid from "@mui/material/Grid";
|
|
7
7
|
import { useTheme } from "@mui/material/styles";
|
|
8
8
|
import Typography from "@mui/material/Typography";
|
|
9
|
-
export
|
|
10
|
-
|
|
9
|
+
export var RecipientCard = function (_a) {
|
|
10
|
+
var recipient = _a.recipient;
|
|
11
|
+
var theme = useTheme();
|
|
11
12
|
return (React.createElement(Card, null,
|
|
12
13
|
React.createElement(CardHeader, { title: "Recipient" }),
|
|
13
14
|
React.createElement(CardContent, null,
|
|
@@ -15,7 +16,7 @@ export const RecipientCard = ({ recipient }) => {
|
|
|
15
16
|
React.createElement(Grid, { container: true, spacing: 2 },
|
|
16
17
|
React.createElement(Grid, { item: true, xs: 6 },
|
|
17
18
|
React.createElement(Typography, { color: "text.secondary" }, "Recipient"),
|
|
18
|
-
React.createElement(Typography, null,
|
|
19
|
+
React.createElement(Typography, null, "".concat(recipient.given_name, " ").concat(recipient.family_name)),
|
|
19
20
|
React.createElement(Typography, null, recipient.street_address),
|
|
20
21
|
Boolean(recipient.street_address2)
|
|
21
22
|
? React.createElement(Typography, null, recipient.street_address2)
|
|
@@ -23,5 +24,6 @@ export const RecipientCard = ({ recipient }) => {
|
|
|
23
24
|
Boolean(recipient.care_of)
|
|
24
25
|
? React.createElement(Typography, null, recipient.care_of)
|
|
25
26
|
: null,
|
|
26
|
-
React.createElement(Typography, null,
|
|
27
|
+
React.createElement(Typography, null, "".concat(recipient.postal_code, " ").concat(recipient.city, " ").concat(recipient.country_code)))))));
|
|
27
28
|
};
|
|
29
|
+
//# sourceMappingURL=RecipientCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecipientCard.js","sourceRoot":"","sources":["../../../../../src/extensions/fulfillment/components/RecipientCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAQlD,MAAM,CAAC,IAAM,aAAa,GAA4B,UAAC,EAAa;QAAX,SAAS,eAAA;IAChE,IAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,OAAO,CACL,oBAAC,IAAI;QACH,oBAAC,UAAU,IAAC,KAAK,EAAE,WAAW,GAAI;QAClC,oBAAC,WAAW;YACV,oBAAC,OAAO,IAAC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAI;YACnD,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC;gBACxB,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;oBACd,oBAAC,UAAU,IAAC,KAAK,EAAE,gBAAgB,IAAG,WAAW,CAAc;oBAC/D,oBAAC,UAAU,QACR,UAAG,SAAS,CAAC,UAAU,cAAI,SAAS,CAAC,WAAW,CAAE,CACxC;oBACb,oBAAC,UAAU,QAAE,SAAS,CAAC,cAAc,CAAc;oBAClD,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;wBACjC,CAAC,CAAC,oBAAC,UAAU,QAAE,SAAS,CAAC,eAAe,CAAc;wBACtD,CAAC,CAAC,IAAI;oBACP,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;wBACzB,CAAC,CAAC,oBAAC,UAAU,QAAE,SAAS,CAAC,OAAO,CAAc;wBAC9C,CAAC,CAAC,IAAI;oBACR,oBAAC,UAAU,QACR,UAAG,SAAS,CAAC,WAAW,cAAI,SAAS,CAAC,IAAI,cAAI,SAAS,CAAC,YAAY,CAAE,CAC5D,CACR,CACF,CACK,CACT,CACR,CAAC;AACJ,CAAC,CAAC"}
|