ordering-ui-external 4.0.6 → 5.0.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 (87) hide show
  1. package/_bundles/{0.ordering-ui.2b6bfdaa8b236eb288fa.js → 0.ordering-ui.dc2501dcf51ed5b7b821.js} +1 -1
  2. package/_bundles/{1.ordering-ui.2b6bfdaa8b236eb288fa.js → 1.ordering-ui.dc2501dcf51ed5b7b821.js} +1 -1
  3. package/_bundles/{2.ordering-ui.2b6bfdaa8b236eb288fa.js → 2.ordering-ui.dc2501dcf51ed5b7b821.js} +1 -1
  4. package/_bundles/{4.ordering-ui.2b6bfdaa8b236eb288fa.js → 4.ordering-ui.dc2501dcf51ed5b7b821.js} +1 -1
  5. package/_bundles/{5.ordering-ui.2b6bfdaa8b236eb288fa.js → 5.ordering-ui.dc2501dcf51ed5b7b821.js} +1 -1
  6. package/_bundles/{6.ordering-ui.2b6bfdaa8b236eb288fa.js → 6.ordering-ui.dc2501dcf51ed5b7b821.js} +1 -1
  7. package/_bundles/{7.ordering-ui.2b6bfdaa8b236eb288fa.js → 7.ordering-ui.dc2501dcf51ed5b7b821.js} +2 -2
  8. package/_bundles/{8.ordering-ui.2b6bfdaa8b236eb288fa.js → 8.ordering-ui.dc2501dcf51ed5b7b821.js} +1 -1
  9. package/_bundles/{9.ordering-ui.2b6bfdaa8b236eb288fa.js → 9.ordering-ui.dc2501dcf51ed5b7b821.js} +1 -1
  10. package/_bundles/{ordering-ui.2b6bfdaa8b236eb288fa.js → ordering-ui.dc2501dcf51ed5b7b821.js} +2 -2
  11. package/_modules/components/BusinessBasicInformation/index.js +4 -4
  12. package/_modules/components/BusinessBasicInformation/styles.js +4 -1
  13. package/_modules/components/UserProfileForm/styles.js +1 -1
  14. package/_modules/themes/callcenterOriginal/src/components/AddressList/index.js +4 -5
  15. package/_modules/themes/callcenterOriginal/src/components/AddressList/styles.js +2 -6
  16. package/_modules/themes/callcenterOriginal/src/components/Checkout/index.js +1 -1
  17. package/_modules/themes/callcenterOriginal/src/components/Header/index.js +23 -43
  18. package/_modules/themes/callcenterOriginal/src/components/Header/styles.js +14 -12
  19. package/_modules/themes/callcenterOriginal/src/components/SidebarMenu/index.js +16 -1
  20. package/_modules/themes/callcenterOriginal/src/components/SidebarMenu/styles.js +11 -3
  21. package/_modules/themes/callcenterOriginal/src/components/UserDetails/index.js +1 -1
  22. package/_modules/themes/callcenterOriginal/src/components/UserDetails/styles.js +2 -2
  23. package/_modules/themes/five/src/components/BusinessBasicInformation/styles.js +58 -55
  24. package/_modules/themes/five/src/components/BusinessInformation/index.js +1 -1
  25. package/_modules/themes/five/src/components/BusinessInformation/styles.js +9 -5
  26. package/_modules/themes/five/src/components/BusinessItemAccordion/styles.js +1 -1
  27. package/_modules/themes/five/src/components/BusinessProductsCategories/index.js +2 -3
  28. package/_modules/themes/five/src/components/BusinessProductsList/layouts/groceries/index.js +8 -4
  29. package/_modules/themes/five/src/components/BusinessProductsListing/index.js +18 -14
  30. package/_modules/themes/five/src/components/Checkout/index.js +6 -6
  31. package/_modules/themes/five/src/components/HorizontalOrdersLayout/index.js +5 -2
  32. package/_modules/themes/five/src/components/HorizontalOrdersLayout/styles.js +44 -39
  33. package/_modules/themes/five/src/components/OrderContextUI/index.js +61 -7
  34. package/_modules/themes/five/src/components/OrderContextUI/styles.js +1 -1
  35. package/_modules/themes/five/src/components/PageBanner/index.js +3 -3
  36. package/_modules/themes/five/src/components/PhoneAutocomplete/styles.js +1 -1
  37. package/_modules/themes/five/src/components/ProductForm/index.js +20 -18
  38. package/_modules/themes/five/src/components/ProductShare/index.js +1 -1
  39. package/_modules/themes/five/src/components/ProductShare/styles.js +2 -2
  40. package/_modules/themes/five/src/components/RenderProductsLayout/index.js +5 -3
  41. package/_modules/themes/five/src/components/ResetPassword/index.js +6 -7
  42. package/_modules/themes/five/src/components/ScheduleAccordion/styles.js +1 -1
  43. package/_modules/themes/five/src/components/SingleOrderCard/index.js +4 -2
  44. package/_modules/themes/five/src/components/SingleOrderCard/styles.js +18 -15
  45. package/_modules/themes/five/src/components/SingleProductCard/layouts/original/index.js +3 -2
  46. package/_modules/themes/five/src/components/TaxInformation/styles.js +1 -1
  47. package/package.json +2 -2
  48. package/src/components/BusinessBasicInformation/index.js +7 -10
  49. package/src/components/BusinessBasicInformation/styles.js +13 -0
  50. package/src/components/UserProfileForm/styles.js +0 -1
  51. package/src/themes/callcenterOriginal/src/components/AddressList/index.js +2 -2
  52. package/src/themes/callcenterOriginal/src/components/AddressList/styles.js +6 -5
  53. package/src/themes/callcenterOriginal/src/components/Checkout/index.js +1 -1
  54. package/src/themes/callcenterOriginal/src/components/Header/index.js +2 -40
  55. package/src/themes/callcenterOriginal/src/components/Header/styles.js +6 -3
  56. package/src/themes/callcenterOriginal/src/components/SidebarMenu/index.js +19 -1
  57. package/src/themes/callcenterOriginal/src/components/SidebarMenu/styles.js +27 -0
  58. package/src/themes/callcenterOriginal/src/components/UserDetails/index.js +1 -1
  59. package/src/themes/callcenterOriginal/src/components/UserDetails/styles.js +5 -1
  60. package/src/themes/five/src/components/BusinessBasicInformation/styles.js +7 -0
  61. package/src/themes/five/src/components/BusinessInformation/index.js +2 -0
  62. package/src/themes/five/src/components/BusinessInformation/styles.js +10 -1
  63. package/src/themes/five/src/components/BusinessItemAccordion/styles.js +3 -0
  64. package/src/themes/five/src/components/BusinessProductsCategories/index.js +1 -2
  65. package/src/themes/five/src/components/BusinessProductsList/layouts/groceries/index.js +5 -1
  66. package/src/themes/five/src/components/BusinessProductsListing/index.js +5 -1
  67. package/src/themes/five/src/components/Checkout/index.js +2 -1
  68. package/src/themes/five/src/components/HorizontalOrdersLayout/index.js +16 -10
  69. package/src/themes/five/src/components/HorizontalOrdersLayout/styles.js +16 -1
  70. package/src/themes/five/src/components/OrderContextUI/index.js +47 -3
  71. package/src/themes/five/src/components/OrderContextUI/styles.js +3 -0
  72. package/src/themes/five/src/components/PageBanner/index.js +3 -3
  73. package/src/themes/five/src/components/PhoneAutocomplete/styles.js +4 -0
  74. package/src/themes/five/src/components/ProductForm/index.js +28 -24
  75. package/src/themes/five/src/components/ProductShare/index.js +1 -1
  76. package/src/themes/five/src/components/ProductShare/styles.js +1 -3
  77. package/src/themes/five/src/components/RenderProductsLayout/index.js +8 -4
  78. package/src/themes/five/src/components/ResetPassword/index.js +1 -1
  79. package/src/themes/five/src/components/ScheduleAccordion/styles.js +4 -0
  80. package/src/themes/five/src/components/SidebarMenu/index.js +3 -2
  81. package/src/themes/five/src/components/SingleOrderCard/index.js +4 -4
  82. package/src/themes/five/src/components/SingleOrderCard/styles.js +1 -1
  83. package/src/themes/five/src/components/SingleProductCard/layouts/original/index.js +3 -2
  84. package/src/themes/five/src/components/TaxInformation/styles.js +3 -0
  85. package/template/pages/BusinessProductsList/index.js +1 -0
  86. /package/_bundles/{7.ordering-ui.2b6bfdaa8b236eb288fa.js.LICENSE.txt → 7.ordering-ui.dc2501dcf51ed5b7b821.js.LICENSE.txt} +0 -0
  87. /package/_bundles/{ordering-ui.2b6bfdaa8b236eb288fa.js.LICENSE.txt → ordering-ui.dc2501dcf51ed5b7b821.js.LICENSE.txt} +0 -0
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.TitleContainer = exports.ReviewWrapper = exports.Price = exports.MultiLogosContainer = exports.Map = exports.Logo = exports.FavoriteWrapper = exports.Content = exports.Container = exports.ButtonWrapper = exports.BusinessLogoWrapper = void 0;
8
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28;
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30;
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
  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); }
13
13
  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; }
@@ -86,7 +86,10 @@ var BusinessLogoWrapper = function BusinessLogoWrapper(props) {
86
86
  }), props.children);
87
87
  };
88
88
  exports.BusinessLogoWrapper = BusinessLogoWrapper;
89
- var ButtonWrapper = _styledComponents.default.div(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n position: absolute;\n right: 0px;\n top: 4px;\n display: flex;\n align-items: center;\n\n button {\n border-radius: 50px;\n font-size: 10px;\n line-height: 15px;\n padding: 4px 8px;\n border: 1px solid ", ";\n margin: 5px;\n\n &.reorder {\n background: ", ";\n &:hover {\n background: ", ";\n }\n }\n }\n"])), function (props) {
89
+ var ButtonWrapper = _styledComponents.default.div(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n position: absolute;\n right: 0px;\n ", "\n display: flex;\n align-items: center;\n\n button {\n border-radius: 50px;\n font-size: 10px;\n line-height: 15px;\n padding: 4px 8px;\n border: 1px solid ", ";\n margin: 5px;\n\n &.reorder {\n background: ", ";\n &:hover {\n background: ", ";\n }\n }\n }\n"])), function (_ref14) {
90
+ var isCustomerMode = _ref14.isCustomerMode;
91
+ return isCustomerMode ? (0, _styledComponents.css)(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["bottom: 4px;"]))) : (0, _styledComponents.css)(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["top: 4px;"])));
92
+ }, function (props) {
90
93
  return props.theme.colors.primaryContrast;
91
94
  }, function (props) {
92
95
  return props.theme.colors.primaryContrast;
@@ -94,34 +97,34 @@ var ButtonWrapper = _styledComponents.default.div(_templateObject21 || (_templat
94
97
  return props.theme.colors.primary;
95
98
  });
96
99
  exports.ButtonWrapper = ButtonWrapper;
97
- var Logo = _styledComponents.default.div(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n width: 55px;\n height: 55px;\n filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.1));\n border-radius: 7.6px;\n\n img {\n width: 100%;\n height: 100%;\n border-radius: 7.6px;\n }\n\n @media (min-width: 480px){\n width: 86px;\n height: 86px;\n }\n"])));
100
+ var Logo = _styledComponents.default.div(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n width: 55px;\n height: 55px;\n filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.1));\n border-radius: 7.6px;\n\n img {\n width: 100%;\n height: 100%;\n border-radius: 7.6px;\n }\n\n @media (min-width: 480px){\n width: 86px;\n height: 86px;\n }\n"])));
98
101
  exports.Logo = Logo;
99
- var TitleContainer = _styledComponents.default.div(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n"])));
102
+ var TitleContainer = _styledComponents.default.div(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n"])));
100
103
  exports.TitleContainer = TitleContainer;
101
- var Map = _styledComponents.default.div(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n width: 100%;\n height: ", ";\n min-height: ", ";\n img{\n width: 100%;\n height: 100%;\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n border-radius: ", ";\n image-rendering: -webkit-optimize-contrast;\n object-fit: cover;\n }\n @media(min-width: 480px){\n height: ", ";\n min-height: ", "\n }\n"])), function (_ref14) {
102
- var isBusinessesPage = _ref14.isBusinessesPage;
103
- return isBusinessesPage ? '200px' : '88px';
104
- }, function (_ref15) {
104
+ var Map = _styledComponents.default.div(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["\n width: 100%;\n height: ", ";\n min-height: ", ";\n img{\n width: 100%;\n height: 100%;\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n border-radius: ", ";\n image-rendering: -webkit-optimize-contrast;\n object-fit: cover;\n }\n @media(min-width: 480px){\n height: ", ";\n min-height: ", "\n }\n"])), function (_ref15) {
105
105
  var isBusinessesPage = _ref15.isBusinessesPage;
106
- return isBusinessesPage && '175px';
106
+ return isBusinessesPage ? '200px' : '88px';
107
107
  }, function (_ref16) {
108
108
  var isBusinessesPage = _ref16.isBusinessesPage;
109
- return isBusinessesPage && '16px';
109
+ return isBusinessesPage && '175px';
110
110
  }, function (_ref17) {
111
111
  var isBusinessesPage = _ref17.isBusinessesPage;
112
- return isBusinessesPage ? '200px' : '100px';
112
+ return isBusinessesPage && '16px';
113
113
  }, function (_ref18) {
114
114
  var isBusinessesPage = _ref18.isBusinessesPage;
115
+ return isBusinessesPage ? '200px' : '100px';
116
+ }, function (_ref19) {
117
+ var isBusinessesPage = _ref19.isBusinessesPage;
115
118
  return isBusinessesPage && '200px';
116
119
  });
117
120
  exports.Map = Map;
118
- var FavoriteWrapper = _styledComponents.default.div(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["\n position: absolute;\n cursor: pointer;\n display: flex;\n z-index: 10;\n align-items: center;\n justify-content: center;\n top: 41px;\n right: 10px;\n ", "\n svg {\n color: ", ";\n font-size: 16px;\n }\n"])), function (props) {
119
- return props.theme.rtl && (0, _styledComponents.css)(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["\n left: 10px;\n right: initial;\n "])));
121
+ var FavoriteWrapper = _styledComponents.default.div(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral(["\n position: absolute;\n cursor: pointer;\n display: flex;\n z-index: 10;\n align-items: center;\n justify-content: center;\n top: 41px;\n right: 10px;\n ", "\n svg {\n color: ", ";\n font-size: 16px;\n }\n"])), function (props) {
122
+ return props.theme.rtl && (0, _styledComponents.css)(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral(["\n left: 10px;\n right: initial;\n "])));
120
123
  }, function (props) {
121
124
  return props.theme.colors.danger500;
122
125
  });
123
126
  exports.FavoriteWrapper = FavoriteWrapper;
124
- var ReviewWrapper = _styledComponents.default.div(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral(["\n .review-sent {\n border-radius: 7.6px;\n }\n"])));
127
+ var ReviewWrapper = _styledComponents.default.div(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral(["\n .review-sent {\n border-radius: 7.6px;\n }\n"])));
125
128
  exports.ReviewWrapper = ReviewWrapper;
126
- var MultiLogosContainer = _styledComponents.default.div(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n p {\n white-space: nowrap;\n }\n"])));
129
+ var MultiLogosContainer = _styledComponents.default.div(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n p {\n white-space: nowrap;\n }\n"])));
127
130
  exports.MultiLogosContainer = MultiLogosContainer;
@@ -53,7 +53,8 @@ var SingleProductCardUI = function SingleProductCardUI(props) {
53
53
  handleFavoriteProduct = props.handleFavoriteProduct,
54
54
  isFavorite = props.isFavorite,
55
55
  isPreviously = props.isPreviously,
56
- viewString = props.viewString;
56
+ viewString = props.viewString,
57
+ isCustomerMode = props.isCustomerMode;
57
58
  var _useLanguage = (0, _orderingComponentsExternal.useLanguage)(),
58
59
  _useLanguage2 = _slicedToArray(_useLanguage, 2),
59
60
  t = _useLanguage2[1];
@@ -179,7 +180,7 @@ var SingleProductCardUI = function SingleProductCardUI(props) {
179
180
  oneLine: isPreviously
180
181
  }, /*#__PURE__*/_react.default.createElement(_styles.TitleWrapper, null, !isSkeleton ? /*#__PURE__*/_react.default.createElement("h1", null, product === null || product === void 0 ? void 0 : product.name) : /*#__PURE__*/_react.default.createElement(_reactLoadingSkeleton.default, {
181
182
  width: 100
182
- }), !useKioskApp && !isPreviously && (!isSkeleton ? /*#__PURE__*/_react.default.createElement("span", {
183
+ }), !useKioskApp && !isPreviously && isCustomerMode && (!isSkeleton ? /*#__PURE__*/_react.default.createElement("span", {
183
184
  onClick: function onClick() {
184
185
  return handleChangeFavorite();
185
186
  },
@@ -8,7 +8,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
8
  var _templateObject, _templateObject2;
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
10
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
11
- var TaxInformationContainer = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n h2{\n font-size: 22px;\n margin: 10px;\n text-align: center;\n }\n"])));
11
+ var TaxInformationContainer = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n h2{\n font-size: 22px;\n margin: 10px;\n text-align: center;\n }\n h3{\n font-size: 18px;\n }\n"])));
12
12
  exports.TaxInformationContainer = TaxInformationContainer;
13
13
  var ProductContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex-wrap: wrap;\n > div{\n border: 1px solid #E9ECEF;\n cursor: initial;\n @media (min-width: 681px){\n width: calc(50% - 45px);\n }\n\n }\n"])));
14
14
  exports.ProductContainer = ProductContainer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ordering-ui-external",
3
- "version": "4.0.6",
3
+ "version": "5.0.0",
4
4
  "description": "Ordering UI Components",
5
5
  "main": "./_modules/index.js",
6
6
  "exports": {
@@ -87,7 +87,7 @@
87
87
  "lodash": "^4.17.19",
88
88
  "moment": "^2.29.4",
89
89
  "nanoid": "^4.0.0",
90
- "ordering-components-external": "3.0.2",
90
+ "ordering-components-external": "4.0.0",
91
91
  "payment": "^2.4.6",
92
92
  "polished": "^3.6.6",
93
93
  "react-bootstrap-icons": "^1.7.2",
@@ -4,7 +4,6 @@ import FiClock from '@meronex/icons/fi/FiClock'
4
4
  import GrLocation from '@meronex/icons/gr/GrLocation'
5
5
  import GrDeliver from '@meronex/icons/gr/GrDeliver'
6
6
  import FaStar from '@meronex/icons/fa/FaStar'
7
- import BsExclamationCircle from '@meronex/icons/bs/BsExclamationCircle'
8
7
  import { useTheme } from 'styled-components'
9
8
 
10
9
  import { Modal } from '../Modal'
@@ -152,16 +151,14 @@ export const BusinessBasicInformation = (props) => {
152
151
  )}
153
152
  </>
154
153
  )}
155
-
156
- {!loading && (
157
- <h5>
158
- <BsExclamationCircle
159
- className='popup'
160
- onClick={() => setOpenBusinessInformation(true)}
161
- />
162
- </h5>
163
- )}
164
154
  </div>
155
+ {!loading && (
156
+ <div className='information'>
157
+ <span onClick={() => setOpenBusinessInformation(true)}>
158
+ {t('INFORMATION', 'Information')}
159
+ </span>
160
+ </div>
161
+ )}
165
162
  </BusinessInfoItem>
166
163
  </BusinessInfo>
167
164
  </BusinessContent>
@@ -110,6 +110,7 @@ export const BusinessInfoItem = styled.div`
110
110
  display: flex;
111
111
  justify-content: space-between;
112
112
 
113
+
113
114
  h5 {
114
115
  font-weight: 300;
115
116
  svg{
@@ -156,6 +157,18 @@ export const BusinessInfoItem = styled.div`
156
157
  }
157
158
  }
158
159
 
160
+ &.information {
161
+ span {
162
+ user-select: none;
163
+ cursor: pointer;
164
+ font-size: 14px;
165
+ color: ${props => props.theme?.colors.primary};
166
+ &:hover {
167
+ text-decoration: underline;
168
+ }
169
+ }
170
+ }
171
+
159
172
  @media (min-width: 481px) {
160
173
  font-size: 16px;
161
174
  }
@@ -29,7 +29,6 @@ export const UserImage = styled.div`
29
29
 
30
30
  @media (min-width: 768px){
31
31
  width: auto;
32
- align-items: flex-end;
33
32
  }
34
33
  `
35
34
 
@@ -193,7 +193,7 @@ const AddressListUI = (props) => {
193
193
  <BeforeComponent key={i} {...props} />))}
194
194
  <AddressListContainer id='address_control' isLoading={actionStatus?.loading || orderState?.loading}>
195
195
  <AddressHalfContainer>
196
- <List halfWidth={addressOpen}>
196
+ <List halfWidth={addressOpen} isOpenUserData={isOpenUserData} isHeader={isHeader}>
197
197
  {
198
198
  (!isPopover || !addressOpen) && (
199
199
  <Button
@@ -294,7 +294,7 @@ const AddressListUI = (props) => {
294
294
  )}
295
295
  </List>
296
296
  {!isPopover && addressOpen && (
297
- <AddressFormContainer isOpenUserData={isOpenUserData} isHeader={isHeader}>
297
+ <AddressFormContainer>
298
298
  <TitleFormContainer>
299
299
  <CloseIcon>
300
300
  <MdClose onClick={() => handleCloseAddressForm()} />
@@ -196,17 +196,18 @@ export const AddressHalfContainer = styled.div`
196
196
  export const List = styled.div`
197
197
  width: ${({ halfWidth }) => halfWidth ? '50%' : '100%'};
198
198
  padding-right: 10px;
199
- button {
199
+ position: sticky;
200
+ right: 0;
201
+ top: 0;
202
+ margin-top: 222px;
203
+ button {
200
204
  width: 100%;
201
205
  }
202
206
  `
203
207
 
204
208
  export const AddressFormContainer = styled.div`
205
209
  width: 50%;
206
- position: sticky;
207
- right: 0;
208
- top: 0;
209
- margin-top: ${({ isOpenUserData, isHeader }) => isOpenUserData ? '-30px' : isHeader ? '-222px' : '-190px'};
210
+ z-index: 10;
210
211
  height: 100%;
211
212
  padding-left: 10px;
212
213
  `
@@ -157,7 +157,7 @@ const CheckoutUI = (props) => {
157
157
  if (userSelected && userSelected?.cellphone) {
158
158
  if (userSelected?.country_phone_code) {
159
159
  let phone = null
160
- phone = `+${userSelected?.country_phone_code}${userSelected?.cellphone}`
160
+ phone = `+${userSelected?.country_phone_code}${userSelected?.cellphone.replace(`+${userSelected?.country_phone_code}`, '')}`
161
161
  const phoneNumber = parsePhoneNumber(phone)
162
162
  if (!phoneNumber?.isValid()) {
163
163
  errors.push(t('VALIDATION_ERROR_MOBILE_PHONE_INVALID', 'The field Phone number is invalid.'))
@@ -69,7 +69,6 @@ export const Header = (props) => {
69
69
  const [customerModalOpen, setCustomerModalOpen] = useState(false)
70
70
  const [modalSelected, setModalSelected] = useState(null)
71
71
  const [confirm, setConfirm] = useState({ open: false, content: null, handleOnAccept: null })
72
- const [isFarAway, setIsFarAway] = useState(false)
73
72
  const [isOpenUserData, setIsOpenUserData] = useState(false)
74
73
  const [isAddressFormOpen, setIsAddressFormOpen] = useState(false)
75
74
  const [preorderBusiness, setPreorderBusiness] = useState(null)
@@ -148,25 +147,6 @@ export const Header = (props) => {
148
147
  }
149
148
  }, [JSON.stringify(orderState?.options?.address?.address)])
150
149
 
151
- useEffect(() => {
152
- if (!(pathname.includes('/search') || pathname.includes('/checkout'))) {
153
- setIsFarAway(false)
154
- return
155
- }
156
- navigator.geolocation.getCurrentPosition((pos) => {
157
- const crd = pos.coords
158
- const distance = getDistance(crd.latitude, crd.longitude, orderState?.options?.address?.location?.lat, orderState?.options?.address?.location?.lng)
159
- if (distance > 20) setIsFarAway(true)
160
- else setIsFarAway(false)
161
- }, (err) => {
162
- console.warn(`ERROR(${err.code}): ${err.message}`)
163
- }, {
164
- enableHighAccuracy: true,
165
- timeout: 5000,
166
- maximumAge: 0
167
- })
168
- }, [orderState?.options?.address?.location, pathname])
169
-
170
150
  return (
171
151
  <HeaderContainer>
172
152
  <InnerHeader>
@@ -187,16 +167,10 @@ export const Header = (props) => {
187
167
  {isShowOrderOptions && (
188
168
  <>
189
169
  <Menu className='left-header' id='center-side'>
190
- {windowSize.width > 820 && isFarAway && (
191
- <FarAwayMessage>
192
- <TiWarningOutline />
193
- <span>{t('YOU_ARE_FAR_FROM_ADDRESS', 'You are far from this address')}</span>
194
- </FarAwayMessage>
195
- )}
196
170
  <AddressMenu
197
171
  onClick={(e) => handleClickUserCustomer(e)}
198
172
  >
199
- <GeoAlt /> {orderState.options?.address?.address?.split(',')?.[0] || t('WHAT_IS_YOUR_ADDRESS', 'What\'s your address?')}
173
+ <GeoAlt /> <span><p>{orderState.options?.address?.address?.split(',')?.[0] || t('WHAT_IS_YOUR_ADDRESS', 'What\'s your address?')}</p></span>
200
174
  </AddressMenu>
201
175
  <Divider />
202
176
  {isCustomerMode && windowSize.width > 450 && (
@@ -317,12 +291,6 @@ export const Header = (props) => {
317
291
  {onlineStatus && isShowOrderOptions && (
318
292
  windowSize.width > 768 && windowSize.width <= 820 ? (
319
293
  <SubMenu>
320
- {isFarAway && (
321
- <FarAwayMessage>
322
- <TiWarningOutline />
323
- <span>{t('YOU_ARE_FAR_FROM_ADDRESS', 'You are far from this address')}</span>
324
- </FarAwayMessage>
325
- )}
326
294
  <AddressMenu
327
295
  onClick={() => openModal('address')}
328
296
  >
@@ -340,12 +308,6 @@ export const Header = (props) => {
340
308
  </SubMenu>
341
309
  ) : (
342
310
  <SubMenu>
343
- {isFarAway && (
344
- <FarAwayMessage>
345
- <TiWarningOutline />
346
- <span>{t('YOU_ARE_FAR_FROM_ADDRESS', 'You are far from this address')}</span>
347
- </FarAwayMessage>
348
- )}
349
311
  <HeaderOption
350
312
  variant='address'
351
313
  addressState={orderState?.options?.address?.address?.split(',')?.[0]}
@@ -417,7 +379,7 @@ export const Header = (props) => {
417
379
  padding='20px'
418
380
  hideCloseDefault
419
381
  >
420
- <UserEdit>
382
+ <UserEdit isOpenUserData={isOpenUserData}>
421
383
  <>
422
384
  <UserDetails
423
385
  isAddressFormOpen={isAddressFormOpen}
@@ -242,6 +242,7 @@ export const CustomerInfo = styled.div`
242
242
  align-items: center;
243
243
  margin: 0;
244
244
  p {
245
+ max-width: 250px;
245
246
  overflow: hidden;
246
247
  text-overflow: ellipsis;
247
248
  white-space: nowrap;
@@ -252,8 +253,6 @@ export const CustomerInfo = styled.div`
252
253
  color: #748194;
253
254
  margin: 0;
254
255
  font-size: 20px;
255
- position: absolute;
256
- right: 0;
257
256
  }
258
257
  }
259
258
  }
@@ -261,7 +260,11 @@ export const CustomerInfo = styled.div`
261
260
 
262
261
  export const UserEdit = styled.div`
263
262
  > :first-child{
264
- margin-bottom: 20px;
263
+ margin-bottom: 20px;
264
+ width: 100%;
265
+ ${props => !props.isOpenUserData && css`
266
+ position: absolute;
267
+ `
265
268
  }
266
269
  `
267
270
 
@@ -19,6 +19,7 @@ import { Modal } from '../Modal'
19
19
  import { SignUpForm } from '../SignUpForm'
20
20
  import { LoginForm } from '../LoginForm'
21
21
  import { ForgotPasswordForm } from '../ForgotPasswordForm'
22
+ import { X as CloseIcon } from 'react-bootstrap-icons'
22
23
 
23
24
  import {
24
25
  Container,
@@ -30,7 +31,8 @@ import {
30
31
  MenuLinkIcon,
31
32
  MenuLinkText,
32
33
  TextInfo,
33
- MenuLinkSeparator
34
+ MenuLinkSeparator,
35
+ MobileMessage
34
36
  } from './styles'
35
37
 
36
38
  export const SidebarMenu = (props) => {
@@ -44,6 +46,7 @@ export const SidebarMenu = (props) => {
44
46
  const [isMenuOpen, setIsMenuOpen] = useState(false)
45
47
  const [modalIsOpen, setModalIsOpen] = useState(false)
46
48
  const [modalPageToShow, setModalPageToShow] = useState(null)
49
+ const [showMessage, setShowMessage] = useState(false)
47
50
 
48
51
  const isHome = window.location.pathname === '/' || window.location.pathname === '/home'
49
52
 
@@ -100,6 +103,13 @@ export const SidebarMenu = (props) => {
100
103
  }
101
104
  }, [width])
102
105
 
106
+ useEffect(() => {
107
+ if(!isCustomerMode) return
108
+ if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
109
+ setShowMessage(true)
110
+ }
111
+ }, [])
112
+
103
113
  return (
104
114
  <>
105
115
  {props.beforeElements?.map((BeforeElement, i) => (
@@ -108,6 +118,14 @@ export const SidebarMenu = (props) => {
108
118
  </React.Fragment>))}
109
119
  {props.beforeComponents?.map((BeforeComponent, i) => (
110
120
  <BeforeComponent key={i} {...props} />))}
121
+ {showMessage && (
122
+ <MobileMessage>
123
+ <div>
124
+ <CloseIcon onClick={() => setShowMessage(false)} />
125
+ {t('FOR_THE_BEST_EXPERIENCE_WHILE_SETTING_UP', 'For the best experience while setting up your project, we recommend using a computer.')}
126
+ </div>
127
+ </MobileMessage>
128
+ )}
111
129
  <Container auth={auth}>
112
130
  <IconContent
113
131
  isHome={isHome}
@@ -226,3 +226,30 @@ export const MenuLinkSeparator = styled.div`
226
226
  }
227
227
  }
228
228
  `
229
+
230
+ export const MobileMessage = styled.div`
231
+ position: fixed;
232
+ top: 100px;
233
+ left: calc(50% - 130px);
234
+ z-index: 999;
235
+ background: ${props => props.theme.colors.primaryContrast};
236
+ border: 1px solid ${props => props.theme.colors.primary};
237
+ box-sizing: border-box;
238
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
239
+ border-radius: 7.6px;
240
+ width: 260px;
241
+ color: ${props => props.theme.colors.black};
242
+ > div {
243
+ padding: 15px 15px 10px 15px;
244
+ font-size: 12px;
245
+ line-height: 18px;
246
+ position: relative;
247
+ > svg {
248
+ position: absolute;
249
+ top: 3px;
250
+ right: 3px;
251
+ cursor: pointer;
252
+ font-size: 21px;
253
+ }
254
+ }
255
+ `
@@ -116,7 +116,7 @@ const UserDetailsUI = (props) => {
116
116
  <CountryFlag>
117
117
  {
118
118
  userData?.country_phone_code && (
119
- <PhoneInput onChange={() => {}} defaultCountry={parsePhoneNumber(`+${(userData?.country_phone_code?.replace('+', ''))} ${userData?.cellphone}`)?.country} />
119
+ <PhoneInput onChange={() => { }} defaultCountry={parsePhoneNumber(`+${(userData?.country_phone_code?.replace('+', ''))} ${userData?.cellphone.replace(`+${userData?.country_phone_code}`, '')}`)?.country} />
120
120
  )
121
121
  }
122
122
  </CountryFlag>
@@ -89,7 +89,7 @@ export const TitleContainer = styled.div`
89
89
  font-size: 24px;
90
90
  }
91
91
  ${({ isAddressFormOpen }) => isAddressFormOpen && css`
92
- h1{
92
+ h1{
93
93
  width: 75%;
94
94
  }
95
95
  `}
@@ -112,4 +112,8 @@ export const PhoneContainer = styled.div`
112
112
  display: flex;
113
113
  align-items: center;
114
114
  height: 30px;
115
+
116
+ p {
117
+ margin: 0;
118
+ }
115
119
  `
@@ -183,6 +183,13 @@ export const BusinessInfoContainer = styled.div`
183
183
  box-sizing: border-box;
184
184
  align-items: ${props => props.isFlexEnd ? 'flex-end' : 'space-between'};
185
185
 
186
+ #business_name {
187
+ ${({ isChew }) => isChew && css`
188
+ background: none;
189
+ `
190
+ }
191
+ }
192
+
186
193
  @media (min-width: 576px) {
187
194
  padding-top: 0px;
188
195
  padding-left: 0px;
@@ -22,6 +22,7 @@ import {
22
22
  ImageContainer,
23
23
  BusinessTitle,
24
24
  BusinessAddress,
25
+ BusinessAddressNotes,
25
26
  Divider
26
27
  } from './styles'
27
28
  import MdClose from '@meronex/icons/md/MdClose'
@@ -112,6 +113,7 @@ export const BusinessInformationUI = (props) => {
112
113
  {
113
114
  !hideAddress && business?.address && <BusinessAddress>{business?.address}</BusinessAddress>
114
115
  }
116
+ {business?.address_notes && <BusinessAddressNotes>{business?.address_notes}</BusinessAddressNotes>}
115
117
  <Divider />
116
118
  </>
117
119
  )
@@ -163,6 +163,10 @@ export const DeliveryInfo = styled.div`
163
163
  justify-content: flex-start;
164
164
  margin-top: 10px;
165
165
 
166
+ h5 {
167
+ font-size: 16px;
168
+ }
169
+
166
170
  div {
167
171
  width: 100%;
168
172
  &:last-child {
@@ -276,7 +280,12 @@ export const BusinessTitle = styled.h2`
276
280
  export const BusinessAddress = styled.p`
277
281
  font-size: 14px;
278
282
  color: ${props => props.theme.colors.darkTextColor};
279
- margin-bottom: 25px;
283
+ margin: 15px 0;
284
+ `
285
+ export const BusinessAddressNotes = styled.p`
286
+ font-size: 14px;
287
+ color: ${props => props.theme.colors.darkTextColor};
288
+ margin: 15px 0 25px 0;
280
289
  `
281
290
 
282
291
  export const Divider = styled.div`
@@ -220,6 +220,9 @@ export const PriceContainer = styled.div`
220
220
  display: flex;
221
221
  justify-content: space-between;
222
222
  align-items: center;
223
+ h4 {
224
+ font-size: 16px;
225
+ }
223
226
  button{
224
227
  padding: 10px 30px;
225
228
  min-width: 150px;
@@ -125,8 +125,7 @@ const BusinessProductsCategoriesUI = (props) => {
125
125
  }
126
126
 
127
127
  useEffect(() => {
128
- if (typeof useKioskApp === 'undefined') return
129
- const styleSheet = document.getElementById('styles').sheet
128
+ const styleSheet = document.getElementById('styles')?.sheet
130
129
 
131
130
  if (Object.values(styleSheet.cssRules)?.length) {
132
131
  styleSheet?.deleteRule(0)
@@ -38,7 +38,8 @@ const BusinessProductsListUI = (props) => {
38
38
  categoriesState,
39
39
  onClickCategory,
40
40
  currentCart,
41
- handleUpdateProducts
41
+ handleUpdateProducts,
42
+ isCustomerMode
42
43
  } = props
43
44
 
44
45
  const [, t] = useLanguage()
@@ -92,6 +93,7 @@ const BusinessProductsListUI = (props) => {
92
93
  isCartOnProductsList={isCartOnProductsList}
93
94
  handleUpdateProducts={handleUpdateProducts}
94
95
  productAddedToCartLength={currentCart?.products?.reduce((productsLength, Cproduct) => { return productsLength + (Cproduct?.id === product?.id ? Cproduct?.quantity : 0) }, 0)}
96
+ isCustomerMode={isCustomerMode}
95
97
  />
96
98
  ))
97
99
  }
@@ -129,6 +131,7 @@ const BusinessProductsListUI = (props) => {
129
131
  handleUpdateProducts={handleUpdateProducts}
130
132
  isCartOnProductsList={isCartOnProductsList}
131
133
  productAddedToCartLength={currentCart?.products?.reduce((productsLength, Cproduct) => { return productsLength + (Cproduct?.id === product?.id ? Cproduct?.quantity : 0) }, 0)}
134
+ isCustomerMode={isCustomerMode}
132
135
  />
133
136
  ))}
134
137
  {!business?.food && !categoryState?.loading && featProducts?.length > 9 && (
@@ -216,6 +219,7 @@ const BusinessProductsListUI = (props) => {
216
219
  handleUpdateProducts={handleUpdateProducts}
217
220
  isCartOnProductsList={isCartOnProductsList}
218
221
  productAddedToCartLength={currentCart?.products?.reduce((productsLength, Cproduct) => { return productsLength + (Cproduct?.id === product?.id ? Cproduct?.quantity : 0) }, 0)}
222
+ isCustomerMode={isCustomerMode}
219
223
  />
220
224
  ))
221
225
  }
@@ -84,6 +84,7 @@ const BusinessProductsListingUI = (props) => {
84
84
  handleChangePriceFilterValues,
85
85
  priceFilterValues,
86
86
  handleUpdateProfessionals,
87
+ isCustomerMode,
87
88
  isCustomLayout
88
89
  } = props
89
90
 
@@ -132,9 +133,10 @@ const BusinessProductsListingUI = (props) => {
132
133
  setProductIdToLoading(product.id)
133
134
  const isProductAddedToCart = currentCart?.products?.find(Cproduct => Cproduct.id === product.id)
134
135
  const productQuantity = isProductAddedToCart?.quantity
136
+ const minimumPerOrder = product?.minimum_per_order || 1
135
137
  const addCurrentProduct = {
136
138
  ...product,
137
- quantity: 1
139
+ quantity: minimumPerOrder
138
140
  }
139
141
  const updateCurrentProduct = {
140
142
  id: product.id,
@@ -381,6 +383,7 @@ const BusinessProductsListingUI = (props) => {
381
383
  handleChangePriceFilterValues={handleChangePriceFilterValues}
382
384
  productToIdLoading={productToIdLoading}
383
385
  handleUpdateProfessionals={handleUpdateProfessionals}
386
+ isCustomerMode={isCustomerMode}
384
387
  />
385
388
 
386
389
  {
@@ -529,6 +532,7 @@ const BusinessProductsListingUI = (props) => {
529
532
  productId={curProduct?.id}
530
533
  handleUpdateProducts={handleUpdateProducts}
531
534
  onSave={handlerProductAction}
535
+ isCustomerMode={isCustomerMode}
532
536
  productAddedToCartLength={currentCart?.products?.reduce((productsLength, Cproduct) => { return productsLength + (Cproduct?.id === (productModal.product || curProduct)?.id ? Cproduct?.quantity : 0) }, 0) || 0}
533
537
  />
534
538
  )}
@@ -219,7 +219,7 @@ const CheckoutUI = (props) => {
219
219
  const checkValidationFields = () => {
220
220
  setUserErrors([])
221
221
  const errors = []
222
- const notFields = ['coupon', 'driver_tip', 'mobile_phone', 'address', 'zipcode', 'address_notes']
222
+ const notFields = ['coupon', 'driver_tip', 'mobile_phone', 'address', 'zipcode', 'address_notes', 'comments']
223
223
  const userSelected = isCustomerMode ? customerState.user : user
224
224
  const _requiredFields = []
225
225
 
@@ -423,6 +423,7 @@ const CheckoutUI = (props) => {
423
423
  <p>{businessDetails?.business?.name}</p>
424
424
  <p>{businessDetails?.business?.email}</p>
425
425
  <p>{businessDetails?.business?.cellphone}</p>
426
+ {businessDetails?.business?.address_notes && <p>{businessDetails?.business?.address_notes}</p>}
426
427
  </div>
427
428
  </div>
428
429
  )}