@open-tender/store
Version:
A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API
44 lines (43 loc) • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
var hooks_1 = require("../app/hooks");
var slices_1 = require("../slices");
var endpoints = [
'ACCOUNT',
'DEALS',
'FAVORITES',
'ORDERS',
'GIFT_CARDS',
'LOYALTY',
'REWARDS'
];
var SignInCheckout = function (_a) {
var children = _a.children;
var dispatch = (0, hooks_1.useAppDispatch)();
var config = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).signInCheckout;
var customer = (0, hooks_1.useAppSelector)(slices_1.selectCustomerIdentified);
var customerId = ((customer === null || customer === void 0 ? void 0 : customer.customer) || {}).customer_id;
var signIn = function () {
dispatch((0, slices_1.openModal)({ type: 'SIGN_IN' }));
};
var signOut = function () {
dispatch((0, slices_1.resetCustomerIdentify)());
dispatch((0, slices_1.resetCustomer)());
dispatch((0, slices_1.resetMenu)());
};
var handlers = { signIn: signIn, signOut: signOut };
(0, react_1.useEffect)(function () {
if (customerId) {
dispatch((0, slices_1.fetchCustomer)({ customerId: customerId, endpoints: endpoints }));
}
}, [dispatch, customerId]);
if (!config)
return null;
return children({
config: config,
handlers: handlers,
customer: customer
});
};
exports.default = SignInCheckout;