ublo-lib 1.20.10 → 1.20.13

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.
@@ -16,7 +16,7 @@ export default function SlopesToggle({
16
16
  className: css.slopesToggle,
17
17
  children: _jsx(Checkbox, {
18
18
  label: label,
19
- value: showSlopes,
19
+ checked: showSlopes,
20
20
  onCheckedChange: setShowSlopes
21
21
  })
22
22
  });
@@ -119,13 +119,14 @@ function ContactForm({
119
119
  ...acc,
120
120
  [key]: field.value
121
121
  };
122
- }, {});
122
+ });
123
123
  onSubmit?.(payload);
124
124
  const result = await API.postMessage({
125
125
  lang: widgetLang,
126
126
  channel,
127
127
  resort,
128
128
  merchant,
129
+ facet,
129
130
  ...payload
130
131
  }, integration, uat);
131
132
  if (result.error) {
@@ -2,7 +2,8 @@ type Props = {
2
2
  channel?: string;
3
3
  multipleVillages?: boolean;
4
4
  integration?: boolean;
5
+ categoryCode?: string;
5
6
  };
6
- export default function useTunnel({ channel, multipleVillages, integration, }?: Props): void;
7
+ export default function useTunnel({ channel, multipleVillages, integration, categoryCode, }?: Props): void;
7
8
  export {};
8
9
  //# sourceMappingURL=use-tunnel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-tunnel.d.ts","sourceRoot":"","sources":["../../../src/common/hooks/use-tunnel.ts"],"names":[],"mappings":"AAMA,KAAK,KAAK,GAAG;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAMF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,OAAe,EACf,gBAAgB,EAChB,WAAW,GACZ,GAAE,KAAU,QA0BZ"}
1
+ {"version":3,"file":"use-tunnel.d.ts","sourceRoot":"","sources":["../../../src/common/hooks/use-tunnel.ts"],"names":[],"mappings":"AAMA,KAAK,KAAK,GAAG;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAMF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,OAAe,EACf,gBAAgB,EAChB,WAAW,EACX,YAAY,GACb,GAAE,KAAU,QA2BZ"}
@@ -6,7 +6,7 @@ import { loadJS } from "../utils/load-js";
6
6
  const { publicRuntimeConfig } = getConfig();
7
7
  const { langPrefix, resort } = publicRuntimeConfig;
8
8
  const hasLangPrefix = langPrefix.links;
9
- export default function useTunnel({ channel = "ESF", multipleVillages, integration, } = {}) {
9
+ export default function useTunnel({ channel = "ESF", multipleVillages, integration, categoryCode, } = {}) {
10
10
  const { lang, breadcrumb } = useUbloContext();
11
11
  const { path: esfPath } = multipleVillages ? breadcrumb?.next : breadcrumb;
12
12
  const widgetLang = React.useMemo(() => (lang === "fr" ? "fr" : "en"), [lang]);
@@ -22,6 +22,7 @@ export default function useTunnel({ channel = "ESF", multipleVillages, integrati
22
22
  lang: widgetLang,
23
23
  esfUrl,
24
24
  analytics: Plausible.callback,
25
+ categoryCode,
25
26
  });
26
27
  });
27
28
  };
@@ -31,7 +31,8 @@ export default function Sheet({
31
31
  uri
32
32
  } = instructor;
33
33
  const {
34
- lang
34
+ lang,
35
+ path
35
36
  } = useUbloContext();
36
37
  const [loading, setLoading] = React.useState(true);
37
38
  const [picture, setPicture] = React.useState(photo);
@@ -49,6 +50,7 @@ export default function Sheet({
49
50
  const classes = classNames(css.container, {
50
51
  [css.containerPopup]: popup
51
52
  });
53
+ const key = `${lang}-${path}${prenom}-${nom}`;
52
54
  return _jsxs("div", {
53
55
  className: classes,
54
56
  children: [_jsxs("div", {
@@ -71,8 +73,8 @@ export default function Sheet({
71
73
  alt: `${prenom} ${nom}`,
72
74
  onLoad: stopLoading,
73
75
  onError: setFallbackPicture,
74
- width: "190",
75
- height: "250"
76
+ width: "200",
77
+ height: "280"
76
78
  }, uri)]
77
79
  }) : _jsx("div", {
78
80
  className: css.imagePlaceholder,
@@ -167,5 +169,5 @@ export default function Sheet({
167
169
  customSend: formSendFunction(prenom, nom)
168
170
  })]
169
171
  })]
170
- });
172
+ }, key);
171
173
  }
@@ -38,8 +38,8 @@
38
38
 
39
39
  .imageContainer {
40
40
  position: relative;
41
- width: 130px;
42
- height: 180px;
41
+ width: 200px;
42
+ height: 280px;
43
43
  display: flex;
44
44
  align-items: center;
45
45
  justify-content: center;
@@ -3,7 +3,7 @@ import { useUbloContext } from "ublo/with-ublo";
3
3
  import Button from "dt-design-system/es/button";
4
4
  import * as Icons from "dt-design-system/es/icons";
5
5
  import { message } from "./messages";
6
- import { loadWigetMseM, preview } from "./services/widgets";
6
+ import { loadWigetMseM } from "./services/widgets";
7
7
  import * as Plausible from "../../../common/components/plausible";
8
8
  import css from "./booking.module.css";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -24,6 +24,9 @@ const Booking = ({
24
24
  const {
25
25
  resort
26
26
  } = config;
27
+ const langPrefix = config.langPrefix.links ? `/${lang}` : "";
28
+ const cartPage = langPrefix.concat(cartUrl || "/panier");
29
+ const categoryCode = values?.categories;
27
30
  const goBack = () => {
28
31
  setCurrentStep(0);
29
32
  };
@@ -48,6 +51,12 @@ const Booking = ({
48
51
  };
49
52
  }
50
53
  }, [engagement, values?.activities, values?.days, values?.durations, values?.languages, values?.nbPersons, values?.startDates]);
54
+ const goToCart = React.useCallback(() => {
55
+ if (categoryCode) {
56
+ window.sessionStorage.setItem("categoryCode", categoryCode);
57
+ }
58
+ window.location.href = cartPage;
59
+ }, [cartPage, categoryCode]);
51
60
  React.useEffect(() => {
52
61
  const init = async () => {
53
62
  await loadWigetMseM();
@@ -56,11 +65,12 @@ const Booking = ({
56
65
  resort,
57
66
  lang,
58
67
  channel,
59
- preview: !!cmsMode || preview,
60
- cartUrl,
68
+ preview: !!cmsMode,
69
+ cartChanged: goToCart,
61
70
  fullWidth: true,
62
71
  groundedTo: "#msem-magic-box",
63
- analytics: Plausible.callback
72
+ analytics: Plausible.callback,
73
+ categoryCode
64
74
  };
65
75
  const presets = {
66
76
  kind: "CP",
@@ -75,7 +85,7 @@ const Booking = ({
75
85
  });
76
86
  };
77
87
  init();
78
- }, [cartUrl, channel, cmsMode, engagement, engagementPresets, lang, resort, stay.from, stay.to, values.categories]);
88
+ }, [cartUrl, categoryCode, channel, cmsMode, engagement, engagementPresets, goToCart, lang, resort, stay.from, stay.to]);
79
89
  return _jsxs("div", {
80
90
  className: css.root,
81
91
  children: [_jsxs(Button, {
@@ -1,3 +1,4 @@
1
1
  import { loadJS } from "../../../../common/utils/load-js";
2
- export const preview = typeof window !== "undefined" && window.location.search.indexOf("preview") !== -1;
3
- export const loadWigetMseM = () => loadJS("https://widget.msem.tech/static/js/widget-msem.js", "widget-msem");
2
+ export async function loadWigetMseM() {
3
+ await loadJS("https://widget.msem.tech/static/js/widget-msem.js", "widget-msem");
4
+ }
@@ -2,28 +2,7 @@ import * as React from "react";
2
2
  import { useUbloContext } from "ublo/with-ublo";
3
3
  import { loadJS } from "../../common/utils/load-js";
4
4
  import * as Plausible from "../../common/components/plausible";
5
- const closeAllDialogs = e => {
6
- const cart = e.target.closest("[onclick^='openBoutiqueESF(']");
7
- if (!cart) return;
8
- const dialogs = document.querySelectorAll("dialog");
9
- if (dialogs.length) {
10
- Array.from(dialogs).forEach(d => d.close?.());
11
- }
12
- };
13
- const setupDialogCleanup = () => {
14
- document.addEventListener("click", closeAllDialogs);
15
- };
16
- const setupConfig = (lang, breadcrumb, cart = [], multipleVillages, hasLangPrefix, channel) => {
17
- const pageEsf = multipleVillages ? breadcrumb?.next?.path : breadcrumb?.path;
18
- const langPrefix = hasLangPrefix ? `/${lang}` : "";
19
- const pagePanier = langPrefix.concat(cart[0] ? cart[0].path : "/panier");
20
- window.pagePanier = pagePanier;
21
- window.pageEsf = pageEsf;
22
- window.currentLang = lang;
23
- window.analytics = Plausible.callback;
24
- window.channel = channel;
25
- };
26
- const useBookingLinks = (cart, multipleVillages, setupCallback, channel = "ESF") => {
5
+ export default function useBookingLinks(cart, multipleVillages, setupCallback, channel = "ESF") {
27
6
  const {
28
7
  breadcrumb,
29
8
  config,
@@ -41,5 +20,25 @@ const useBookingLinks = (cart, multipleVillages, setupCallback, channel = "ESF")
41
20
  };
42
21
  run();
43
22
  }, [bookingLang, breadcrumb, cart, channel, hasLangPrefix, multipleVillages, path, setupCallback]);
44
- };
45
- export default useBookingLinks;
23
+ }
24
+ function setupConfig(lang, breadcrumb, cart = [], multipleVillages, hasLangPrefix, channel) {
25
+ const pageEsf = multipleVillages ? breadcrumb?.next?.path : breadcrumb?.path;
26
+ const langPrefix = hasLangPrefix ? `/${lang}` : "";
27
+ const pagePanier = langPrefix.concat(cart[0] ? cart[0].path : "/panier");
28
+ window.pagePanier = pagePanier;
29
+ window.pageEsf = pageEsf;
30
+ window.currentLang = lang;
31
+ window.analytics = Plausible.callback;
32
+ window.channel = channel;
33
+ }
34
+ function closeAllDialogs(e) {
35
+ const cart = e.target.closest("[onclick^='openBoutiqueESF(']");
36
+ if (!cart) return;
37
+ const dialogs = document.querySelectorAll("dialog");
38
+ if (dialogs.length) {
39
+ Array.from(dialogs).forEach(d => d.close?.());
40
+ }
41
+ }
42
+ function setupDialogCleanup() {
43
+ document.addEventListener("click", closeAllDialogs);
44
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ublo-lib",
3
- "version": "1.20.10",
3
+ "version": "1.20.13",
4
4
  "peerDependencies": {
5
5
  "dt-design-system": "^3.1.5",
6
6
  "leaflet": "^1.9.1",