ordering-ui-external 1.6.8 → 1.7.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 (103) hide show
  1. package/_bundles/{0.ordering-ui.7635bd47ae9a481b3f59.js → 0.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  2. package/_bundles/{1.ordering-ui.7635bd47ae9a481b3f59.js → 1.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  3. package/_bundles/{2.ordering-ui.7635bd47ae9a481b3f59.js → 2.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  4. package/_bundles/{4.ordering-ui.7635bd47ae9a481b3f59.js → 4.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  5. package/_bundles/{5.ordering-ui.7635bd47ae9a481b3f59.js → 5.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  6. package/_bundles/{6.ordering-ui.7635bd47ae9a481b3f59.js → 6.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  7. package/_bundles/{7.ordering-ui.7635bd47ae9a481b3f59.js → 7.ordering-ui.8b7044a2b34939a44465.js} +1 -1
  8. package/_bundles/{7.ordering-ui.7635bd47ae9a481b3f59.js.LICENSE.txt → 7.ordering-ui.8b7044a2b34939a44465.js.LICENSE.txt} +0 -0
  9. package/_bundles/{8.ordering-ui.7635bd47ae9a481b3f59.js → 8.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  10. package/_bundles/{9.ordering-ui.7635bd47ae9a481b3f59.js → 9.ordering-ui.8b7044a2b34939a44465.js} +0 -0
  11. package/_bundles/ordering-ui.8b7044a2b34939a44465.js +2 -0
  12. package/_bundles/{ordering-ui.7635bd47ae9a481b3f59.js.LICENSE.txt → ordering-ui.8b7044a2b34939a44465.js.LICENSE.txt} +0 -0
  13. package/_modules/components/BusinessInformation/index.js +8 -10
  14. package/_modules/components/LoginForm/index.js +58 -17
  15. package/_modules/components/SignUpForm/index.js +61 -20
  16. package/_modules/themes/callcenterOriginal/src/components/LoginForm/index.js +71 -25
  17. package/_modules/themes/callcenterOriginal/src/components/SignUpForm/index.js +60 -19
  18. package/_modules/themes/eight/src/components/LoginForm/index.js +63 -20
  19. package/_modules/themes/eight/src/components/SignUpForm/index.js +63 -22
  20. package/_modules/themes/five/src/components/BusinessController/index.js +2 -2
  21. package/_modules/themes/five/src/components/BusinessPreorder/index.js +6 -45
  22. package/_modules/themes/five/src/components/BusinessProductsListing/index.js +1 -1
  23. package/_modules/themes/five/src/components/Checkout/index.js +19 -3
  24. package/_modules/themes/five/src/components/Checkout/styles.js +5 -3
  25. package/_modules/themes/five/src/components/Header/index.js +3 -3
  26. package/_modules/themes/five/src/components/Header/styles.js +1 -1
  27. package/_modules/themes/five/src/components/MomentControl/index.js +1 -41
  28. package/_modules/themes/five/src/components/OrderDetails/OrderBillSection.js +2 -2
  29. package/_modules/themes/five/src/components/OrderDetails/index.js +14 -16
  30. package/_modules/themes/five/src/components/OrderDetails/styles.js +7 -3
  31. package/_modules/themes/five/src/components/PaymentOptions/index.js +3 -6
  32. package/_modules/themes/five/src/components/PlaceSpot/styles.js +2 -2
  33. package/_modules/themes/five/src/components/ProductItemAccordion/index.js +7 -4
  34. package/_modules/themes/five/src/components/ProductOption/index.js +1 -1
  35. package/_modules/themes/five/src/components/ProductOptionSubOption/index.js +1 -1
  36. package/_modules/themes/five/src/components/ProfessionalProfile/index.js +1 -1
  37. package/_modules/themes/five/src/components/ServiceForm/index.js +136 -24
  38. package/_modules/themes/five/src/components/ServiceForm/styles.js +45 -3
  39. package/_modules/themes/four/src/components/LoginForm/index.js +64 -20
  40. package/_modules/themes/four/src/components/LoginForm/styles.js +5 -3
  41. package/_modules/themes/four/src/components/SignUpForm/index.js +67 -22
  42. package/_modules/themes/four/src/components/SignUpForm/styles.js +5 -3
  43. package/_modules/themes/franchise/src/components/LoginForm/index.js +61 -20
  44. package/_modules/themes/franchise/src/components/SignUpForm/index.js +57 -16
  45. package/_modules/themes/seven/src/components/LoginForm/index.js +60 -17
  46. package/_modules/themes/seven/src/components/SignUpForm/index.js +60 -19
  47. package/_modules/themes/six/src/components/LoginForm/index.js +62 -20
  48. package/_modules/themes/six/src/components/SignUpForm/index.js +58 -17
  49. package/_modules/themes/three/src/components/LoginForm/index.js +64 -20
  50. package/_modules/themes/three/src/components/LoginForm/styles.js +5 -3
  51. package/_modules/themes/three/src/components/SignUpForm/index.js +63 -18
  52. package/_modules/themes/three/src/components/SignUpForm/styles.js +5 -3
  53. package/_modules/themes/two/src/components/LoginForm/index.js +57 -17
  54. package/_modules/themes/two/src/components/SignUpForm/index.js +57 -17
  55. package/_modules/utils/index.js +56 -2
  56. package/package.json +2 -2
  57. package/src/components/BusinessInformation/index.js +8 -6
  58. package/src/components/LoginForm/index.js +32 -6
  59. package/src/components/SignUpForm/index.js +27 -2
  60. package/src/themes/callcenterOriginal/src/components/LoginForm/index.js +30 -2
  61. package/src/themes/callcenterOriginal/src/components/SignUpForm/index.js +27 -1
  62. package/src/themes/eight/src/components/LoginForm/index.js +30 -0
  63. package/src/themes/eight/src/components/SignUpForm/index.js +27 -1
  64. package/src/themes/five/src/components/BusinessController/index.js +2 -2
  65. package/src/themes/five/src/components/BusinessPreorder/index.js +6 -46
  66. package/src/themes/five/src/components/BusinessProductsListing/index.js +1 -1
  67. package/src/themes/five/src/components/Checkout/index.js +28 -3
  68. package/src/themes/five/src/components/Checkout/styles.js +30 -0
  69. package/src/themes/five/src/components/Header/index.js +7 -6
  70. package/src/themes/five/src/components/Header/styles.js +1 -3
  71. package/src/themes/five/src/components/MomentControl/index.js +1 -42
  72. package/src/themes/five/src/components/OrderDetails/OrderBillSection.js +1 -1
  73. package/src/themes/five/src/components/OrderDetails/index.js +10 -8
  74. package/src/themes/five/src/components/OrderDetails/styles.js +21 -1
  75. package/src/themes/five/src/components/PaymentOptions/index.js +25 -26
  76. package/src/themes/five/src/components/PlaceSpot/styles.js +14 -4
  77. package/src/themes/five/src/components/ProductItemAccordion/index.js +7 -3
  78. package/src/themes/five/src/components/ProductOption/index.js +1 -1
  79. package/src/themes/five/src/components/ProductOptionSubOption/index.js +1 -1
  80. package/src/themes/five/src/components/ProfessionalProfile/index.js +1 -1
  81. package/src/themes/five/src/components/ServiceForm/index.js +151 -11
  82. package/src/themes/five/src/components/ServiceForm/styles.js +148 -0
  83. package/src/themes/four/src/components/LoginForm/index.js +37 -5
  84. package/src/themes/four/src/components/LoginForm/styles.js +4 -0
  85. package/src/themes/four/src/components/SignUpForm/index.js +39 -5
  86. package/src/themes/four/src/components/SignUpForm/styles.js +4 -0
  87. package/src/themes/franchise/src/components/LoginForm/index.js +26 -1
  88. package/src/themes/franchise/src/components/SignUpForm/index.js +27 -1
  89. package/src/themes/seven/src/components/LoginForm/index.js +31 -0
  90. package/src/themes/seven/src/components/SignUpForm/index.js +27 -1
  91. package/src/themes/six/src/components/LoginForm/index.js +28 -1
  92. package/src/themes/six/src/components/SignUpForm/index.js +27 -1
  93. package/src/themes/three/src/components/LoginForm/index.js +38 -6
  94. package/src/themes/three/src/components/LoginForm/styles.js +4 -0
  95. package/src/themes/three/src/components/SignUpForm/index.js +40 -4
  96. package/src/themes/three/src/components/SignUpForm/styles.js +4 -0
  97. package/src/themes/two/src/components/LoginForm/index.js +25 -1
  98. package/src/themes/two/src/components/SignUpForm/index.js +28 -3
  99. package/src/utils/index.js +53 -0
  100. package/template/app.js +15 -3
  101. package/template/config.json +1 -0
  102. package/template/pages/BusinessProductsList/index.js +2 -2
  103. package/_bundles/ordering-ui.7635bd47ae9a481b3f59.js +0 -2
@@ -37,6 +37,7 @@ import { AppleLogin } from '../AppleLogin'
37
37
  import AiOutlineEye from '@meronex/icons/ai/AiOutlineEye'
38
38
  import AiOutlineEyeInvisible from '@meronex/icons/ai/AiOutlineEyeInvisible'
39
39
  import { sortInputFields } from '../../../../../utils'
40
+ import { useRecaptcha } from '../../../../../hooks/useRecaptcha'
40
41
 
41
42
  const notValidationFields = ['coupon', 'driver_tip', 'mobile_phone', 'address', 'address_notes']
42
43
 
@@ -63,6 +64,8 @@ const SignUpFormUI = (props) => {
63
64
  const [{ configs }] = useConfig()
64
65
  const formMethods = useForm()
65
66
  const [alertState, setAlertState] = useState({ open: false, content: [] })
67
+ const [recaptchaConfig] = useRecaptcha(enableReCaptcha)
68
+ const [reCaptchaVersion, setRecaptchaVersion] = useState({ version: '', siteKey: '' })
66
69
  const [, { login }] = useSession()
67
70
  const emailInput = useRef(null)
68
71
  const isFacebookLogin = configs?.facebook_login?.value === 'true'
@@ -165,6 +168,22 @@ const SignUpFormUI = (props) => {
165
168
 
166
169
  useEffect(() => {
167
170
  if (!formState.loading && formState.result?.error) {
171
+ if (formState.result?.result?.[0] === 'ERROR_AUTH_VERIFICATION_CODE') {
172
+ if (configs?.security_recaptcha_site_key?.value) {
173
+ setRecaptchaVersion({ version: 'v2', siteKey: configs?.security_recaptcha_site_key?.value })
174
+ setAlertState({
175
+ open: true,
176
+ content: [t('TRY_AGAIN', 'Please try again')]
177
+ })
178
+ return
179
+ }
180
+ setAlertState({
181
+ open: true,
182
+ content: [t('CONFIG_DOESNOT_RECAPTCHA_KEY', 'the config doesn\'t have recaptcha site key')]
183
+ })
184
+ return
185
+ }
186
+
168
187
  setAlertState({
169
188
  open: true,
170
189
  content: formState.result?.result || [t('ERROR', 'Error')]
@@ -183,6 +202,12 @@ const SignUpFormUI = (props) => {
183
202
  }
184
203
  }, [formMethods.errors])
185
204
 
205
+ useEffect(() => {
206
+ if (recaptchaConfig?.siteKey) {
207
+ setRecaptchaVersion({ version: recaptchaConfig?.version, siteKey: recaptchaConfig?.siteKey })
208
+ }
209
+ }, [recaptchaConfig])
210
+
186
211
  useEffect(() => {
187
212
  if (!validationFields.loading) {
188
213
  Object.values(validationFields?.fields?.checkout).map(field => !notValidationFields.includes(field.code) && (
@@ -392,9 +417,9 @@ const SignUpFormUI = (props) => {
392
417
  )}
393
418
 
394
419
  {props.isRecaptchaEnable && enableReCaptcha && (
395
- <ReCaptchaWrapper>
396
- <ReCaptcha handleReCaptcha={handleReCaptcha} />
397
- </ReCaptchaWrapper>
420
+ <ReCaptchaWrapper>
421
+ <ReCaptcha handleReCaptcha={handleReCaptcha} reCaptchaVersion={reCaptchaVersion} />
422
+ </ReCaptchaWrapper>
398
423
  )}
399
424
 
400
425
  <Button
@@ -293,6 +293,59 @@ export const shape = {
293
293
  capsuleShape: 'capsule_shape'
294
294
  }
295
295
 
296
+ /**
297
+ * Function to get formatted time list
298
+ * @param {*} selectedDate = selected Date
299
+ * @param {*} schedule = schedule list
300
+ * @param {*} is12Hours = variable for time format
301
+ */
302
+ export const getTimes = (selectedDate, schedule, is12Hours) => {
303
+ const date = new Date()
304
+ const times = []
305
+ for (let k = 0; k < schedule[selectedDate.getDay()].lapses.length; k++) {
306
+ const open = {
307
+ hour: schedule[selectedDate.getDay()].lapses[k].open.hour,
308
+ minute: schedule[selectedDate.getDay()].lapses[k].open.minute
309
+ }
310
+ const close = {
311
+ hour: schedule[selectedDate.getDay()].lapses[k].close.hour,
312
+ minute: schedule[selectedDate.getDay()].lapses[k].close.minute
313
+ }
314
+ for (let i = open.hour; i <= close.hour; i++) {
315
+ if (date.getDate() !== selectedDate.getDate() || i >= date.getHours()) {
316
+ let hour = ''
317
+ let meridian = ''
318
+ if (is12Hours) {
319
+ if (i === 0) {
320
+ hour = '12'
321
+ meridian = ' ' + 'AM'
322
+ } else if (i > 0 && i < 12) {
323
+ hour = (i < 10 ? '0' + i : i)
324
+ meridian = ' ' + 'AM'
325
+ } else if (i === 12) {
326
+ hour = '12'
327
+ meridian = ' ' + 'PM'
328
+ } else {
329
+ hour = ((i - 12 < 10) ? '0' + (i - 12) : `${(i - 12)}`)
330
+ meridian = ' ' + 'PM'
331
+ }
332
+ } else {
333
+ hour = i < 10 ? '0' + i : i
334
+ }
335
+ for (let j = (i === open.hour ? open.minute : 0); j <= (i === close.hour ? close.minute : 59); j += 15) {
336
+ if (i !== date.getHours() || j >= date.getMinutes() || date.getDate() !== selectedDate.getDate()) {
337
+ times.push({
338
+ text: hour + ':' + (j < 10 ? '0' + j : j) + meridian,
339
+ value: (i < 10 ? '0' + i : i) + ':' + (j < 10 ? '0' + j : j)
340
+ })
341
+ }
342
+ }
343
+ }
344
+ }
345
+ }
346
+ return times
347
+ }
348
+
296
349
  /**
297
350
  * List of price to filter businesses
298
351
  */
package/template/app.js CHANGED
@@ -73,7 +73,7 @@ export const App = () => {
73
73
  const [orderStatus, { changeType, getLastOrderHasNoReview }] = useOrder()
74
74
  const [{ configs, loading: configLoading }] = useConfig()
75
75
  const [{ loading: siteLoading }] = useSite()
76
- const [, t] = useLanguage()
76
+ const [languageState, t] = useLanguage()
77
77
  const [orderingTheme] = useOrderingTheme()
78
78
  const [loaded, setLoaded] = useState(false)
79
79
  const onlineStatus = useOnlineStatus()
@@ -164,7 +164,8 @@ export const App = () => {
164
164
  businessType: user?.level,
165
165
  project: settings.project,
166
166
  dashboardUrl: settings.url_dashboard,
167
- dashboardLoginUrl: `${settings.url_dashboard}/login/?project=${settings.project}&token=${user?.session?.access_token}`
167
+ dashboardLoginUrl: `${settings.url_dashboard}/login/?project=${settings.project}&token=${user?.session?.access_token}`,
168
+ contactEmail: settings.contact_email
168
169
  }
169
170
  }) : setAlertState({
170
171
  open: true,
@@ -181,7 +182,8 @@ export const App = () => {
181
182
  businessType: user?.level,
182
183
  project: settings.project,
183
184
  dashboardUrl: settings.url_dashboard,
184
- dashboardLoginUrl: `${settings.url_dashboard}/login/?project=${settings.project}&token=${user?.session?.access_token}`
185
+ dashboardLoginUrl: `${settings.url_dashboard}/login/?project=${settings.project}&token=${user?.session?.access_token}`,
186
+ contactEmail: settings.contact_email
185
187
  }
186
188
  }) : setAlertState({
187
189
  open: true,
@@ -319,6 +321,16 @@ export const App = () => {
319
321
  }
320
322
  }, [])
321
323
 
324
+ useEffect(() => {
325
+ if (
326
+ languageState?.error &&
327
+ languageState?.error?.includes('This project does not exist') &&
328
+ settings?.use_project_subdomain
329
+ ) {
330
+ window.open('https://www.ordering.co', '_self')
331
+ }
332
+ }, [languageState])
333
+
322
334
  useEffect(() => {
323
335
  if (!orderStatus.loading) {
324
336
  const localCountryCode = orderStatus?.options?.address?.country_code ??
@@ -17,6 +17,7 @@
17
17
  "store_apple_id": "",
18
18
  "store_kindle_id": "",
19
19
  "url_dashboard": "https://app.tryordering.com",
20
+ "contact_email": "support@ordering.co",
20
21
  "use_kiosk": false,
21
22
  "businessSlug": "",
22
23
  "franchiseSlug": null,
@@ -135,9 +135,9 @@ export const BusinessProductsList = (props) => {
135
135
  onProductRedirect: ({ slug, category, product }) => {
136
136
  if (!category && !product) {
137
137
  if (businessUrlTemplate === '/store/:business_slug' || businessUrlTemplate === '/:business_slug') {
138
- return events.emit('go_to_page', { page: 'business', params: { business_slug: slug } })
138
+ return events.emit('go_to_page', { page: 'business', params: { business_slug: slug }, replace: true })
139
139
  } else {
140
- return events.emit('go_to_page', { page: 'business', search: `?${businessUrlTemplate.split('?')[1].replace(':business_slug', '')}${slug}` })
140
+ return events.emit('go_to_page', { page: 'business', search: `?${businessUrlTemplate.split('?')[1].replace(':business_slug', '')}${slug}`, replace: true })
141
141
  }
142
142
  }
143
143
  if (productUrlTemplate === '/store/:business_slug/:category_slug/:product_slug' || productUrlTemplate === '/:business_slug/:category_slug/:product_slug') {