@open-tender/store 1.1.4 → 1.1.6
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/LICENSE.md +21 -21
- package/README.md +3 -3
- package/dist/cjs/components/Allergen.d.ts +8 -0
- package/dist/cjs/components/Allergen.js +11 -0
- package/dist/cjs/components/Applied.d.ts +6 -0
- package/dist/cjs/components/Applied.js +11 -0
- package/dist/cjs/components/ButtonLink.d.ts +9 -0
- package/dist/cjs/components/ButtonLink.js +11 -0
- package/dist/cjs/components/Card.d.ts +7 -0
- package/dist/cjs/components/Card.js +11 -0
- package/dist/cjs/components/Cart.d.ts +7 -0
- package/dist/cjs/components/Cart.js +41 -0
- package/dist/cjs/components/CartItem.d.ts +11 -0
- package/dist/cjs/components/CartItem.js +31 -0
- package/dist/cjs/components/CartUpsellItem.d.ts +10 -0
- package/dist/cjs/components/CartUpsellItem.js +25 -0
- package/dist/cjs/components/CartUpsells.d.ts +6 -0
- package/dist/cjs/components/CartUpsells.js +25 -0
- package/dist/cjs/components/CategoryItem.d.ts +11 -0
- package/dist/cjs/components/CategoryItem.js +28 -0
- package/dist/cjs/components/CategoryNav.d.ts +7 -0
- package/dist/cjs/components/CategoryNav.js +26 -0
- package/dist/cjs/components/CategoryNavItem.d.ts +9 -0
- package/dist/cjs/components/CategoryNavItem.js +27 -0
- package/dist/cjs/components/CategoryNavOther.d.ts +9 -0
- package/dist/cjs/components/CategoryNavOther.js +20 -0
- package/dist/cjs/components/CheckTotals.d.ts +8 -0
- package/dist/cjs/components/CheckTotals.js +11 -0
- package/dist/cjs/components/Discount.d.ts +8 -0
- package/dist/cjs/components/Discount.js +13 -0
- package/dist/cjs/components/ErrorMessage.d.ts +9 -0
- package/dist/cjs/components/ErrorMessage.js +11 -0
- package/dist/cjs/components/Header.d.ts +9 -0
- package/dist/cjs/components/Header.js +26 -0
- package/dist/cjs/components/Ingredients.d.ts +10 -0
- package/dist/cjs/components/Ingredients.js +12 -0
- package/dist/cjs/components/Input.d.ts +11 -0
- package/dist/cjs/components/Input.js +23 -0
- package/dist/cjs/components/ItemGroup.d.ts +9 -0
- package/dist/cjs/components/ItemGroup.js +19 -0
- package/dist/cjs/components/ItemGroups.d.ts +11 -0
- package/dist/cjs/components/ItemGroups.js +25 -0
- package/dist/cjs/components/ItemOption.d.ts +11 -0
- package/dist/cjs/components/ItemOption.js +31 -0
- package/dist/cjs/components/ItemSelections.d.ts +11 -0
- package/dist/cjs/components/ItemSelections.js +23 -0
- package/dist/cjs/components/Label.d.ts +10 -0
- package/dist/cjs/components/Label.js +11 -0
- package/dist/cjs/components/Loader.d.ts +8 -0
- package/dist/cjs/components/Loader.js +11 -0
- package/dist/cjs/components/MadeForNotes.d.ts +14 -0
- package/dist/cjs/components/MadeForNotes.js +29 -0
- package/dist/cjs/components/MenuCategory.d.ts +3 -3
- package/dist/cjs/components/MenuCategory.js +7 -6
- package/dist/cjs/components/MenuOther.d.ts +12 -0
- package/dist/cjs/components/MenuOther.js +17 -0
- package/dist/cjs/components/Modal.d.ts +9 -0
- package/dist/cjs/components/Modal.js +17 -0
- package/dist/cjs/components/ModalContent.d.ts +14 -0
- package/dist/cjs/components/ModalContent.js +21 -0
- package/dist/cjs/components/ModalHeader.d.ts +8 -0
- package/dist/cjs/components/ModalHeader.js +11 -0
- package/dist/cjs/components/NutritionalInfo.d.ts +11 -0
- package/dist/cjs/components/NutritionalInfo.js +19 -0
- package/dist/cjs/components/Option.d.ts +11 -0
- package/dist/cjs/components/Option.js +24 -0
- package/dist/cjs/components/OrderCard.d.ts +9 -0
- package/dist/cjs/components/OrderCard.js +56 -0
- package/dist/cjs/components/PointsReward.d.ts +10 -0
- package/dist/cjs/components/PointsReward.js +62 -0
- package/dist/cjs/components/PointsRewards.d.ts +6 -0
- package/dist/cjs/components/PointsRewards.js +24 -0
- package/dist/cjs/components/PromoCode.d.ts +7 -0
- package/dist/cjs/components/PromoCode.js +52 -0
- package/dist/cjs/components/Quantity.d.ts +13 -0
- package/dist/cjs/components/Quantity.js +19 -0
- package/dist/cjs/components/Reward.d.ts +10 -0
- package/dist/cjs/components/Reward.js +39 -0
- package/dist/cjs/components/Rewards.d.ts +10 -0
- package/dist/cjs/components/Rewards.js +15 -0
- package/dist/cjs/components/SignIn.d.ts +11 -0
- package/dist/cjs/components/SignIn.js +37 -0
- package/dist/cjs/components/SignInButton.d.ts +8 -0
- package/dist/cjs/components/SignInButton.js +41 -0
- package/dist/cjs/components/SignInCheckout.d.ts +9 -0
- package/dist/cjs/components/SignInCheckout.js +38 -0
- package/dist/cjs/components/SignInOptions.d.ts +7 -0
- package/dist/cjs/components/SignInOptions.js +28 -0
- package/dist/cjs/components/SignInPhone.d.ts +7 -0
- package/dist/cjs/components/SignInPhone.js +59 -0
- package/dist/cjs/components/SignInQr.d.ts +7 -0
- package/dist/cjs/components/SignInQr.js +61 -0
- package/dist/cjs/components/SuccessMessage.d.ts +9 -0
- package/dist/cjs/components/SuccessMessage.js +10 -0
- package/dist/cjs/components/Tag.d.ts +8 -0
- package/dist/cjs/components/Tag.js +10 -0
- package/dist/cjs/components/TextArea.d.ts +11 -0
- package/dist/cjs/components/TextArea.js +22 -0
- package/dist/cjs/components/UpsellItem.d.ts +10 -0
- package/dist/cjs/components/UpsellItem.js +24 -0
- package/dist/cjs/components/Upsells.d.ts +8 -0
- package/dist/cjs/components/Upsells.js +25 -0
- package/dist/cjs/components/index.d.ts +48 -1
- package/dist/cjs/components/index.js +95 -1
- package/dist/cjs/config/index.js +1 -1
- package/dist/cjs/hooks/useBarcode.js +1 -1
- package/dist/cjs/hooks/useChipDNATender/useChipDNATender.js +1 -1
- package/dist/cjs/hooks/useEmployee.js +8 -4
- package/dist/cjs/hooks/useGiftCardBalance.js +1 -1
- package/dist/cjs/hooks/useOrderValidate.js +1 -1
- package/dist/cjs/hooks/usePunch.js +1 -1
- package/dist/cjs/slices/alerts.js +1 -1
- package/dist/cjs/slices/arrivals.js +32 -36
- package/dist/cjs/slices/checkout.d.ts +1 -1
- package/dist/cjs/slices/checkout.js +329 -351
- package/dist/cjs/slices/config.js +79 -81
- package/dist/cjs/slices/customer.js +17 -19
- package/dist/cjs/slices/customerIdentify.js +16 -18
- package/dist/cjs/slices/deals.js +16 -18
- package/dist/cjs/slices/discounts.js +19 -21
- package/dist/cjs/slices/errorAlerts.d.ts +1 -1
- package/dist/cjs/slices/errorAlerts.js +34 -38
- package/dist/cjs/slices/kds.js +253 -275
- package/dist/cjs/slices/kiosk.d.ts +1 -1
- package/dist/cjs/slices/kiosk.js +50 -52
- package/dist/cjs/slices/menu.js +24 -26
- package/dist/cjs/slices/menuPages.js +16 -18
- package/dist/cjs/slices/notifications.js +1 -1
- package/dist/cjs/slices/offlineAuths.js +32 -36
- package/dist/cjs/slices/order.js +25 -27
- package/dist/cjs/slices/pos.js +59 -65
- package/dist/cjs/slices/punches.d.ts +1 -1
- package/dist/cjs/slices/punches.js +16 -18
- package/dist/cjs/slices/refund.js +54 -60
- package/dist/cjs/slices/settings.js +56 -62
- package/dist/cjs/slices/surcharges.js +19 -21
- package/dist/cjs/slices/taxes.js +19 -21
- package/dist/cjs/utils/punches.js +1 -1
- package/dist/esm/components/Allergen.d.ts +8 -0
- package/dist/esm/components/Allergen.js +9 -0
- package/dist/esm/components/Applied.d.ts +6 -0
- package/dist/esm/components/Applied.js +9 -0
- package/dist/esm/components/ButtonLink.d.ts +9 -0
- package/dist/esm/components/ButtonLink.js +9 -0
- package/dist/esm/components/Card.d.ts +7 -0
- package/dist/esm/components/Card.js +9 -0
- package/dist/esm/components/Cart.d.ts +7 -0
- package/dist/esm/components/Cart.js +38 -0
- package/dist/esm/components/CartItem.d.ts +11 -0
- package/dist/esm/components/CartItem.js +28 -0
- package/dist/esm/components/CartUpsellItem.d.ts +10 -0
- package/dist/esm/components/CartUpsellItem.js +23 -0
- package/dist/esm/components/CartUpsells.d.ts +6 -0
- package/dist/esm/components/CartUpsells.js +22 -0
- package/dist/esm/components/CategoryItem.d.ts +11 -0
- package/dist/esm/components/CategoryItem.js +26 -0
- package/dist/esm/components/CategoryNav.d.ts +7 -0
- package/dist/esm/components/CategoryNav.js +23 -0
- package/dist/esm/components/CategoryNavItem.d.ts +9 -0
- package/dist/esm/components/CategoryNavItem.js +25 -0
- package/dist/esm/components/CategoryNavOther.d.ts +9 -0
- package/dist/esm/components/CategoryNavOther.js +18 -0
- package/dist/esm/components/CheckTotals.d.ts +8 -0
- package/dist/esm/components/CheckTotals.js +9 -0
- package/dist/esm/components/Discount.d.ts +8 -0
- package/dist/esm/components/Discount.js +11 -0
- package/dist/esm/components/ErrorMessage.d.ts +9 -0
- package/dist/esm/components/ErrorMessage.js +9 -0
- package/dist/esm/components/Header.d.ts +9 -0
- package/dist/esm/components/Header.js +23 -0
- package/dist/esm/components/Ingredients.d.ts +10 -0
- package/dist/esm/components/Ingredients.js +10 -0
- package/dist/esm/components/Input.d.ts +11 -0
- package/dist/esm/components/Input.js +21 -0
- package/dist/esm/components/ItemGroup.d.ts +9 -0
- package/dist/esm/components/ItemGroup.js +17 -0
- package/dist/esm/components/ItemGroups.d.ts +11 -0
- package/dist/esm/components/ItemGroups.js +22 -0
- package/dist/esm/components/ItemOption.d.ts +11 -0
- package/dist/esm/components/ItemOption.js +29 -0
- package/dist/esm/components/ItemSelections.d.ts +11 -0
- package/dist/esm/components/ItemSelections.js +20 -0
- package/dist/esm/components/Label.d.ts +10 -0
- package/dist/esm/components/Label.js +9 -0
- package/dist/esm/components/Loader.d.ts +8 -0
- package/dist/esm/components/Loader.js +9 -0
- package/dist/esm/components/MadeForNotes.d.ts +14 -0
- package/dist/esm/components/MadeForNotes.js +26 -0
- package/dist/esm/components/MenuCategory.d.ts +3 -3
- package/dist/esm/components/MenuCategory.js +3 -2
- package/dist/esm/components/MenuOther.d.ts +12 -0
- package/dist/esm/components/MenuOther.js +15 -0
- package/dist/esm/components/Modal.d.ts +9 -0
- package/dist/esm/components/Modal.js +14 -0
- package/dist/esm/components/ModalContent.d.ts +14 -0
- package/dist/esm/components/ModalContent.js +19 -0
- package/dist/esm/components/ModalHeader.d.ts +8 -0
- package/dist/esm/components/ModalHeader.js +9 -0
- package/dist/esm/components/NutritionalInfo.d.ts +11 -0
- package/dist/esm/components/NutritionalInfo.js +17 -0
- package/dist/esm/components/Option.d.ts +11 -0
- package/dist/esm/components/Option.js +22 -0
- package/dist/esm/components/OrderCard.d.ts +9 -0
- package/dist/esm/components/OrderCard.js +53 -0
- package/dist/esm/components/PointsReward.d.ts +10 -0
- package/dist/esm/components/PointsReward.js +60 -0
- package/dist/esm/components/PointsRewards.d.ts +6 -0
- package/dist/esm/components/PointsRewards.js +21 -0
- package/dist/esm/components/PromoCode.d.ts +7 -0
- package/dist/esm/components/PromoCode.js +49 -0
- package/dist/esm/components/Quantity.d.ts +13 -0
- package/dist/esm/components/Quantity.js +17 -0
- package/dist/esm/components/Reward.d.ts +10 -0
- package/dist/esm/components/Reward.js +36 -0
- package/dist/esm/components/Rewards.d.ts +10 -0
- package/dist/esm/components/Rewards.js +12 -0
- package/dist/esm/components/SignIn.d.ts +11 -0
- package/dist/esm/components/SignIn.js +35 -0
- package/dist/esm/components/SignInButton.d.ts +8 -0
- package/dist/esm/components/SignInButton.js +39 -0
- package/dist/esm/components/SignInCheckout.d.ts +9 -0
- package/dist/esm/components/SignInCheckout.js +36 -0
- package/dist/esm/components/SignInOptions.d.ts +7 -0
- package/dist/esm/components/SignInOptions.js +25 -0
- package/dist/esm/components/SignInPhone.d.ts +7 -0
- package/dist/esm/components/SignInPhone.js +56 -0
- package/dist/esm/components/SignInQr.d.ts +7 -0
- package/dist/esm/components/SignInQr.js +59 -0
- package/dist/esm/components/SuccessMessage.d.ts +9 -0
- package/dist/esm/components/SuccessMessage.js +8 -0
- package/dist/esm/components/Tag.d.ts +8 -0
- package/dist/esm/components/Tag.js +8 -0
- package/dist/esm/components/TextArea.d.ts +11 -0
- package/dist/esm/components/TextArea.js +20 -0
- package/dist/esm/components/UpsellItem.d.ts +10 -0
- package/dist/esm/components/UpsellItem.js +22 -0
- package/dist/esm/components/Upsells.d.ts +8 -0
- package/dist/esm/components/Upsells.js +22 -0
- package/dist/esm/components/index.d.ts +48 -1
- package/dist/esm/components/index.js +48 -1
- package/dist/esm/config/index.js +1 -1
- package/dist/esm/hooks/useBarcode.js +1 -1
- package/dist/esm/hooks/useChipDNATender/useChipDNATender.js +1 -1
- package/dist/esm/hooks/useEmployee.js +9 -5
- package/dist/esm/hooks/useGiftCardBalance.js +1 -1
- package/dist/esm/hooks/useOrderValidate.js +1 -1
- package/dist/esm/hooks/usePunch.js +1 -1
- package/dist/esm/slices/alerts.js +1 -1
- package/dist/esm/slices/arrivals.js +32 -36
- package/dist/esm/slices/checkout.d.ts +1 -1
- package/dist/esm/slices/checkout.js +329 -351
- package/dist/esm/slices/config.js +79 -81
- package/dist/esm/slices/customer.js +17 -19
- package/dist/esm/slices/customerIdentify.js +16 -18
- package/dist/esm/slices/deals.js +16 -18
- package/dist/esm/slices/discounts.js +19 -21
- package/dist/esm/slices/errorAlerts.d.ts +1 -1
- package/dist/esm/slices/errorAlerts.js +34 -38
- package/dist/esm/slices/kds.js +253 -275
- package/dist/esm/slices/kiosk.d.ts +1 -1
- package/dist/esm/slices/kiosk.js +50 -52
- package/dist/esm/slices/menu.js +24 -26
- package/dist/esm/slices/menuPages.js +16 -18
- package/dist/esm/slices/notifications.js +1 -1
- package/dist/esm/slices/offlineAuths.js +32 -36
- package/dist/esm/slices/order.js +25 -27
- package/dist/esm/slices/pos.js +59 -65
- package/dist/esm/slices/punches.d.ts +1 -1
- package/dist/esm/slices/punches.js +16 -18
- package/dist/esm/slices/refund.js +54 -60
- package/dist/esm/slices/settings.js +56 -62
- package/dist/esm/slices/surcharges.js +19 -21
- package/dist/esm/slices/taxes.js +19 -21
- package/dist/esm/utils/punches.js +1 -1
- package/package.json +82 -75
- package/dist/.DS_Store +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ModalHeaderProps } from '@open-tender/ui';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
declare const ModalHeader: ({ title, subtitle, children }: {
|
|
4
|
+
title: string;
|
|
5
|
+
subtitle?: string;
|
|
6
|
+
children?: (props: ModalHeaderProps) => ReactNode;
|
|
7
|
+
}) => ReactNode;
|
|
8
|
+
export default ModalHeader;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ModalHeader as ModalHeaderView } from '@open-tender/ui';
|
|
2
|
+
import { useAppSelector } from '../app/hooks';
|
|
3
|
+
import { selectKioskConfig } from '../slices';
|
|
4
|
+
var ModalHeader = function (_a) {
|
|
5
|
+
var title = _a.title, subtitle = _a.subtitle, _b = _a.children, children = _b === void 0 ? ModalHeaderView : _b;
|
|
6
|
+
var config = useAppSelector(selectKioskConfig).modalHeader;
|
|
7
|
+
return children({ config: config, title: title, subtitle: subtitle });
|
|
8
|
+
};
|
|
9
|
+
export default ModalHeader;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NutritionalInfo as NutritionalInfoType } from '@open-tender/types';
|
|
2
|
+
import { NutritionalInfoProps } from '@open-tender/ui';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
declare const NutritionalInfo: ({ title, subtitle, nutritionalInfo, close, children }: {
|
|
5
|
+
title: string;
|
|
6
|
+
subtitle?: string;
|
|
7
|
+
nutritionalInfo: NutritionalInfoType;
|
|
8
|
+
close: () => void;
|
|
9
|
+
children?: (props: NutritionalInfoProps) => ReactNode;
|
|
10
|
+
}) => ReactNode;
|
|
11
|
+
export default NutritionalInfo;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { NutritionalInfo as NutritionalInfoView } from '@open-tender/ui';
|
|
2
|
+
import { useAppSelector } from '../app/hooks';
|
|
3
|
+
import { selectKioskConfig } from '../slices';
|
|
4
|
+
var NutritionalInfo = function (_a) {
|
|
5
|
+
var title = _a.title, subtitle = _a.subtitle, nutritionalInfo = _a.nutritionalInfo, close = _a.close, _b = _a.children, children = _b === void 0 ? NutritionalInfoView : _b;
|
|
6
|
+
var _c = useAppSelector(selectKioskConfig), config = _c.nutritionalInfo, modalContentConfig = _c.modalContent;
|
|
7
|
+
var handlers = { close: close };
|
|
8
|
+
return children({
|
|
9
|
+
config: config,
|
|
10
|
+
handlers: handlers,
|
|
11
|
+
title: title,
|
|
12
|
+
subtitle: subtitle,
|
|
13
|
+
nutritionalInfo: nutritionalInfo,
|
|
14
|
+
modalContentConfig: modalContentConfig
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
export default NutritionalInfo;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CartItemOption, CartLevels } from '@open-tender/types';
|
|
2
|
+
import { Handlers, OptionProps } from '@open-tender/ui';
|
|
3
|
+
import React, { ReactNode } from 'react';
|
|
4
|
+
declare const Option: ({ option, levels, handlers, close, children }: {
|
|
5
|
+
option: CartItemOption | null;
|
|
6
|
+
levels: CartLevels | null;
|
|
7
|
+
handlers: Handlers;
|
|
8
|
+
close: () => void;
|
|
9
|
+
children?: (props: OptionProps) => ReactNode;
|
|
10
|
+
}) => React.ReactNode;
|
|
11
|
+
export default Option;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
import { ItemGroups, Option as OptionView } from '@open-tender/ui';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { useAppSelector } from '../app/hooks';
|
|
5
|
+
import { selectKioskConfig } from '../slices';
|
|
6
|
+
import { default as ItemGroupsContainer } from './ItemGroups';
|
|
7
|
+
var Option = function (_a) {
|
|
8
|
+
var option = _a.option, levels = _a.levels, handlers = _a.handlers, close = _a.close, _b = _a.children, children = _b === void 0 ? OptionView : _b;
|
|
9
|
+
var _c = useAppSelector(selectKioskConfig), config = _c.option, modalContentConfig = _c.modalContent;
|
|
10
|
+
var handlersOption = __assign(__assign({}, handlers), { close: close });
|
|
11
|
+
if (!config || !option || !levels)
|
|
12
|
+
return null;
|
|
13
|
+
var renderItemGroups = function (excludeSize) { return (React.createElement(ItemGroupsContainer, { levels: levels, handlers: handlersOption, groups: option.groups, excludeSize: excludeSize, children: ItemGroups })); };
|
|
14
|
+
return children({
|
|
15
|
+
config: config,
|
|
16
|
+
handlers: handlersOption,
|
|
17
|
+
option: option,
|
|
18
|
+
modalContentConfig: modalContentConfig,
|
|
19
|
+
renderItemGroups: renderItemGroups
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
export default Option;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Order } from '@open-tender/types';
|
|
2
|
+
import { OrderCardProps } from '@open-tender/ui';
|
|
3
|
+
import React, { ReactNode } from 'react';
|
|
4
|
+
declare const OrderCard: ({ order, navigate, children }: {
|
|
5
|
+
order: Order;
|
|
6
|
+
navigate: (route: string) => void;
|
|
7
|
+
children?: (props: OrderCardProps) => ReactNode;
|
|
8
|
+
}) => React.ReactNode;
|
|
9
|
+
export default OrderCard;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ErrorMessage, OrderCard as OrderCardView } from '@open-tender/ui';
|
|
2
|
+
import React, { useEffect, useState } from 'react';
|
|
3
|
+
import { useAppDispatch, useAppSelector } from '../app/hooks';
|
|
4
|
+
import { useOrder } from '../hooks';
|
|
5
|
+
import { selectKioskConfig, selectOrder, reorder as reorderPastOrder } from '../slices';
|
|
6
|
+
import { default as ErrorMessageContainer } from './ErrorMessage';
|
|
7
|
+
var OrderCard = function (_a) {
|
|
8
|
+
var order = _a.order, navigate = _a.navigate, _b = _a.children, children = _b === void 0 ? OrderCardView : _b;
|
|
9
|
+
var dispatch = useAppDispatch();
|
|
10
|
+
var _c = useState(null), errMsg = _c[0], setErrMsg = _c[1];
|
|
11
|
+
var _d = useState(false), isReordering = _d[0], setIsReordering = _d[1];
|
|
12
|
+
var _e = useAppSelector(selectKioskConfig), config = _e.orderCard, cardConfig = _e.card;
|
|
13
|
+
var _f = useAppSelector(selectOrder), loading = _f.loading, error = _f.error;
|
|
14
|
+
var isLoading = loading === 'pending';
|
|
15
|
+
var _g = useOrder(order), itemImages = _g.itemImages, itemNames = _g.itemNames, orderNo = _g.orderNo, title = _g.title, subtitle = _g.subtitle;
|
|
16
|
+
var view = function () {
|
|
17
|
+
return;
|
|
18
|
+
};
|
|
19
|
+
var reorder = function () {
|
|
20
|
+
setErrMsg(null);
|
|
21
|
+
setIsReordering(true);
|
|
22
|
+
dispatch(reorderPastOrder(order.cart));
|
|
23
|
+
};
|
|
24
|
+
var handlers = { view: view, reorder: reorder };
|
|
25
|
+
useEffect(function () {
|
|
26
|
+
if (isReordering && !isLoading) {
|
|
27
|
+
setIsReordering(false);
|
|
28
|
+
if (error) {
|
|
29
|
+
setErrMsg(error.detail);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
navigate('/checkout/details');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}, [isLoading, isReordering, error, navigate]);
|
|
36
|
+
var renderErrorMessage = function (errMsg) { return (React.createElement(ErrorMessageContainer, { content: errMsg, children: ErrorMessage })); };
|
|
37
|
+
if (!config)
|
|
38
|
+
return null;
|
|
39
|
+
return children({
|
|
40
|
+
config: config,
|
|
41
|
+
handlers: handlers,
|
|
42
|
+
isReordering: isReordering,
|
|
43
|
+
errMsg: errMsg,
|
|
44
|
+
cardConfig: cardConfig,
|
|
45
|
+
subtitle: subtitle,
|
|
46
|
+
title: title,
|
|
47
|
+
orderNo: orderNo,
|
|
48
|
+
itemNames: itemNames,
|
|
49
|
+
itemImages: itemImages,
|
|
50
|
+
renderErrorMessage: renderErrorMessage
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
export default OrderCard;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { OrderItem } from '@open-tender/types';
|
|
2
|
+
import { PointsRewardProps } from '@open-tender/ui';
|
|
3
|
+
import React, { ReactNode } from 'react';
|
|
4
|
+
declare const PointsReward: ({ item, callback, children }: {
|
|
5
|
+
item: OrderItem;
|
|
6
|
+
callback?: () => void;
|
|
7
|
+
isLast?: boolean;
|
|
8
|
+
children?: (props: PointsRewardProps) => ReactNode;
|
|
9
|
+
}) => React.ReactNode;
|
|
10
|
+
export default PointsReward;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { __spreadArray } from "tslib";
|
|
2
|
+
import { Quantity, PointsReward as PointsRewardView } from '@open-tender/ui';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { useAppDispatch, useAppSelector } from '../app/hooks';
|
|
5
|
+
import { useCustomerRewards } from '../hooks';
|
|
6
|
+
import { selectKioskConfig, selectPosCheckout, setPoints } from '../slices';
|
|
7
|
+
import { default as QuantityContainer } from './Quantity';
|
|
8
|
+
var PointsReward = function (_a) {
|
|
9
|
+
var _b;
|
|
10
|
+
var item = _a.item, callback = _a.callback, _c = _a.children, children = _c === void 0 ? PointsRewardView : _c;
|
|
11
|
+
var dispatch = useAppDispatch();
|
|
12
|
+
var _d = useAppSelector(selectKioskConfig), config = _d.pointsReward, successMessageConfig = _d.successMessage, cardConfig = _d.card;
|
|
13
|
+
var checkPoints = useAppSelector(selectPosCheckout).points;
|
|
14
|
+
var _e = useCustomerRewards(), points = _e.points, pointsRemaining = _e.pointsRemaining;
|
|
15
|
+
if (!item.points || item.points.index === undefined || !points)
|
|
16
|
+
return null;
|
|
17
|
+
var _f = item.points, index = _f.index, per = _f.per;
|
|
18
|
+
// const appliedIndices = checkPoints.map(i => i.index)
|
|
19
|
+
// const isApplied = appliedIndices.includes(index)
|
|
20
|
+
var itemPointsApplied = ((_b = checkPoints.find(function (i) { return i.index === index; })) === null || _b === void 0 ? void 0 : _b.points) || 0;
|
|
21
|
+
var apply = function () {
|
|
22
|
+
var currentItem = checkPoints.find(function (i) { return i.index === index; });
|
|
23
|
+
var currentPoints = currentItem ? currentItem.points : 0;
|
|
24
|
+
var updatedItem = {
|
|
25
|
+
index: index,
|
|
26
|
+
points: currentPoints + per
|
|
27
|
+
};
|
|
28
|
+
var otherItems = checkPoints.filter(function (i) { return i.index !== index; });
|
|
29
|
+
var updatedPoints = __spreadArray(__spreadArray([], otherItems, true), [updatedItem], false);
|
|
30
|
+
dispatch(setPoints(updatedPoints));
|
|
31
|
+
// dispatch(validatePosOrder())
|
|
32
|
+
if (callback)
|
|
33
|
+
callback();
|
|
34
|
+
};
|
|
35
|
+
var remove = function () {
|
|
36
|
+
var currentItem = checkPoints.find(function (i) { return i.index === index; });
|
|
37
|
+
var currentPoints = currentItem ? currentItem.points : 0;
|
|
38
|
+
var updatedItem = {
|
|
39
|
+
index: index,
|
|
40
|
+
points: currentPoints - per
|
|
41
|
+
};
|
|
42
|
+
var otherItems = checkPoints.filter(function (i) { return i.index !== index; });
|
|
43
|
+
var updatedPoints = updatedItem.points > 0 ? __spreadArray(__spreadArray([], otherItems, true), [updatedItem], false) : otherItems;
|
|
44
|
+
dispatch(setPoints(updatedPoints));
|
|
45
|
+
// dispatch(validatePosOrder())
|
|
46
|
+
if (callback)
|
|
47
|
+
callback();
|
|
48
|
+
};
|
|
49
|
+
var renderQuantity = function (quantity, incrementDisabled) { return (React.createElement(QuantityContainer, { quantity: quantity, increment: apply, incrementDisabled: incrementDisabled, decrement: remove, fontSize: 24, iconSize: 28, children: Quantity })); };
|
|
50
|
+
return children({
|
|
51
|
+
config: config,
|
|
52
|
+
item: item,
|
|
53
|
+
itemPointsApplied: itemPointsApplied,
|
|
54
|
+
pointsRemaining: pointsRemaining,
|
|
55
|
+
successMessageConfig: successMessageConfig,
|
|
56
|
+
cardConfig: cardConfig,
|
|
57
|
+
renderQuantity: renderQuantity
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
export default PointsReward;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PointsReward, PointsRewards as PointsRewardsView } from '@open-tender/ui';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useAppSelector } from '../app/hooks';
|
|
4
|
+
import { useCustomerRewards } from '../hooks';
|
|
5
|
+
import { selectKioskConfig } from '../slices';
|
|
6
|
+
import { default as PointsRewardContainer } from './PointsReward';
|
|
7
|
+
var PointsRewards = function (_a) {
|
|
8
|
+
var _b = _a.children, children = _b === void 0 ? PointsRewardsView : _b;
|
|
9
|
+
var config = useAppSelector(selectKioskConfig).pointsRewards;
|
|
10
|
+
var _c = useCustomerRewards(), items = _c.items, points = _c.points, pointsApplied = _c.pointsApplied, pointsRemaining = _c.pointsRemaining;
|
|
11
|
+
var renderPointReward = function (item) { return (React.createElement(PointsRewardContainer, { item: item, children: PointsReward })); };
|
|
12
|
+
return children({
|
|
13
|
+
config: config,
|
|
14
|
+
items: items,
|
|
15
|
+
points: points,
|
|
16
|
+
pointsApplied: pointsApplied,
|
|
17
|
+
pointsRemaining: pointsRemaining,
|
|
18
|
+
renderPointReward: renderPointReward
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
export default PointsRewards;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PromoCodeProps } from '@open-tender/ui';
|
|
2
|
+
import React, { ReactNode } from 'react';
|
|
3
|
+
declare const PromoCode: ({ close, children }: {
|
|
4
|
+
close: () => void;
|
|
5
|
+
children: (props: PromoCodeProps) => ReactNode;
|
|
6
|
+
}) => React.ReactNode;
|
|
7
|
+
export default PromoCode;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ErrorMessage, Input } from '@open-tender/ui';
|
|
2
|
+
import { handleRespError } from '@open-tender/utils';
|
|
3
|
+
import React, { useEffect, useState } from 'react';
|
|
4
|
+
import { useAppDispatch, useAppSelector } from '../app/hooks';
|
|
5
|
+
import { addPromoCode, selectKioskConfig, selectOrder } from '../slices';
|
|
6
|
+
import { default as ErrorMessageContainer } from './ErrorMessage';
|
|
7
|
+
import { default as InputContainer } from './Input';
|
|
8
|
+
var PromoCode = function (_a) {
|
|
9
|
+
var close = _a.close, children = _a.children;
|
|
10
|
+
var dispatch = useAppDispatch();
|
|
11
|
+
var _b = useState(''), promoCode = _b[0], setPromoCode = _b[1];
|
|
12
|
+
var _c = useState(false), submitted = _c[0], setSubmitted = _c[1];
|
|
13
|
+
var _d = useState(null), errMsg = _d[0], setErrMsg = _d[1];
|
|
14
|
+
var _e = useAppSelector(selectKioskConfig), config = _e.promoCode, modalContentConfig = _e.modalContent;
|
|
15
|
+
var _f = useAppSelector(selectOrder), loading = _f.loading, error = _f.error;
|
|
16
|
+
var isLoading = loading === 'pending';
|
|
17
|
+
var update = function (value) {
|
|
18
|
+
setPromoCode(value);
|
|
19
|
+
};
|
|
20
|
+
var submit = function () {
|
|
21
|
+
setSubmitted(true);
|
|
22
|
+
dispatch(addPromoCode(promoCode));
|
|
23
|
+
};
|
|
24
|
+
var handlers = { submit: submit, close: close };
|
|
25
|
+
useEffect(function () {
|
|
26
|
+
if (submitted && !isLoading) {
|
|
27
|
+
setSubmitted(false);
|
|
28
|
+
if (error) {
|
|
29
|
+
var detail = handleRespError(error).detail;
|
|
30
|
+
setErrMsg(detail || 'Something went wrong');
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
close();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}, [submitted, isLoading, error, close]);
|
|
37
|
+
var renderErrorMessage = function (errMsg) { return (React.createElement(ErrorMessageContainer, { content: errMsg, children: ErrorMessage })); };
|
|
38
|
+
var renderInput = function (value, isRequired, style) { return (React.createElement(InputContainer, { setValue: update, value: value, isRequired: isRequired, style: style, children: Input })); };
|
|
39
|
+
return children({
|
|
40
|
+
config: config,
|
|
41
|
+
handlers: handlers,
|
|
42
|
+
promoCode: promoCode,
|
|
43
|
+
errMsg: errMsg,
|
|
44
|
+
renderErrorMessage: renderErrorMessage,
|
|
45
|
+
modalContentConfig: modalContentConfig,
|
|
46
|
+
renderInput: renderInput
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
export default PromoCode;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { QuantityProps } from '@open-tender/ui';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
declare const Quantity: ({ quantity, increment, incrementDisabled, decrement, decrementDisabled, fontSize, iconSize, children }: {
|
|
4
|
+
quantity: number;
|
|
5
|
+
increment: () => void;
|
|
6
|
+
incrementDisabled?: boolean;
|
|
7
|
+
decrement: () => void;
|
|
8
|
+
decrementDisabled?: boolean;
|
|
9
|
+
fontSize?: number;
|
|
10
|
+
iconSize?: number;
|
|
11
|
+
children: (props: QuantityProps) => ReactNode;
|
|
12
|
+
}) => ReactNode;
|
|
13
|
+
export default Quantity;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useAppSelector } from '../app/hooks';
|
|
2
|
+
import { selectKioskConfig } from '../slices';
|
|
3
|
+
var Quantity = function (_a) {
|
|
4
|
+
var quantity = _a.quantity, increment = _a.increment, _b = _a.incrementDisabled, incrementDisabled = _b === void 0 ? false : _b, decrement = _a.decrement, _c = _a.decrementDisabled, decrementDisabled = _c === void 0 ? false : _c, _d = _a.fontSize, fontSize = _d === void 0 ? 28 : _d, _e = _a.iconSize, iconSize = _e === void 0 ? 36 : _e, children = _a.children;
|
|
5
|
+
var config = useAppSelector(selectKioskConfig).quantity;
|
|
6
|
+
var handlers = { increment: increment, decrement: decrement };
|
|
7
|
+
return children({
|
|
8
|
+
config: config,
|
|
9
|
+
handlers: handlers,
|
|
10
|
+
quantity: quantity,
|
|
11
|
+
incrementDisabled: incrementDisabled,
|
|
12
|
+
decrementDisabled: decrementDisabled,
|
|
13
|
+
fontSize: fontSize,
|
|
14
|
+
iconSize: iconSize
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
export default Quantity;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Discount } from '@open-tender/types';
|
|
2
|
+
import { RewardProps } from '@open-tender/ui';
|
|
3
|
+
import React, { ReactNode } from 'react';
|
|
4
|
+
declare const Reward: ({ reward, callback, isLast, children }: {
|
|
5
|
+
reward: Discount;
|
|
6
|
+
callback?: () => void;
|
|
7
|
+
isLast?: boolean;
|
|
8
|
+
children: (props: RewardProps) => ReactNode;
|
|
9
|
+
}) => React.ReactNode;
|
|
10
|
+
export default Reward;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Applied } from '@open-tender/ui';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useAppDispatch, useAppSelector } from '../app/hooks';
|
|
4
|
+
import { addDiscount, removeDiscount, selectKioskConfig, selectPosCheckout } from '../slices';
|
|
5
|
+
import { default as AppliedContainer } from './Applied';
|
|
6
|
+
var Reward = function (_a) {
|
|
7
|
+
var reward = _a.reward, callback = _a.callback, isLast = _a.isLast, children = _a.children;
|
|
8
|
+
var dispatch = useAppDispatch();
|
|
9
|
+
var _b = useAppSelector(selectKioskConfig), config = _b.reward, cardConfig = _b.card;
|
|
10
|
+
var check = useAppSelector(selectPosCheckout).check;
|
|
11
|
+
var discountIds = check === null || check === void 0 ? void 0 : check.discounts.map(function (i) { return i.id; });
|
|
12
|
+
var id = reward.discount_id;
|
|
13
|
+
var isApplied = !!(discountIds === null || discountIds === void 0 ? void 0 : discountIds.includes(id));
|
|
14
|
+
var apply = function () {
|
|
15
|
+
dispatch(addDiscount({ id: id }));
|
|
16
|
+
if (callback)
|
|
17
|
+
callback();
|
|
18
|
+
};
|
|
19
|
+
var remove = function () {
|
|
20
|
+
dispatch(removeDiscount({ id: id }));
|
|
21
|
+
if (callback)
|
|
22
|
+
callback();
|
|
23
|
+
};
|
|
24
|
+
var handlers = { apply: apply, remove: remove };
|
|
25
|
+
var renderApplied = function () { return React.createElement(AppliedContainer, { children: Applied }); };
|
|
26
|
+
return children({
|
|
27
|
+
config: config,
|
|
28
|
+
handlers: handlers,
|
|
29
|
+
reward: reward,
|
|
30
|
+
isApplied: isApplied,
|
|
31
|
+
isLast: isLast,
|
|
32
|
+
cardConfig: cardConfig,
|
|
33
|
+
renderApplied: renderApplied
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
export default Reward;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Discounts } from '@open-tender/types';
|
|
2
|
+
import { RewardsProps } from '@open-tender/ui';
|
|
3
|
+
import React, { ReactNode } from 'react';
|
|
4
|
+
declare const Rewards: ({ title, subtitle, rewards, children }: {
|
|
5
|
+
title: string;
|
|
6
|
+
subtitle?: string;
|
|
7
|
+
rewards: Discounts;
|
|
8
|
+
children: (props: RewardsProps) => ReactNode;
|
|
9
|
+
}) => React.ReactNode;
|
|
10
|
+
export default Rewards;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Reward } from '@open-tender/ui';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useAppSelector } from '../app/hooks';
|
|
4
|
+
import { selectKioskConfig } from '../slices';
|
|
5
|
+
import { default as RewardContainer } from './Reward';
|
|
6
|
+
var Rewards = function (_a) {
|
|
7
|
+
var title = _a.title, subtitle = _a.subtitle, rewards = _a.rewards, children = _a.children;
|
|
8
|
+
var config = useAppSelector(selectKioskConfig).rewards;
|
|
9
|
+
var renderReward = function (reward, isLast) { return (React.createElement(RewardContainer, { reward: reward, isLast: isLast, children: Reward })); };
|
|
10
|
+
return children({ config: config, title: title, subtitle: subtitle, rewards: rewards, renderReward: renderReward });
|
|
11
|
+
};
|
|
12
|
+
export default Rewards;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { KioskSignInType } from '@open-tender/types';
|
|
2
|
+
import { SignInProps } from '@open-tender/ui';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
declare const SignIn: ({ setSignInType, greeting, punctuation, navigate, children }: {
|
|
5
|
+
setSignInType: (signInType: KioskSignInType) => void;
|
|
6
|
+
greeting?: string;
|
|
7
|
+
punctuation?: string;
|
|
8
|
+
navigate: (route: string) => void;
|
|
9
|
+
children: (props: SignInProps) => ReactNode;
|
|
10
|
+
}) => ReactNode;
|
|
11
|
+
export default SignIn;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { useAppDispatch, useAppSelector } from '../app/hooks';
|
|
3
|
+
import { fetchCustomer, resetCustomer, resetCustomerIdentify, resetMenu, selectCustomerIdentified, selectKioskConfig } from '../slices';
|
|
4
|
+
var endpoints = [
|
|
5
|
+
'ACCOUNT',
|
|
6
|
+
'DEALS',
|
|
7
|
+
'FAVORITES',
|
|
8
|
+
'ORDERS',
|
|
9
|
+
'GIFT_CARDS',
|
|
10
|
+
'LOYALTY',
|
|
11
|
+
'REWARDS'
|
|
12
|
+
];
|
|
13
|
+
var SignIn = function (_a) {
|
|
14
|
+
var setSignInType = _a.setSignInType, _b = _a.greeting, greeting = _b === void 0 ? 'Hi there' : _b, _c = _a.punctuation, punctuation = _c === void 0 ? '!' : _c, navigate = _a.navigate, children = _a.children;
|
|
15
|
+
var dispatch = useAppDispatch();
|
|
16
|
+
var _d = useAppSelector(selectKioskConfig), config = _d.signIn, buttonLinkConfig = _d.buttonLink;
|
|
17
|
+
var customer = (useAppSelector(selectCustomerIdentified) || {}).customer;
|
|
18
|
+
var _e = customer || {}, customerId = _e.customer_id, first_name = _e.first_name;
|
|
19
|
+
var msg = customer ? "".concat(greeting, ", ").concat(first_name).concat(punctuation) : null;
|
|
20
|
+
var signOut = function () {
|
|
21
|
+
dispatch(resetCustomerIdentify());
|
|
22
|
+
dispatch(resetCustomer());
|
|
23
|
+
dispatch(resetMenu());
|
|
24
|
+
setSignInType(null);
|
|
25
|
+
};
|
|
26
|
+
var goToAccount = function () { return navigate('/account'); };
|
|
27
|
+
var handlers = { goToAccount: goToAccount, setSignInType: setSignInType, signOut: signOut };
|
|
28
|
+
useEffect(function () {
|
|
29
|
+
if (customerId) {
|
|
30
|
+
dispatch(fetchCustomer({ customerId: customerId, endpoints: endpoints }));
|
|
31
|
+
}
|
|
32
|
+
}, [dispatch, customerId]);
|
|
33
|
+
return children({ config: config, handlers: handlers, msg: msg, buttonLinkConfig: buttonLinkConfig });
|
|
34
|
+
};
|
|
35
|
+
export default SignIn;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SignInButtonProps } from '@open-tender/ui';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
declare const SignInButton: ({ navigate, children, pathname }: {
|
|
4
|
+
pathname: string;
|
|
5
|
+
navigate: (route: string) => void;
|
|
6
|
+
children: (props: SignInButtonProps) => ReactNode;
|
|
7
|
+
}) => ReactNode;
|
|
8
|
+
export default SignInButton;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { useAppDispatch, useAppSelector } from '../app/hooks';
|
|
3
|
+
import { fetchCustomer, openModal, resetCustomer, resetCustomerIdentify, resetMenu, selectCustomerIdentified, selectKioskConfig } from '../slices';
|
|
4
|
+
var endpoints = [
|
|
5
|
+
'ACCOUNT',
|
|
6
|
+
'DEALS',
|
|
7
|
+
'FAVORITES',
|
|
8
|
+
'ORDERS',
|
|
9
|
+
'GIFT_CARDS',
|
|
10
|
+
'LOYALTY',
|
|
11
|
+
'REWARDS'
|
|
12
|
+
];
|
|
13
|
+
var SignInButton = function (_a) {
|
|
14
|
+
var navigate = _a.navigate, children = _a.children, pathname = _a.pathname;
|
|
15
|
+
var dispatch = useAppDispatch();
|
|
16
|
+
var config = useAppSelector(selectKioskConfig).signInButton;
|
|
17
|
+
var customer = (useAppSelector(selectCustomerIdentified) || {}).customer;
|
|
18
|
+
var customerId = (customer || {}).customer_id;
|
|
19
|
+
var isAccount = pathname.includes('account');
|
|
20
|
+
var signIn = function () {
|
|
21
|
+
dispatch(openModal({ type: 'SIGN_IN' }));
|
|
22
|
+
};
|
|
23
|
+
var signOut = function () {
|
|
24
|
+
dispatch(resetCustomerIdentify());
|
|
25
|
+
dispatch(resetCustomer());
|
|
26
|
+
dispatch(resetMenu());
|
|
27
|
+
};
|
|
28
|
+
var goToAccount = function () { return navigate('/account'); };
|
|
29
|
+
var handlers = { signIn: signIn, signOut: signOut, goToAccount: goToAccount };
|
|
30
|
+
useEffect(function () {
|
|
31
|
+
if (customerId) {
|
|
32
|
+
dispatch(fetchCustomer({ customerId: customerId, endpoints: endpoints }));
|
|
33
|
+
}
|
|
34
|
+
}, [dispatch, customerId]);
|
|
35
|
+
if (!config)
|
|
36
|
+
return null;
|
|
37
|
+
return children({ config: config, handlers: handlers, customer: customer, isAccount: isAccount });
|
|
38
|
+
};
|
|
39
|
+
export default SignInButton;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { KioskSignInType } from '@open-tender/types';
|
|
2
|
+
import { SignInCheckoutProps } from '@open-tender/ui';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
declare const SignInCheckout: ({ setSignInType, navigate, children }: {
|
|
5
|
+
setSignInType: (signInType: KioskSignInType) => void;
|
|
6
|
+
navigate: (route: string) => void;
|
|
7
|
+
children: (props: SignInCheckoutProps) => ReactNode;
|
|
8
|
+
}) => ReactNode;
|
|
9
|
+
export default SignInCheckout;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { useAppDispatch, useAppSelector } from '../app/hooks';
|
|
3
|
+
import { fetchCustomer, resetCustomer, resetCustomerIdentify, resetMenu, selectCustomerIdentified, selectKioskConfig } from '../slices';
|
|
4
|
+
var endpoints = [
|
|
5
|
+
'ACCOUNT',
|
|
6
|
+
'DEALS',
|
|
7
|
+
'FAVORITES',
|
|
8
|
+
'ORDERS',
|
|
9
|
+
'GIFT_CARDS',
|
|
10
|
+
'LOYALTY',
|
|
11
|
+
'REWARDS'
|
|
12
|
+
];
|
|
13
|
+
var SignInCheckout = function (_a) {
|
|
14
|
+
var setSignInType = _a.setSignInType, navigate = _a.navigate, children = _a.children;
|
|
15
|
+
var dispatch = useAppDispatch();
|
|
16
|
+
var config = useAppSelector(selectKioskConfig).signInCheckout;
|
|
17
|
+
var customer = useAppSelector(selectCustomerIdentified);
|
|
18
|
+
var customerId = ((customer === null || customer === void 0 ? void 0 : customer.customer) || {}).customer_id;
|
|
19
|
+
var signOut = function () {
|
|
20
|
+
dispatch(resetCustomerIdentify());
|
|
21
|
+
dispatch(resetCustomer());
|
|
22
|
+
dispatch(resetMenu());
|
|
23
|
+
setSignInType(null);
|
|
24
|
+
};
|
|
25
|
+
var goToAccount = function () { return navigate('/account'); };
|
|
26
|
+
var handlers = { setSignInType: setSignInType, goToAccount: goToAccount, signOut: signOut };
|
|
27
|
+
useEffect(function () {
|
|
28
|
+
if (customerId) {
|
|
29
|
+
dispatch(fetchCustomer({ customerId: customerId, endpoints: endpoints }));
|
|
30
|
+
}
|
|
31
|
+
}, [dispatch, customerId]);
|
|
32
|
+
if (!config)
|
|
33
|
+
return null;
|
|
34
|
+
return children({ config: config, handlers: handlers, customer: customer });
|
|
35
|
+
};
|
|
36
|
+
export default SignInCheckout;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SignInOptionsProps } from '@open-tender/ui';
|
|
2
|
+
import React, { ReactNode } from 'react';
|
|
3
|
+
declare const SignInOptions: ({ close, children }: {
|
|
4
|
+
close: () => void;
|
|
5
|
+
children: (props: SignInOptionsProps) => ReactNode;
|
|
6
|
+
}) => React.ReactNode;
|
|
7
|
+
export default SignInOptions;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SignInPhone, SignInQr } from '@open-tender/ui';
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import { useAppSelector } from '../app/hooks';
|
|
4
|
+
import { selectKioskConfig } from '../slices';
|
|
5
|
+
import { default as SignInPhoneContainer } from './SignInPhone';
|
|
6
|
+
import { default as SignInQrContainer } from './SignInQr';
|
|
7
|
+
var SignInOptions = function (_a) {
|
|
8
|
+
var close = _a.close, children = _a.children;
|
|
9
|
+
var _b = useAppSelector(selectKioskConfig), config = _b.signInOptions, modalContentConfig = _b.modalContent;
|
|
10
|
+
var _c = useState(null), signInType = _c[0], setSignInType = _c[1];
|
|
11
|
+
var handlers = { close: close, setSignInType: setSignInType };
|
|
12
|
+
var renderSignInQr = function (close) { return (React.createElement(SignInQrContainer, { close: close, children: SignInQr })); };
|
|
13
|
+
var renderSignInPhone = function (close) { return (React.createElement(SignInPhoneContainer, { close: close, children: SignInPhone })); };
|
|
14
|
+
if (!config)
|
|
15
|
+
return null;
|
|
16
|
+
return children({
|
|
17
|
+
config: config,
|
|
18
|
+
handlers: handlers,
|
|
19
|
+
signInType: signInType,
|
|
20
|
+
modalContentConfig: modalContentConfig,
|
|
21
|
+
renderSignInQr: renderSignInQr,
|
|
22
|
+
renderSignInPhone: renderSignInPhone
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
export default SignInOptions;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SignInPhoneProps } from '@open-tender/ui';
|
|
2
|
+
import React, { ReactNode } from 'react';
|
|
3
|
+
declare const SignInPhone: ({ close, children }: {
|
|
4
|
+
close: () => void;
|
|
5
|
+
children: (props: SignInPhoneProps) => ReactNode;
|
|
6
|
+
}) => React.ReactNode;
|
|
7
|
+
export default SignInPhone;
|