ordering-ui-admin-external 1.35.6 → 1.36.0

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.
Files changed (106) hide show
  1. package/_bundles/{ordering-ui-admin.96b9c2dbf6ae132b2099.js → ordering-ui-admin.6fdb2672f967b8414891.js} +2 -2
  2. package/_modules/components/BusinessIntelligence/AnalyticsAvailableTimes/index.js +3 -2
  3. package/_modules/components/BusinessIntelligence/AnalyticsBusyTimes/index.js +3 -2
  4. package/_modules/components/BusinessIntelligence/AnalyticsCustomerSatisfaction/index.js +2 -1
  5. package/_modules/components/BusinessIntelligence/AnalyticsDriverOrders/index.js +3 -2
  6. package/_modules/components/BusinessIntelligence/AnalyticsOrdersAcceptSpend/index.js +2 -1
  7. package/_modules/components/BusinessIntelligence/AnalyticsOrdersOrSales/index.js +3 -2
  8. package/_modules/components/BusinessIntelligence/AnalyticsOrdersStatus/index.js +3 -2
  9. package/_modules/components/BusinessIntelligence/AnalyticsProductCategories/index.js +2 -1
  10. package/_modules/components/BusinessIntelligence/AnalyticsRegisterUsers/index.js +3 -2
  11. package/_modules/components/BusinessIntelligence/AnalyticsSpendList/index.js +2 -1
  12. package/_modules/components/BusinessIntelligence/AnalyticsSpendTimes/index.js +3 -2
  13. package/_modules/components/BusinessIntelligence/AnalyticsTopOrders/index.js +2 -1
  14. package/_modules/components/BusinessIntelligence/DriverAnalytics/index.js +1 -1
  15. package/_modules/components/BusinessIntelligence/GraphLoadingMessage/index.js +24 -0
  16. package/_modules/components/BusinessIntelligence/GraphLoadingMessage/styles.js +14 -0
  17. package/_modules/components/Home/HomePage/index.js +10 -1
  18. package/_modules/components/Home/HomePage/styles.js +7 -3
  19. package/_modules/components/Marketing/CampaignDetail/index.js +16 -10
  20. package/_modules/components/Marketing/CampaignDetail/styles.js +5 -3
  21. package/_modules/components/Marketing/CampaignDetailGeneral/index.js +64 -6
  22. package/_modules/components/Marketing/CampaignDetailGeneral/styles.js +38 -26
  23. package/_modules/components/Marketing/CampaignEmail/index.js +13 -19
  24. package/_modules/components/Marketing/CampaignEmail/styles.js +6 -4
  25. package/_modules/components/Marketing/CampaignList/index.js +56 -5
  26. package/_modules/components/Marketing/CampaignListing/index.js +1 -1
  27. package/_modules/components/Marketing/CampaignNotification/index.js +7 -1
  28. package/_modules/components/Marketing/CampaignNotification/styles.js +5 -3
  29. package/_modules/components/Marketing/CampaignSMS/index.js +7 -1
  30. package/_modules/components/Marketing/CampaignSMS/styles.js +5 -3
  31. package/_modules/components/Marketing/CampaignUsersList/index.js +7 -4
  32. package/_modules/components/Marketing/index.js +0 -7
  33. package/_modules/components/Orders/AllInOne/DriversManager/index.js +10 -7
  34. package/_modules/components/Orders/AllInOne/index.js +45 -32
  35. package/_modules/components/Orders/CreateCustomOrder/index.js +4 -1
  36. package/_modules/components/Orders/DriverMapMarkerAndInfo/index.js +2 -4
  37. package/_modules/components/Orders/DriversLocation/index.js +47 -34
  38. package/_modules/components/Orders/OrderContactInformation/index.js +2 -1
  39. package/_modules/components/Orders/OrderDetails/styles.js +16 -8
  40. package/_modules/components/Orders/OrderDetailsHeader/index.js +1 -1
  41. package/_modules/components/Orders/OrderStatusTypeSelector/index.js +36 -0
  42. package/_modules/components/Stores/BusinessPaymentMethods/index.js +5 -1
  43. package/_modules/components/Stores/ChildMapplingList/index.js +3 -10
  44. package/_modules/components/Stores/ImporterForm/index.js +2 -1
  45. package/_modules/components/Stores/PaymentOption/index.js +31 -6
  46. package/_modules/components/Stores/PaymentOption/styles.js +5 -3
  47. package/_modules/components/Stores/PaymentOptionSquare/index.js +26 -4
  48. package/_modules/components/Stores/PaymentOptionSquare/styles.js +5 -3
  49. package/_modules/components/Stores/ProductDetailsAdvanced/index.js +1 -1
  50. package/_modules/index.js +0 -6
  51. package/index-template.js +1 -1
  52. package/package.json +2 -2
  53. package/src/components/BusinessIntelligence/AnalyticsAvailableTimes/index.js +5 -1
  54. package/src/components/BusinessIntelligence/AnalyticsBusyTimes/index.js +5 -1
  55. package/src/components/BusinessIntelligence/AnalyticsCustomerSatisfaction/index.js +2 -0
  56. package/src/components/BusinessIntelligence/AnalyticsDriverOrders/index.js +5 -1
  57. package/src/components/BusinessIntelligence/AnalyticsOrdersAcceptSpend/index.js +2 -0
  58. package/src/components/BusinessIntelligence/AnalyticsOrdersOrSales/index.js +5 -1
  59. package/src/components/BusinessIntelligence/AnalyticsOrdersStatus/index.js +5 -1
  60. package/src/components/BusinessIntelligence/AnalyticsProductCategories/index.js +2 -0
  61. package/src/components/BusinessIntelligence/AnalyticsRegisterUsers/index.js +5 -1
  62. package/src/components/BusinessIntelligence/AnalyticsSpendList/index.js +2 -0
  63. package/src/components/BusinessIntelligence/AnalyticsSpendTimes/index.js +5 -1
  64. package/src/components/BusinessIntelligence/AnalyticsTopOrders/index.js +2 -0
  65. package/src/components/BusinessIntelligence/DriverAnalytics/index.js +1 -1
  66. package/src/components/BusinessIntelligence/GraphLoadingMessage/index.js +15 -0
  67. package/src/components/BusinessIntelligence/GraphLoadingMessage/styles.js +20 -0
  68. package/src/components/Home/HomePage/index.js +12 -1
  69. package/src/components/Home/HomePage/styles.js +29 -0
  70. package/src/components/Marketing/CampaignDetail/index.js +20 -5
  71. package/src/components/Marketing/CampaignDetail/styles.js +16 -0
  72. package/src/components/Marketing/CampaignDetailGeneral/index.js +47 -2
  73. package/src/components/Marketing/CampaignDetailGeneral/styles.js +55 -0
  74. package/src/components/Marketing/CampaignEmail/index.js +82 -92
  75. package/src/components/Marketing/CampaignEmail/styles.js +17 -0
  76. package/src/components/Marketing/CampaignList/index.js +49 -2
  77. package/src/components/Marketing/CampaignListing/index.js +1 -1
  78. package/src/components/Marketing/CampaignNotification/index.js +6 -1
  79. package/src/components/Marketing/CampaignNotification/styles.js +16 -0
  80. package/src/components/Marketing/CampaignSMS/index.js +6 -1
  81. package/src/components/Marketing/CampaignSMS/styles.js +16 -0
  82. package/src/components/Marketing/CampaignUsersList/index.js +16 -7
  83. package/src/components/Marketing/index.js +0 -2
  84. package/src/components/Orders/AllInOne/DriversManager/index.js +9 -2
  85. package/src/components/Orders/AllInOne/index.js +8 -1
  86. package/src/components/Orders/CreateCustomOrder/index.js +11 -8
  87. package/src/components/Orders/DriverMapMarkerAndInfo/index.js +3 -3
  88. package/src/components/Orders/DriversLocation/index.js +57 -30
  89. package/src/components/Orders/OrderContactInformation/index.js +2 -2
  90. package/src/components/Orders/OrderDetails/styles.js +6 -2
  91. package/src/components/Orders/OrderDetailsHeader/index.js +10 -0
  92. package/src/components/Orders/OrderStatusTypeSelector/index.js +30 -0
  93. package/src/components/Stores/BusinessPaymentMethods/index.js +4 -0
  94. package/src/components/Stores/ChildMapplingList/index.js +1 -7
  95. package/src/components/Stores/ImporterForm/index.js +2 -1
  96. package/src/components/Stores/PaymentOption/index.js +41 -4
  97. package/src/components/Stores/PaymentOption/styles.js +4 -0
  98. package/src/components/Stores/PaymentOptionSquare/index.js +31 -1
  99. package/src/components/Stores/PaymentOptionSquare/styles.js +4 -0
  100. package/src/components/Stores/ProductDetailsAdvanced/index.js +1 -1
  101. package/src/index.js +0 -2
  102. package/_modules/components/Marketing/CampaignDetailContent/index.js +0 -128
  103. package/_modules/components/Marketing/CampaignDetailContent/styles.js +0 -24
  104. package/src/components/Marketing/CampaignDetailContent/index.js +0 -105
  105. package/src/components/Marketing/CampaignDetailContent/styles.js +0 -58
  106. /package/_bundles/{ordering-ui-admin.96b9c2dbf6ae132b2099.js.LICENSE.txt → ordering-ui-admin.6fdb2672f967b8414891.js.LICENSE.txt} +0 -0
@@ -144,6 +144,7 @@ var ImporterFormUI = function ImporterFormUI(props) {
144
144
  document.getElementById('meta-field-form').reset();
145
145
  };
146
146
  var handleSelectOption = function handleSelectOption(val) {
147
+ if (!val) return;
147
148
  setImportType(val);
148
149
  };
149
150
  var closeAlert = function closeAlert() {
@@ -421,7 +422,7 @@ var ImporterFormUI = function ImporterFormUI(props) {
421
422
  disabled: formState.loading,
422
423
  autoComplete: "off",
423
424
  value: (mappingState === null || mappingState === void 0 ? void 0 : mappingState['external_extra_option_suboption_id']) || ''
424
- })))))), !isAdvanedOptions && importType !== 8 && /*#__PURE__*/_react.default.createElement(_styles2.FiledListWrapper, {
425
+ })))))), importType !== 8 && /*#__PURE__*/_react.default.createElement(_styles2.FiledListWrapper, {
425
426
  disabled: isDefaultImporter
426
427
  }, /*#__PURE__*/_react.default.createElement("label", null, t('FIELDS', 'Fields')), Object.keys(fieldList).length > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, Object.entries(fieldList).map(function (value, i) {
427
428
  return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, {
@@ -38,18 +38,21 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
38
38
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
39
39
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
40
40
  var PaymentOption = function PaymentOption(props) {
41
- var _sitesState$sites, _localState$sites, _businessPaymethod$si, _businessPaymethod$pa2, _businessPaymethod$pa3, _sitesState$sites4, _sitesState$sites5;
41
+ var _sitesState$sites, _localState$sites, _businessPaymethod$si, _businessPaymethod$pa2, _businessPaymethod$pa3, _sitesState$sites4, _sitesState$sites5, _deviceState$devices, _deviceState$devices2;
42
42
  var open = props.open,
43
43
  onClose = props.onClose,
44
44
  orderTypes = props.orderTypes,
45
45
  sitesState = props.sitesState,
46
+ deviceState = props.deviceState,
46
47
  changesState = props.changesState,
47
48
  handleChangeBusinessPaymentState = props.handleChangeBusinessPaymentState,
48
49
  cleanChangesState = props.cleanChangesState,
49
50
  actionState = props.actionState,
50
51
  handleSaveClick = props.handleSaveClick,
51
52
  businessPaymethod = props.businessPaymethod,
52
- handleDeletePaymethod = props.handleDeletePaymethod;
53
+ handleDeletePaymethod = props.handleDeletePaymethod,
54
+ selectedPaymethodGateway = props.selectedPaymethodGateway;
55
+ var allowDevicesPaymethods = ['cash', 'card_delivery'];
53
56
  var query = new URLSearchParams((0, _reactRouterDom.useLocation)().search);
54
57
  var theme = (0, _styledComponents.useTheme)();
55
58
  var _useLanguage = (0, _orderingComponentsAdminExternal.useLanguage)(),
@@ -75,7 +78,8 @@ var PaymentOption = function PaymentOption(props) {
75
78
  setConfirm = _useState6[1];
76
79
  var _useState7 = (0, _react.useState)({
77
80
  allowed_order_types: businessPaymethod === null || businessPaymethod === void 0 ? void 0 : businessPaymethod.allowed_order_types,
78
- sites: businessPaymethod === null || businessPaymethod === void 0 ? void 0 : businessPaymethod.sites
81
+ sites: businessPaymethod === null || businessPaymethod === void 0 ? void 0 : businessPaymethod.sites,
82
+ devices: businessPaymethod === null || businessPaymethod === void 0 ? void 0 : businessPaymethod.devices
79
83
  }),
80
84
  _useState8 = _slicedToArray(_useState7, 2),
81
85
  localState = _useState8[0],
@@ -157,8 +161,9 @@ var PaymentOption = function PaymentOption(props) {
157
161
  var changes = {};
158
162
  if (changesState !== null && changesState !== void 0 && changesState.allowed_order_types) changes.allowed_order_types = changesState === null || changesState === void 0 ? void 0 : changesState.allowed_order_types;
159
163
  if (changesState !== null && changesState !== void 0 && changesState.sites) changes.sites = changesState === null || changesState === void 0 ? void 0 : changesState.sites;
164
+ if (changesState !== null && changesState !== void 0 && changesState.devices && allowDevicesPaymethods.includes(selectedPaymethodGateway)) changes.devices = changesState === null || changesState === void 0 ? void 0 : changesState.devices;
160
165
  if (Object.keys(changes).length > 0) setLocalState(JSON.parse(JSON.stringify(changes)));
161
- }, [changesState === null || changesState === void 0 ? void 0 : changesState.allowed_order_types, changesState === null || changesState === void 0 ? void 0 : changesState.sites]);
166
+ }, [changesState === null || changesState === void 0 ? void 0 : changesState.allowed_order_types, changesState === null || changesState === void 0 ? void 0 : changesState.sites, changesState === null || changesState === void 0 ? void 0 : changesState.devices]);
162
167
  var handleTabClick = function handleTabClick(tab, isInitialRender) {
163
168
  setPaymentTabs(tab);
164
169
  if (!isInitialRender) {
@@ -200,7 +205,12 @@ var PaymentOption = function PaymentOption(props) {
200
205
  onClick: function onClick() {
201
206
  return handleTabClick(1);
202
207
  }
203
- }, t('ORDER_TYPE', 'Order type'))), paymentTabs === 0 && (sitesState === null || sitesState === void 0 || (_sitesState$sites5 = sitesState.sites) === null || _sitesState$sites5 === void 0 ? void 0 : _sitesState$sites5.length) > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styles3.TabOption, {
208
+ }, t('ORDER_TYPE', 'Order type')), allowDevicesPaymethods.includes(selectedPaymethodGateway) && /*#__PURE__*/_react.default.createElement(_styles2.Tab, {
209
+ active: paymentTabs === 2,
210
+ onClick: function onClick() {
211
+ return handleTabClick(2);
212
+ }
213
+ }, t('DEVICES', 'Devices'))), paymentTabs === 0 && (sitesState === null || sitesState === void 0 || (_sitesState$sites5 = sitesState.sites) === null || _sitesState$sites5 === void 0 ? void 0 : _sitesState$sites5.length) > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styles3.TabOption, {
204
214
  key: "all",
205
215
  onClick: function onClick() {
206
216
  return setPaymethodInfo({
@@ -238,7 +248,22 @@ var PaymentOption = function PaymentOption(props) {
238
248
  }, (_ref3 = (_localState$allowed_o = localState === null || localState === void 0 ? void 0 : localState.allowed_order_types) !== null && _localState$allowed_o !== void 0 ? _localState$allowed_o : businessPaymethod === null || businessPaymethod === void 0 ? void 0 : businessPaymethod.allowed_order_types) !== null && _ref3 !== void 0 && _ref3.includes(type.value) ? /*#__PURE__*/_react.default.createElement(_RiCheckboxFill.default, {
239
249
  className: "fill"
240
250
  }) : /*#__PURE__*/_react.default.createElement(_RiCheckboxBlankLine.default, null), /*#__PURE__*/_react.default.createElement(_styles3.TabOptionName, null, type.text));
241
- }), /*#__PURE__*/_react.default.createElement(_styles.Button, {
251
+ }), paymentTabs === 2 && allowDevicesPaymethods.includes(selectedPaymethodGateway) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (deviceState === null || deviceState === void 0 || (_deviceState$devices = deviceState.devices) === null || _deviceState$devices === void 0 ? void 0 : _deviceState$devices.length) > 0 && (deviceState === null || deviceState === void 0 ? void 0 : deviceState.devices.map(function (device) {
252
+ var _ref4, _localState$devices, _businessPaymethod$de;
253
+ return /*#__PURE__*/_react.default.createElement(_styles3.TabOption, {
254
+ key: device.id,
255
+ onClick: function onClick() {
256
+ return setPaymethodInfo({
257
+ key: 'devices',
258
+ value: device.id
259
+ });
260
+ }
261
+ }, (_ref4 = (_localState$devices = localState === null || localState === void 0 ? void 0 : localState.devices) !== null && _localState$devices !== void 0 ? _localState$devices : businessPaymethod === null || businessPaymethod === void 0 || (_businessPaymethod$de = businessPaymethod.devices) === null || _businessPaymethod$de === void 0 ? void 0 : _businessPaymethod$de.map(function (s) {
262
+ return s.id;
263
+ })) !== null && _ref4 !== void 0 && _ref4.includes(device.id) ? /*#__PURE__*/_react.default.createElement(_RiCheckboxFill.default, {
264
+ className: "fill"
265
+ }) : /*#__PURE__*/_react.default.createElement(_RiCheckboxBlankLine.default, null), /*#__PURE__*/_react.default.createElement(_styles3.TabOptionName, null, device.name));
266
+ })), (deviceState === null || deviceState === void 0 || (_deviceState$devices2 = deviceState.devices) === null || _deviceState$devices2 === void 0 ? void 0 : _deviceState$devices2.length) === 0 && /*#__PURE__*/_react.default.createElement(_styles3.EmptyMessage, null, t('NO_ASSIGNED_DEVICES', 'There are no assigned devices'))), /*#__PURE__*/_react.default.createElement(_styles.Button, {
242
267
  borderRadius: "5px",
243
268
  color: "primary",
244
269
  disabled: actionState.loading || Object.keys(changesState).length === 0,
@@ -4,10 +4,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.TabOptionName = exports.TabOption = exports.Header = exports.Container = exports.CloseButton = exports.ActionSelectorWrapper = void 0;
7
+ exports.TabOptionName = exports.TabOption = exports.Header = exports.EmptyMessage = exports.Container = exports.CloseButton = exports.ActionSelectorWrapper = void 0;
8
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
9
  var _polished = require("polished");
10
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
11
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
13
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
@@ -55,4 +55,6 @@ var TabOptionName = _styledComponents.default.span(_templateObject9 || (_templat
55
55
  var _props$theme2;
56
56
  return (_props$theme2 = props.theme) !== null && _props$theme2 !== void 0 && _props$theme2.rtl ? (0, _styledComponents.css)(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n margin-right: 10px;\n "]))) : (0, _styledComponents.css)(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n margin-left: 10px;\n "])));
57
57
  });
58
- exports.TabOptionName = TabOptionName;
58
+ exports.TabOptionName = TabOptionName;
59
+ var EmptyMessage = _styledComponents.default.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n padding: 15px 0;\n"])));
60
+ exports.EmptyMessage = EmptyMessage;
@@ -40,7 +40,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
40
40
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
41
41
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
42
42
  var PaymentOptionSquareUI = function PaymentOptionSquareUI(props) {
43
- var _businessPaymethod$pa2, _businessPaymethod$pa3, _sitesState$sites, _ref2, _squareData$sandbox, _ref3, _squareData$data$appl, _squareData$data, _businessPaymethod$da, _ref4, _squareData$data$loca, _squareData$data2, _businessPaymethod$da2, _ref5, _squareData$data$clie, _squareData$data3, _businessPaymethod$da3, _ref6, _squareData$data_sand, _squareData$data_sand2, _businessPaymethod$da4, _ref7, _squareData$data_sand3, _squareData$data_sand4, _businessPaymethod$da5, _ref8, _squareData$data_sand5, _squareData$data_sand6, _businessPaymethod$da6, _sitesState$sites2;
43
+ var _businessPaymethod$pa2, _businessPaymethod$pa3, _sitesState$sites, _ref2, _squareData$sandbox, _ref3, _squareData$data$appl, _squareData$data, _businessPaymethod$da, _ref4, _squareData$data$loca, _squareData$data2, _businessPaymethod$da2, _ref5, _squareData$data$clie, _squareData$data3, _businessPaymethod$da3, _ref6, _squareData$data_sand, _squareData$data_sand2, _businessPaymethod$da4, _ref7, _squareData$data_sand3, _squareData$data_sand4, _businessPaymethod$da5, _ref8, _squareData$data_sand5, _squareData$data_sand6, _businessPaymethod$da6, _sitesState$sites2, _deviceState$devices, _deviceState$devices2;
44
44
  var open = props.open,
45
45
  onClose = props.onClose,
46
46
  businessPaymethod = props.businessPaymethod,
@@ -55,7 +55,9 @@ var PaymentOptionSquareUI = function PaymentOptionSquareUI(props) {
55
55
  handleSavePaymethod = props.handleSavePaymethod,
56
56
  handleChangeDataInput = props.handleChangeDataInput,
57
57
  handleChangeSanboxDataInput = props.handleChangeSanboxDataInput,
58
- handleChangeSandbox = props.handleChangeSandbox;
58
+ handleChangeSandbox = props.handleChangeSandbox,
59
+ deviceState = props.deviceState,
60
+ EmptyMessage = props.EmptyMessage;
59
61
  var query = new URLSearchParams((0, _reactRouterDom.useLocation)().search);
60
62
  var theme = (0, _styledComponents.useTheme)();
61
63
  var _useLanguage = (0, _orderingComponentsAdminExternal.useLanguage)(),
@@ -183,7 +185,12 @@ var PaymentOptionSquareUI = function PaymentOptionSquareUI(props) {
183
185
  onClick: function onClick() {
184
186
  return handleTabClick(2);
185
187
  }
186
- }, t('ORDER_TYPE', 'Order type'))), paymentTabs === 0 && /*#__PURE__*/_react.default.createElement(_styles4.SquareInfoContainer, null, /*#__PURE__*/_react.default.createElement(_styles4.SquareButtonWrapper, null, /*#__PURE__*/_react.default.createElement(_styles.Button, {
188
+ }, t('ORDER_TYPE', 'Order type')), /*#__PURE__*/_react.default.createElement(_styles2.Tab, {
189
+ active: paymentTabs === 3,
190
+ onClick: function onClick() {
191
+ return handleTabClick(3);
192
+ }
193
+ }, t('DEVICES', 'Devices'))), paymentTabs === 0 && /*#__PURE__*/_react.default.createElement(_styles4.SquareInfoContainer, null, /*#__PURE__*/_react.default.createElement(_styles4.SquareButtonWrapper, null, /*#__PURE__*/_react.default.createElement(_styles.Button, {
187
194
  borderRadius: "8px",
188
195
  color: "primary",
189
196
  onClick: handleConnectSquare
@@ -256,7 +263,22 @@ var PaymentOptionSquareUI = function PaymentOptionSquareUI(props) {
256
263
  }, (_ref10 = (_changesState$allowed = changesState === null || changesState === void 0 ? void 0 : changesState.allowed_order_types) !== null && _changesState$allowed !== void 0 ? _changesState$allowed : businessPaymethod === null || businessPaymethod === void 0 ? void 0 : businessPaymethod.allowed_order_types) !== null && _ref10 !== void 0 && _ref10.includes(type.value) ? /*#__PURE__*/_react.default.createElement(_RiCheckboxFill.default, {
257
264
  className: "fill"
258
265
  }) : /*#__PURE__*/_react.default.createElement(_RiCheckboxBlankLine.default, null), /*#__PURE__*/_react.default.createElement(_styles3.TabOptionName, null, type.text));
259
- }), /*#__PURE__*/_react.default.createElement(_Shared.Confirm, {
266
+ }), paymentTabs === 3 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (deviceState === null || deviceState === void 0 || (_deviceState$devices = deviceState.devices) === null || _deviceState$devices === void 0 ? void 0 : _deviceState$devices.length) > 0 && (deviceState === null || deviceState === void 0 ? void 0 : deviceState.devices.map(function (device) {
267
+ var _ref11, _changesState$devices, _businessPaymethod$de;
268
+ return /*#__PURE__*/_react.default.createElement(_styles3.TabOption, {
269
+ key: device.id,
270
+ onClick: function onClick() {
271
+ return setPaymethodInfo({
272
+ key: 'devices',
273
+ value: device.id
274
+ });
275
+ }
276
+ }, (_ref11 = (_changesState$devices = changesState === null || changesState === void 0 ? void 0 : changesState.devices) !== null && _changesState$devices !== void 0 ? _changesState$devices : businessPaymethod === null || businessPaymethod === void 0 || (_businessPaymethod$de = businessPaymethod.devices) === null || _businessPaymethod$de === void 0 ? void 0 : _businessPaymethod$de.map(function (s) {
277
+ return s.id;
278
+ })) !== null && _ref11 !== void 0 && _ref11.includes(device.id) ? /*#__PURE__*/_react.default.createElement(_RiCheckboxFill.default, {
279
+ className: "fill"
280
+ }) : /*#__PURE__*/_react.default.createElement(_RiCheckboxBlankLine.default, null), /*#__PURE__*/_react.default.createElement(_styles3.TabOptionName, null, device.name));
281
+ })), (deviceState === null || deviceState === void 0 || (_deviceState$devices2 = deviceState.devices) === null || _deviceState$devices2 === void 0 ? void 0 : _deviceState$devices2.length) === 0 && /*#__PURE__*/_react.default.createElement(EmptyMessage, null, t('NO_ASSIGNED_DEVICES', 'There are no assigned devices'))), /*#__PURE__*/_react.default.createElement(_Shared.Confirm, {
260
282
  width: "700px",
261
283
  title: t('WEB_APPNAME', 'Ordering'),
262
284
  content: confirm.content,
@@ -4,10 +4,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.SquareInfoContainer = exports.SquareButtonWrapper = exports.SandboxWrapper = exports.Header = exports.FormController = exports.FormContainer = exports.Container = exports.CloseButton = exports.ActionSelectorWrapper = void 0;
7
+ exports.SquareInfoContainer = exports.SquareButtonWrapper = exports.SandboxWrapper = exports.Header = exports.FormController = exports.FormContainer = exports.EmptyMessage = exports.Container = exports.CloseButton = exports.ActionSelectorWrapper = void 0;
8
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
9
  var _polished = require("polished");
10
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;
11
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
13
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
@@ -59,4 +59,6 @@ var SandboxWrapper = _styledComponents.default.div(_templateObject13 || (_templa
59
59
  var _props$theme3;
60
60
  return (_props$theme3 = props.theme) !== null && _props$theme3 !== void 0 && _props$theme3.rtl ? (0, _styledComponents.css)(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n margin-right: 10px;\n "]))) : (0, _styledComponents.css)(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n margin-left: 10px;\n "])));
61
61
  });
62
- exports.SandboxWrapper = SandboxWrapper;
62
+ exports.SandboxWrapper = SandboxWrapper;
63
+ var EmptyMessage = _styledComponents.default.div(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n padding: 15px 0;\n"])));
64
+ exports.EmptyMessage = EmptyMessage;
@@ -268,7 +268,7 @@ var ProductDetailsAdvancedUI = function ProductDetailsAdvancedUI(props) {
268
268
  }
269
269
  if (formState !== null && formState !== void 0 && (_formState$changes2 = formState.changes) !== null && _formState$changes2 !== void 0 && _formState$changes2.minimum_per_order && formState !== null && formState !== void 0 && (_formState$changes3 = formState.changes) !== null && _formState$changes3 !== void 0 && _formState$changes3.maximum_per_order && !((formState === null || formState === void 0 || (_formState$changes4 = formState.changes) === null || _formState$changes4 === void 0 ? void 0 : _formState$changes4.maximum_per_order) === null || (formState === null || formState === void 0 || (_formState$changes5 = formState.changes) === null || _formState$changes5 === void 0 ? void 0 : _formState$changes5.maximum_per_order) === '0')) {
270
270
  var _formState$changes6, _formState$changes7;
271
- if (Number(formState === null || formState === void 0 || (_formState$changes6 = formState.changes) === null || _formState$changes6 === void 0 ? void 0 : _formState$changes6.minimum_per_order) >= Number(formState === null || formState === void 0 || (_formState$changes7 = formState.changes) === null || _formState$changes7 === void 0 ? void 0 : _formState$changes7.maximum_per_order)) {
271
+ if (Number(formState === null || formState === void 0 || (_formState$changes6 = formState.changes) === null || _formState$changes6 === void 0 ? void 0 : _formState$changes6.minimum_per_order) > Number(formState === null || formState === void 0 || (_formState$changes7 = formState.changes) === null || _formState$changes7 === void 0 ? void 0 : _formState$changes7.maximum_per_order)) {
272
272
  valid = false;
273
273
  setAlertState({
274
274
  open: true,
package/_modules/index.js CHANGED
@@ -639,12 +639,6 @@ Object.defineProperty(exports, "CampaignDetail", {
639
639
  return _Marketing.CampaignDetail;
640
640
  }
641
641
  });
642
- Object.defineProperty(exports, "CampaignDetailContent", {
643
- enumerable: true,
644
- get: function get() {
645
- return _Marketing.CampaignDetailContent;
646
- }
647
- });
648
642
  Object.defineProperty(exports, "CampaignDetailGeneral", {
649
643
  enumerable: true,
650
644
  get: function get() {
package/index-template.js CHANGED
@@ -298,7 +298,7 @@ if (!(window?.location?.hostname === 'localhost')) {
298
298
  integrations: [
299
299
  new Integrations.BrowserTracing()
300
300
  ],
301
- release: process.env.npm_package_version ? 'ordering-ui-admin-release@' + process.env.npm_package_version : 'ordering-ui-admin-release@' + '1.0.8',
301
+ release: process.env.npm_package_version ? 'ordering-ui-admin-release@' + process.env.npm_package_version : 'ordering-ui-admin-release@' + '1.0.9',
302
302
  // Release health
303
303
  autoSessionTracking: true,
304
304
  ignoreErrors: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ordering-ui-admin-external",
3
- "version": "1.35.6",
3
+ "version": "1.36.0",
4
4
  "description": "Ordering UI Admin Components",
5
5
  "main": "./_modules/index.js",
6
6
  "exports": {
@@ -83,7 +83,7 @@
83
83
  "lodash": "^4.17.20",
84
84
  "moment": "^2.29.1",
85
85
  "moment-range": "^4.0.2",
86
- "ordering-components-admin-external": "1.35.1",
86
+ "ordering-components-admin-external": "1.36.0",
87
87
  "polished": "^3.6.7",
88
88
  "prop-types": "^15.7.2",
89
89
  "react-big-calendar": "^1.4.2",
@@ -13,6 +13,7 @@ import { Bar } from 'react-chartjs-2'
13
13
  import Skeleton from 'react-loading-skeleton'
14
14
  import moment from 'moment'
15
15
  import { Modal } from '../../Shared'
16
+ import { GraphLoadingMessage } from '../GraphLoadingMessage'
16
17
 
17
18
  export const AnalyticsAvailableTimes = (props) => {
18
19
  const {
@@ -193,7 +194,10 @@ export const AnalyticsAvailableTimes = (props) => {
193
194
  </ChartHeaderContainer>
194
195
  {
195
196
  availableTimesList?.loading ? (
196
- <Skeleton height={150} />
197
+ <div>
198
+ <Skeleton height={150} />
199
+ <GraphLoadingMessage />
200
+ </div>
197
201
  ) : (
198
202
  (availableTimesList?.data?.available?.length > 0 || availableTimesList?.data?.not_available?.length > 0) ? (
199
203
  <BarChartWrapper>
@@ -13,6 +13,7 @@ import {
13
13
  BarChartWrapper,
14
14
  EmptyContent
15
15
  } from './styles'
16
+ import { GraphLoadingMessage } from '../GraphLoadingMessage'
16
17
 
17
18
  export const AnalyticsBusyTimes = (props) => {
18
19
  const {
@@ -193,7 +194,10 @@ export const AnalyticsBusyTimes = (props) => {
193
194
  </ChartHeaderContainer>
194
195
  {
195
196
  busyTimesList?.loading ? (
196
- <Skeleton height={150} />
197
+ <div>
198
+ <Skeleton height={150} />
199
+ <GraphLoadingMessage />
200
+ </div>
197
201
  ) : (
198
202
  (busyTimesList?.data?.busy?.length > 0 || busyTimesList?.data?.not_busy?.length > 0) ? (
199
203
  <BarChartWrapper>
@@ -15,6 +15,7 @@ import {
15
15
  EmptyContent,
16
16
  CustomerSatisfactionContent
17
17
  } from './styles'
18
+ import { GraphLoadingMessage } from '../GraphLoadingMessage'
18
19
 
19
20
  const Score = ({ star, text }) => (
20
21
  <ScoreDiv>
@@ -83,6 +84,7 @@ export const AnalyticsCustomerSatisfaction = (props) => {
83
84
  </div>
84
85
  ))
85
86
  }
87
+ <GraphLoadingMessage />
86
88
  </SkeletonContainerWrapper>
87
89
  ) : (
88
90
  <CustomerSatisfactionWrapper>
@@ -15,6 +15,7 @@ import {
15
15
  ChartFooterContainer,
16
16
  EmptyContent
17
17
  } from './styles'
18
+ import { GraphLoadingMessage } from '../GraphLoadingMessage'
18
19
 
19
20
  export const AnalyticsDriverOrders = (props) => {
20
21
  const {
@@ -175,7 +176,10 @@ export const AnalyticsDriverOrders = (props) => {
175
176
  <ChartContentWrapper>
176
177
  {
177
178
  chartDataList?.loading ? (
178
- <Skeleton height={150} />
179
+ <div>
180
+ <Skeleton height={150} />
181
+ <GraphLoadingMessage />
182
+ </div>
179
183
  ) : (
180
184
  ((isOrders ? chartDataList?.data?.dataset?.dataset?.data : chartDataList?.data?.dataset?.dataset[0]?.data)?.length > 0 && dataOptions) ? <Line data={dataOptions} options={options} ref={chartRef} /> : <EmptyContent>{t('NO_DATA', 'No Data')}</EmptyContent>
181
185
  )
@@ -12,6 +12,7 @@ import {
12
12
  } from './styles'
13
13
  import Skeleton from 'react-loading-skeleton'
14
14
  import { convertHMS } from '../../../utils'
15
+ import { GraphLoadingMessage } from '../GraphLoadingMessage'
15
16
 
16
17
  export const AnalyticsOrdersAcceptSpend = (props) => {
17
18
  const {
@@ -36,6 +37,7 @@ export const AnalyticsOrdersAcceptSpend = (props) => {
36
37
  <Skeleton width={80} height={80} />
37
38
  <Skeleton width={60} height={20} />
38
39
  </ReviewContentWrapper>
40
+ <GraphLoadingMessage />
39
41
  </OrdersAcceptSpendContent>
40
42
  ) : (
41
43
  dataList?.data ? (
@@ -14,6 +14,7 @@ import { Line } from 'react-chartjs-2'
14
14
  import { useLanguage, useUtils } from 'ordering-components-admin-external'
15
15
  import Skeleton from 'react-loading-skeleton'
16
16
  import { Modal } from '../../Shared'
17
+ import { GraphLoadingMessage } from '../GraphLoadingMessage'
17
18
 
18
19
  export const AnalyticsOrdersOrSales = (props) => {
19
20
  const {
@@ -143,7 +144,10 @@ export const AnalyticsOrdersOrSales = (props) => {
143
144
  <ChartContentWrapper>
144
145
  {
145
146
  chartDataList?.loading ? (
146
- <Skeleton height={150} />
147
+ <div>
148
+ <Skeleton height={150} />
149
+ <GraphLoadingMessage />
150
+ </div>
147
151
  ) : (
148
152
  (chartDataList?.data.length > 0 && dataOptions) ? <Line data={dataOptions} options={options} ref={chartRef} /> : <EmptyContent>{t('NO_DATA', 'No Data')}</EmptyContent>
149
153
  )
@@ -11,6 +11,7 @@ import {
11
11
  import BsDownload from '@meronex/icons/bs/BsDownload'
12
12
  import { Bar } from 'react-chartjs-2'
13
13
  import Skeleton from 'react-loading-skeleton'
14
+ import { GraphLoadingMessage } from '../GraphLoadingMessage'
14
15
 
15
16
  export const AnalyticsOrdersStatus = (props) => {
16
17
  const {
@@ -160,7 +161,10 @@ export const AnalyticsOrdersStatus = (props) => {
160
161
  </OrderStatusHeader>
161
162
  {
162
163
  orderStatusList?.loading ? (
163
- <Skeleton height={150} />
164
+ <div>
165
+ <Skeleton height={150} />
166
+ <GraphLoadingMessage />
167
+ </div>
164
168
  ) : (
165
169
  orderStatusList?.data.length > 0 ? (
166
170
  <BarChartWrapper>
@@ -13,6 +13,7 @@ import {
13
13
  } from './styles'
14
14
  import BsDownload from '@meronex/icons/bs/BsDownload'
15
15
  import Skeleton from 'react-loading-skeleton'
16
+ import { GraphLoadingMessage } from '../GraphLoadingMessage'
16
17
 
17
18
  export const AnalyticsProductCategories = (props) => {
18
19
  const {
@@ -63,6 +64,7 @@ export const AnalyticsProductCategories = (props) => {
63
64
  </div>
64
65
  ))
65
66
  }
67
+ <GraphLoadingMessage />
66
68
  </SkeletonContainerWrapper>
67
69
  ) : (
68
70
  <ProductCategoryContentWrapper>
@@ -14,6 +14,7 @@ import { useLanguage } from 'ordering-components-admin-external'
14
14
  import Skeleton from 'react-loading-skeleton'
15
15
  import moment from 'moment'
16
16
  import { Modal } from '../../Shared'
17
+ import { GraphLoadingMessage } from '../GraphLoadingMessage'
17
18
 
18
19
  export const AnalyticsRegisterUsers = (props) => {
19
20
  const {
@@ -205,7 +206,10 @@ export const AnalyticsRegisterUsers = (props) => {
205
206
  <RegisterUserChartWrapper>
206
207
  {
207
208
  registerUsersList?.loading ? (
208
- <Skeleton height={150} />
209
+ <div>
210
+ <Skeleton height={150} />
211
+ <GraphLoadingMessage />
212
+ </div>
209
213
  ) : (
210
214
  registerUsersList?.data?.length > 0 ? (
211
215
  <Line data={defaultData} options={options} ref={chartRef} />
@@ -12,6 +12,7 @@ import {
12
12
  } from './styles'
13
13
  import Skeleton from 'react-loading-skeleton'
14
14
  import { convertHMS } from '../../../utils'
15
+ import { GraphLoadingMessage } from '../GraphLoadingMessage'
15
16
 
16
17
  export const AnalyticsSpendList = (props) => {
17
18
  const {
@@ -37,6 +38,7 @@ export const AnalyticsSpendList = (props) => {
37
38
  <Skeleton width={80} height={80} />
38
39
  <Skeleton width={80} height={20} />
39
40
  </ReviewContentWrapper>
41
+ <GraphLoadingMessage />
40
42
  </AnalyticsSpendListContent>
41
43
  ) : (
42
44
  dataList?.data ? (
@@ -14,6 +14,7 @@ import { Line } from 'react-chartjs-2'
14
14
  import { useLanguage } from 'ordering-components-admin-external'
15
15
  import Skeleton from 'react-loading-skeleton'
16
16
  import { Modal } from '../../Shared'
17
+ import { GraphLoadingMessage } from '../GraphLoadingMessage'
17
18
 
18
19
  export const AnalyticsSpendTimes = (props) => {
19
20
  const {
@@ -276,7 +277,10 @@ export const AnalyticsSpendTimes = (props) => {
276
277
  <ChartContentWrapper>
277
278
  {
278
279
  chartDataList?.loading ? (
279
- <Skeleton height={150} />
280
+ <div>
281
+ <Skeleton height={150} />
282
+ <GraphLoadingMessage />
283
+ </div>
280
284
  ) : (
281
285
  chartDataList?.data.length > 0 ? <Line data={defaultData} options={options} ref={chartRef} /> : <EmptyContent>{t('NO_DATA', 'No Data')}</EmptyContent>
282
286
  )
@@ -15,6 +15,7 @@ import {
15
15
  } from './styles'
16
16
  import BsDownload from '@meronex/icons/bs/BsDownload'
17
17
  import Skeleton from 'react-loading-skeleton'
18
+ import { GraphLoadingMessage } from '../GraphLoadingMessage'
18
19
 
19
20
  export const AnalyticsTopOrders = (props) => {
20
21
  const {
@@ -60,6 +61,7 @@ export const AnalyticsTopOrders = (props) => {
60
61
  </div>
61
62
  ))
62
63
  }
64
+ <GraphLoadingMessage />
63
65
  </SkeletonContainerWrapper>
64
66
  ) : (
65
67
  <TopOrdersContainerWrapper>
@@ -202,7 +202,7 @@ const DriverAnalyticsUI = (props) => {
202
202
  </div>
203
203
  <div className='col-md-12 col-lg-6'>
204
204
  <AnalyticsSpendList
205
- title={t('ORDER_COMPLETE_SPEND', 'Time spent since order accepted to pickup and deliver the order')}
205
+ title={t('ARRIVED_PICKUP_SPEND', 'Time spend since the driver in business until he picks up the order')}
206
206
  dataList={arrivedPickUpSpendList}
207
207
  />
208
208
  </div>
@@ -0,0 +1,15 @@
1
+ import React from 'react'
2
+ import { useLanguage } from 'ordering-components-admin-external'
3
+ import CgSpinnerTwoAlt from '@meronex/icons/cg/CgSpinnerTwoAlt'
4
+ import { LoadingMessage } from './styles'
5
+
6
+ export const GraphLoadingMessage = () => {
7
+ const [, t] = useLanguage()
8
+
9
+ return (
10
+ <LoadingMessage>
11
+ <CgSpinnerTwoAlt />
12
+ {t('WAIT_WHILE_LOADING_ALL_INFORMATION', 'please wait while we load all the information')}
13
+ </LoadingMessage>
14
+ )
15
+ }
@@ -0,0 +1,20 @@
1
+ import styled from 'styled-components'
2
+
3
+ export const LoadingMessage = styled.div`
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ font-size: 14px;
8
+ color: ${props => props.theme.colors.lightGray};
9
+ margin-top: 10px;
10
+
11
+ @keyframes spinner-content {
12
+ 0% { transform: rotate(0) }
13
+ 100% { transform: rotate(360deg) }
14
+ }
15
+
16
+ svg {
17
+ margin: 0 5px;
18
+ animation: spinner-content 1.85s linear infinite;
19
+ }
20
+ `
@@ -45,7 +45,8 @@ import {
45
45
  OrderingButtonWrapper,
46
46
  OrderingButtonBlock,
47
47
  CloseButtonWrapper,
48
- HubspotFormWrapper
48
+ HubspotFormWrapper,
49
+ OnboardingLessonsContainer
49
50
  } from './styles'
50
51
 
51
52
  const HomeUI = (props) => {
@@ -96,6 +97,9 @@ const HomeUI = (props) => {
96
97
  if (location === 'canny') {
97
98
  window.open('https://feedback.ordering.co', '_blank')
98
99
  }
100
+ if (location === 'onboarding') {
101
+ window.open(`https://calendly.com/luisana/group-onboarding-conference?month=${moment().format('YYYY-MM')}`, '_blank')
102
+ }
99
103
  }
100
104
 
101
105
  const generateData = () => {
@@ -378,6 +382,13 @@ const HomeUI = (props) => {
378
382
  </WidgeBlock>
379
383
  </AssistanceBody>
380
384
  </AssistanceWidgets>
385
+ {!isEnabledWhiteLabelModule && (
386
+ <OnboardingLessonsContainer>
387
+ <h1>{t('ONBOARDING_LESSONS', 'On-boarding Lessons')}</h1>
388
+ <p>{t('BOOK_TRAINING_TOTDAY', 'Book your training today')}</p>
389
+ <Button outline color='primary' onClick={() => goToLink('onboarding')}>{t('SCHEDULE_TODAY', 'Schedule Today')}</Button>
390
+ </OnboardingLessonsContainer>
391
+ )}
381
392
  </>
382
393
  )}
383
394
  {sessionState?.user?.level === 0 && (
@@ -587,3 +587,32 @@ export const HubspotFormWrapper = styled.div`
587
587
  min-height: 445px;
588
588
  position: relative;
589
589
  `
590
+
591
+ export const OnboardingLessonsContainer = styled.div`
592
+ background-color: ${props => props.theme.colors.lightPrimary};
593
+ padding: 50px 15px;
594
+ margin: 20px 0;
595
+ display: flex;
596
+ flex-direction: column;
597
+ align-items: center;
598
+
599
+ h1 {
600
+ font-size: 24px;
601
+ font-weight: 700;
602
+ line-height: 36px;
603
+ text-align: center;
604
+ }
605
+ p {
606
+ font-size: 16px;
607
+ font-weight: 500;
608
+ line-height: 24px;
609
+ text-align: center;
610
+ margin: 8px 0 17px 0;
611
+ }
612
+ button {
613
+ border-radius: 7.6px;
614
+ padding: 10px;
615
+ line-height: 20px;
616
+ min-width: 216px;
617
+ }
618
+ `