ublo-lib 1.17.8 → 1.18.1
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.
- package/es/common/components/msem-preset-editor/editor-dialog.d.ts +2 -1
- package/es/common/components/msem-preset-editor/editor-dialog.d.ts.map +1 -1
- package/es/common/components/msem-preset-editor/editor-dialog.js +2 -2
- package/es/common/components/msem-preset-editor/editors/lodgings.d.ts +2 -1
- package/es/common/components/msem-preset-editor/editors/lodgings.d.ts.map +1 -1
- package/es/common/components/msem-preset-editor/editors/lodgings.js +2 -2
- package/es/common/components/msem-preset-editor/msem-preset-editor.d.ts +2 -1
- package/es/common/components/msem-preset-editor/msem-preset-editor.d.ts.map +1 -1
- package/es/common/components/msem-preset-editor/msem-preset-editor.js +2 -2
- package/es/common/components/msem-preset-linker/msem-preset-linker.d.ts +2 -1
- package/es/common/components/msem-preset-linker/msem-preset-linker.d.ts.map +1 -1
- package/es/common/components/msem-preset-linker/msem-preset-linker.js +2 -2
- package/es/esf/components/{instructors-book-v2 → instructors-book}/api.js +12 -8
- package/es/esf/components/{instructors-book-v2 → instructors-book}/book.js +1 -1
- package/es/esf/components/{instructors-book-v2 → instructors-book}/filters.js +2 -2
- package/es/esf/components/instructors-book/index.js +6 -3
- package/es/esf/components/{instructors-book-v2 → instructors-book}/instructor.js +6 -6
- package/es/esf/components/instructors-book/list.js +39 -170
- package/es/esf/components/instructors-book/messages.js +36 -37
- package/es/esf/components/{instructors-book-v2 → instructors-book}/sheet.js +17 -17
- package/es/esf/components/instructors-book/utils.js +48 -2
- package/package.json +1 -1
- package/es/esf/components/instructor-suggestions/fetcher.js +0 -16
- package/es/esf/components/instructor-suggestions/icons.js +0 -266
- package/es/esf/components/instructor-suggestions/index.js +0 -2
- package/es/esf/components/instructor-suggestions/instructor-suggestions.js +0 -180
- package/es/esf/components/instructor-suggestions/loader.js +0 -8
- package/es/esf/components/instructor-suggestions/messages.js +0 -16
- package/es/esf/components/instructors-book/container.js +0 -18
- package/es/esf/components/instructors-book/details.js +0 -117
- package/es/esf/components/instructors-book/icons.js +0 -266
- package/es/esf/components/instructors-book/inner.js +0 -15
- package/es/esf/components/instructors-book/instructors-book.js +0 -111
- package/es/esf/components/instructors-book/link.js +0 -17
- package/es/esf/components/instructors-book/list-utils.js +0 -18
- package/es/esf/components/instructors-book/loader.js +0 -8
- package/es/esf/components/instructors-book-v2/index.js +0 -6
- package/es/esf/components/instructors-book-v2/list.js +0 -47
- package/es/esf/components/instructors-book-v2/messages.js +0 -41
- package/es/esf/components/instructors-book-v2/utils.js +0 -51
- /package/es/esf/components/{instructors-book-v2 → instructors-book}/book.module.css +0 -0
- /package/es/esf/components/{instructors-book-v2 → instructors-book}/filters.module.css +0 -0
- /package/es/esf/components/{instructors-book-v2 → instructors-book}/flags.js +0 -0
- /package/es/esf/components/{instructors-book-v2 → instructors-book}/instructor.module.css +0 -0
- /package/es/esf/components/{instructors-book-v2 → instructors-book}/list.module.css +0 -0
- /package/es/esf/components/{instructors-book-v2 → instructors-book}/prefixes.js +0 -0
- /package/es/esf/components/{instructors-book-v2 → instructors-book}/sheet.module.css +0 -0
- /package/es/esf/components/{instructors-book-v2 → instructors-book}/suggestions.js +0 -0
- /package/es/esf/components/{instructors-book-v2 → instructors-book}/suggestions.module.css +0 -0
|
@@ -22,8 +22,9 @@ type Props = {
|
|
|
22
22
|
updatePreset: (preset: any) => any;
|
|
23
23
|
closeEditor: () => void;
|
|
24
24
|
removeObsoletePreset: () => void;
|
|
25
|
+
noLodgingPage?: boolean;
|
|
25
26
|
children?: React.ReactNode;
|
|
26
27
|
};
|
|
27
|
-
export default function EditorDialog({ lang, options, urls, target, updatePreset, closeEditor, removeObsoletePreset, children, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export default function EditorDialog({ lang, options, urls, target, updatePreset, closeEditor, removeObsoletePreset, noLodgingPage, children, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
28
29
|
export {};
|
|
29
30
|
//# sourceMappingURL=editor-dialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-dialog.d.ts","sourceRoot":"","sources":["../../../../src/common/components/msem-preset-editor/editor-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,QAAQ,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;IACF,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,QAAQ,GACT,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"editor-dialog.d.ts","sourceRoot":"","sources":["../../../../src/common/components/msem-preset-editor/editor-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,QAAQ,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;IACF,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,QAAQ,GACT,EAAE,KAAK,2CAsDP"}
|
|
@@ -5,12 +5,12 @@ import Button from "dt-design-system/es/button";
|
|
|
5
5
|
import * as Icons from "dt-design-system/es/icons";
|
|
6
6
|
import MseMPresetEditor from "./msem-preset-editor";
|
|
7
7
|
import css from "./editor-dialog.module.css";
|
|
8
|
-
export default function EditorDialog({ lang, options, urls, target, updatePreset, closeEditor, removeObsoletePreset, children, }) {
|
|
8
|
+
export default function EditorDialog({ lang, options, urls, target, updatePreset, closeEditor, removeObsoletePreset, noLodgingPage, children, }) {
|
|
9
9
|
const selectedPreset = target?.getAttribute("data-msem-preset");
|
|
10
10
|
const [preset, setPreset] = React.useState(selectedPreset ? JSON.parse(selectedPreset) : null);
|
|
11
11
|
const hasObsoletePreset = target?.hasAttribute("data-config");
|
|
12
12
|
const updateNewPreset = React.useCallback(() => {
|
|
13
13
|
updatePreset(preset);
|
|
14
14
|
}, [preset, updatePreset]);
|
|
15
|
-
return (_jsxs(Dialog, { className: css.dialog, isOpened: !!target, container: null, close: closeEditor, showAsModal: false, closeOnBackdropClick: false, children: [_jsx("div", { className: css.title, children: "Choisissez un widget" }), _jsx("div", { className: css.subtitle, children: "Ce dernier s'ouvrira au clic sur la section selectionn\u00E9e." }), _jsx(MseMPresetEditor, { lang: lang, options: options, urls: urls, selectedPreset: selectedPreset, onChange: setPreset, children: children }), _jsxs("div", { className: css.buttons, children: [hasObsoletePreset && (_jsxs(Button, { variant: "danger", className: css.removeObsolete, onClick: removeObsoletePreset, children: [_jsx(Icons.MdOutlineCleaningServices, {}), "Nettoyer le preset obsol\u00E8te"] })), _jsx(Button, { variant: "secondary", onClick: closeEditor, children: "Annuler" }), _jsx(Button, { variant: "primary", onClick: updateNewPreset, children: "Valider" })] })] }));
|
|
15
|
+
return (_jsxs(Dialog, { className: css.dialog, isOpened: !!target, container: null, close: closeEditor, showAsModal: false, closeOnBackdropClick: false, children: [_jsx("div", { className: css.title, children: "Choisissez un widget" }), _jsx("div", { className: css.subtitle, children: "Ce dernier s'ouvrira au clic sur la section selectionn\u00E9e." }), _jsx(MseMPresetEditor, { lang: lang, options: options, urls: urls, selectedPreset: selectedPreset, onChange: setPreset, noLodgingPage: noLodgingPage, children: children }), _jsxs("div", { className: css.buttons, children: [hasObsoletePreset && (_jsxs(Button, { variant: "danger", className: css.removeObsolete, onClick: removeObsoletePreset, children: [_jsx(Icons.MdOutlineCleaningServices, {}), "Nettoyer le preset obsol\u00E8te"] })), _jsx(Button, { variant: "secondary", onClick: closeEditor, children: "Annuler" }), _jsx(Button, { variant: "primary", onClick: updateNewPreset, children: "Valider" })] })] }));
|
|
16
16
|
}
|
|
@@ -9,8 +9,9 @@ type Props = {
|
|
|
9
9
|
setShowPresetDialog: React.Dispatch<React.SetStateAction<boolean>>;
|
|
10
10
|
testPreset: () => void;
|
|
11
11
|
onChange: (preset: Record<string, any>) => void;
|
|
12
|
+
noLodgingPage?: boolean;
|
|
12
13
|
baseUrl: string;
|
|
13
14
|
};
|
|
14
|
-
export default function Lodgings({ preset, setPreset, setShowPresetDialog, testPreset, onChange, baseUrl, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export default function Lodgings({ preset, setPreset, setShowPresetDialog, testPreset, onChange, baseUrl, noLodgingPage, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
15
16
|
export {};
|
|
16
17
|
//# sourceMappingURL=lodgings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lodgings.d.ts","sourceRoot":"","sources":["../../../../../src/common/components/msem-preset-editor/editors/lodgings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5E,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAsCF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,OAAO,
|
|
1
|
+
{"version":3,"file":"lodgings.d.ts","sourceRoot":"","sources":["../../../../../src/common/components/msem-preset-editor/editors/lodgings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5E,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAsCF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,OAAO,EACP,aAAa,GACd,EAAE,KAAK,2CAmSP"}
|
|
@@ -19,7 +19,7 @@ const DEFAULT_DATA = {
|
|
|
19
19
|
type: "",
|
|
20
20
|
openPage: false,
|
|
21
21
|
};
|
|
22
|
-
export default function Lodgings({ preset, setPreset, setShowPresetDialog, testPreset, onChange, baseUrl, }) {
|
|
22
|
+
export default function Lodgings({ preset, setPreset, setShowPresetDialog, testPreset, onChange, baseUrl, noLodgingPage, }) {
|
|
23
23
|
const savedPreset = React.useRef(preset);
|
|
24
24
|
const [ready, setReady] = React.useState(false);
|
|
25
25
|
const [lodgings, setLogings] = React.useState([]);
|
|
@@ -33,7 +33,7 @@ export default function Lodgings({ preset, setPreset, setShowPresetDialog, testP
|
|
|
33
33
|
const [data, setData] = React.useState(getDefaultData(preset));
|
|
34
34
|
const kinds = [...new Set(lodgings.map(({ kind }) => kind))];
|
|
35
35
|
const { channel, resort, facet } = preset?.options || {};
|
|
36
|
-
const showLodgingPageCheckbox = !!data.lodging;
|
|
36
|
+
const showLodgingPageCheckbox = !noLodgingPage && !!data.lodging;
|
|
37
37
|
const showFilters = !data.lodging;
|
|
38
38
|
const updateField = (field) => (value) => {
|
|
39
39
|
setData({ ...data, [field]: value });
|
|
@@ -20,8 +20,9 @@ type Props = {
|
|
|
20
20
|
};
|
|
21
21
|
selectedPreset?: string | null;
|
|
22
22
|
onChange?: (preset: Record<string, any> | null) => void;
|
|
23
|
+
noLodgingPage?: boolean;
|
|
23
24
|
children?: React.ReactNode;
|
|
24
25
|
};
|
|
25
|
-
export default function MseMPresetEditor({ lang, options, urls, selectedPreset, onChange, children, }: Props): import("react/jsx-runtime").JSX.Element | null;
|
|
26
|
+
export default function MseMPresetEditor({ lang, options, urls, selectedPreset, onChange, noLodgingPage, children, }: Props): import("react/jsx-runtime").JSX.Element | null;
|
|
26
27
|
export {};
|
|
27
28
|
//# sourceMappingURL=msem-preset-editor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msem-preset-editor.d.ts","sourceRoot":"","sources":["../../../../src/common/components/msem-preset-editor/msem-preset-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAoB/B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,QAAQ,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"msem-preset-editor.d.ts","sourceRoot":"","sources":["../../../../src/common/components/msem-preset-editor/msem-preset-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAoB/B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,QAAQ,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,cAAc,EACd,QAAQ,EACR,aAAa,EACb,QAAQ,GACT,EAAE,KAAK,kDAkMP"}
|
|
@@ -16,7 +16,7 @@ import * as Preset from "./services/preset";
|
|
|
16
16
|
import css from "./msem-preset-editor.module.css";
|
|
17
17
|
const { publicRuntimeConfig } = getConfig();
|
|
18
18
|
const { langPrefix } = publicRuntimeConfig;
|
|
19
|
-
export default function MseMPresetEditor({ lang, options, urls, selectedPreset, onChange, children, }) {
|
|
19
|
+
export default function MseMPresetEditor({ lang, options, urls, selectedPreset, onChange, noLodgingPage, children, }) {
|
|
20
20
|
const currentPreset = selectedPreset ? JSON.parse(selectedPreset) : undefined;
|
|
21
21
|
const defaultResort = Number(currentPreset ? currentPreset.options.resort : options.resort);
|
|
22
22
|
const [facet, setFacet] = React.useState(currentPreset?.options?.facet?.toString() || "");
|
|
@@ -118,7 +118,7 @@ export default function MseMPresetEditor({ lang, options, urls, selectedPreset,
|
|
|
118
118
|
React.cloneElement(children, {
|
|
119
119
|
resort,
|
|
120
120
|
setResort,
|
|
121
|
-
}), _jsx(FacetSelector, { facet: facet, setFacet: setFacet, setPreset: setPreset }), _jsx(StayPicker, { stay: stay, setStay: setStay, setPreset: setPreset }), showWidgetList && (_jsx(WidgetList, { lang: lang, resort: resort, channel: options.channel, facet: facet, preset: preset, updatePreset: updatePreset, removePreset: removePreset, error: error, setError: setError, setShowPresetDialog: setShowPresetDialog })), _jsx(Dialog, { isOpened: showPresetDialog, close: () => setShowPresetDialog(false), container: null, showAsModal: false, showCloseButton: false, children: showPresetDialog && (_jsx(CurrentEditor, { stay: stay, facet: facet, preset: preset, setPreset: setPreset, setShowPresetDialog: setShowPresetDialog, testPreset: testPreset, onChange: onChange, baseUrl: baseUrl })) }), error && _jsx("div", { className: css.error, children: error }), _jsxs("div", { className: css.footer, children: [_jsx(Button, { variant: "secondary", disabled: !preset?.widget, className: css.testButton, onClick: testPreset, "data-tooltip": "Tester dans le widget MseM", children: _jsx(Icons.MdOpenInBrowser, {}) }), _jsx(Input, { type: "text", className: css.url, value: presetUrl, onClick: copyUrl, disabled: !preset?.widget || presetUrl === "", placeholder: !preset
|
|
121
|
+
}), _jsx(FacetSelector, { facet: facet, setFacet: setFacet, setPreset: setPreset }), _jsx(StayPicker, { stay: stay, setStay: setStay, setPreset: setPreset }), showWidgetList && (_jsx(WidgetList, { lang: lang, resort: resort, channel: options.channel, facet: facet, preset: preset, updatePreset: updatePreset, removePreset: removePreset, error: error, setError: setError, setShowPresetDialog: setShowPresetDialog })), _jsx(Dialog, { isOpened: showPresetDialog, close: () => setShowPresetDialog(false), container: null, showAsModal: false, showCloseButton: false, children: showPresetDialog && (_jsx(CurrentEditor, { stay: stay, facet: facet, preset: preset, setPreset: setPreset, setShowPresetDialog: setShowPresetDialog, testPreset: testPreset, onChange: onChange, baseUrl: baseUrl, noLodgingPage: noLodgingPage })) }), error && _jsx("div", { className: css.error, children: error }), _jsxs("div", { className: css.footer, children: [_jsx(Button, { variant: "secondary", disabled: !preset?.widget, className: css.testButton, onClick: testPreset, "data-tooltip": "Tester dans le widget MseM", children: _jsx(Icons.MdOpenInBrowser, {}) }), _jsx(Input, { type: "text", className: css.url, value: presetUrl, onClick: copyUrl, disabled: !preset?.widget || presetUrl === "", placeholder: !preset
|
|
122
122
|
? "Aucun preset sélectionné"
|
|
123
123
|
: "Preset incompatible au format URL", readOnly: true })] })] }));
|
|
124
124
|
}
|
|
@@ -17,6 +17,7 @@ type Props = {
|
|
|
17
17
|
summer: string;
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
|
+
noLodgingPage?: boolean;
|
|
20
21
|
children?: React.ReactNode;
|
|
21
22
|
};
|
|
22
23
|
export declare const MODES: {
|
|
@@ -24,6 +25,6 @@ export declare const MODES: {
|
|
|
24
25
|
EDITING: number;
|
|
25
26
|
};
|
|
26
27
|
export declare const PRESET_ATTRIBUTE = "data-msem-preset";
|
|
27
|
-
export default function MseMPresetLinker({ lang, options, urls, children, }: Props): import("react/jsx-runtime").JSX.Element | null;
|
|
28
|
+
export default function MseMPresetLinker({ lang, options, urls, noLodgingPage, children, }: Props): import("react/jsx-runtime").JSX.Element | null;
|
|
28
29
|
export {};
|
|
29
30
|
//# sourceMappingURL=msem-preset-linker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msem-preset-linker.d.ts","sourceRoot":"","sources":["../../../../src/common/components/msem-preset-linker/msem-preset-linker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,QAAQ,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;IACF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,KAAK;;;CAGjB,CAAC;AAEF,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,QAAQ,GACT,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"msem-preset-linker.d.ts","sourceRoot":"","sources":["../../../../src/common/components/msem-preset-linker/msem-preset-linker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,QAAQ,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;IACF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,KAAK;;;CAGjB,CAAC;AAEF,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,aAAa,EACb,QAAQ,GACT,EAAE,KAAK,kDA+DP"}
|
|
@@ -12,7 +12,7 @@ export const MODES = {
|
|
|
12
12
|
EDITING: 1,
|
|
13
13
|
};
|
|
14
14
|
export const PRESET_ATTRIBUTE = "data-msem-preset";
|
|
15
|
-
export default function MseMPresetLinker({ lang, options, urls, children, }) {
|
|
15
|
+
export default function MseMPresetLinker({ lang, options, urls, noLodgingPage, children, }) {
|
|
16
16
|
const { cmsMode } = useUbloContext();
|
|
17
17
|
const [mode, setMode] = React.useState(MODES.CONNECTED);
|
|
18
18
|
const [target, setTarget] = React.useState(null);
|
|
@@ -50,5 +50,5 @@ export default function MseMPresetLinker({ lang, options, urls, children, }) {
|
|
|
50
50
|
useMsemPresets({ mode });
|
|
51
51
|
if (!cmsMode)
|
|
52
52
|
return null;
|
|
53
|
-
return (_jsxs("div", { className: css.linker, children: [_jsx(Actions, { mode: mode, setMode: setMode }), _jsx(Overlays, { mode: mode, target: target, setTarget: setTarget }), _jsx(EditorDialog, { lang: lang, options: options, target: target, updatePreset: updatePreset, closeEditor: closeEditor, removeObsoletePreset: removeObsoletePreset, urls: urlsWithOverride, children: children })] }));
|
|
53
|
+
return (_jsxs("div", { className: css.linker, children: [_jsx(Actions, { mode: mode, setMode: setMode }), _jsx(Overlays, { mode: mode, target: target, setTarget: setTarget }), _jsx(EditorDialog, { lang: lang, options: options, target: target, updatePreset: updatePreset, closeEditor: closeEditor, removeObsoletePreset: removeObsoletePreset, urls: urlsWithOverride, noLodgingPage: noLodgingPage, children: children })] }));
|
|
54
54
|
}
|
|
@@ -5,15 +5,16 @@ const {
|
|
|
5
5
|
const {
|
|
6
6
|
resort
|
|
7
7
|
} = publicRuntimeConfig;
|
|
8
|
-
const
|
|
9
|
-
const
|
|
8
|
+
const carnetRougeApi = "https://services.carnet-rouge-esf.app/api";
|
|
9
|
+
const authorizationCarnetRouge = "6bdecf9053927dcc7e10923a2cc603a4";
|
|
10
10
|
const fetcher = async (url, body) => {
|
|
11
11
|
const res = await fetch(url, {
|
|
12
12
|
method: "POST",
|
|
13
13
|
headers: {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
...(body ? {
|
|
15
|
+
"content-type": "application/json;charset=utf-8"
|
|
16
|
+
} : {}),
|
|
17
|
+
Authorization: authorizationCarnetRouge
|
|
17
18
|
},
|
|
18
19
|
body: body ? JSON.stringify(body) : undefined
|
|
19
20
|
});
|
|
@@ -21,7 +22,8 @@ const fetcher = async (url, body) => {
|
|
|
21
22
|
};
|
|
22
23
|
export async function fetchInstructors(lang, body = {}) {
|
|
23
24
|
try {
|
|
24
|
-
|
|
25
|
+
const url = `${carnetRougeApi}/annuaire/public/moniteurs/${resort}/${lang}`;
|
|
26
|
+
return fetcher(url, {
|
|
25
27
|
...body,
|
|
26
28
|
project: true
|
|
27
29
|
});
|
|
@@ -32,7 +34,8 @@ export async function fetchInstructors(lang, body = {}) {
|
|
|
32
34
|
}
|
|
33
35
|
export async function fetchInstructor(lang, uri) {
|
|
34
36
|
try {
|
|
35
|
-
|
|
37
|
+
const url = `${carnetRougeApi}/annuaire/public/moniteur/${resort}/${lang}/${uri}`;
|
|
38
|
+
return fetcher(url);
|
|
36
39
|
} catch (e) {
|
|
37
40
|
console.warn(e);
|
|
38
41
|
return {};
|
|
@@ -40,7 +43,8 @@ export async function fetchInstructor(lang, uri) {
|
|
|
40
43
|
}
|
|
41
44
|
export const fetchRandomInstructors = async (lang, tags, nbInstructor) => {
|
|
42
45
|
try {
|
|
43
|
-
|
|
46
|
+
const url = `${carnetRougeApi}/annuaire/public/moniteurs/${resort}/${lang}/by-tags`;
|
|
47
|
+
return fetcher(url, {
|
|
44
48
|
tags,
|
|
45
49
|
size: nbInstructor
|
|
46
50
|
});
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import * as API from "./api";
|
|
2
|
+
import Book from "./book";
|
|
3
|
+
import Sheet from "./sheet";
|
|
4
|
+
import Suggestions from "./suggestions";
|
|
5
|
+
import prefixes from "./prefixes";
|
|
6
|
+
export { Book, Sheet, Suggestions, API, prefixes };
|
|
@@ -22,8 +22,8 @@ export default function Instructor({
|
|
|
22
22
|
lang
|
|
23
23
|
} = useUbloContext();
|
|
24
24
|
const {
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
prenom,
|
|
26
|
+
nom,
|
|
27
27
|
photo,
|
|
28
28
|
uri
|
|
29
29
|
} = instructor;
|
|
@@ -66,7 +66,7 @@ export default function Instructor({
|
|
|
66
66
|
loading: "lazy",
|
|
67
67
|
src: picture,
|
|
68
68
|
className: css.imageBackground,
|
|
69
|
-
alt: `${
|
|
69
|
+
alt: `${prenom} ${nom}`,
|
|
70
70
|
width: "170",
|
|
71
71
|
height: "220"
|
|
72
72
|
}), picture ? _jsxs(_Fragment, {
|
|
@@ -76,7 +76,7 @@ export default function Instructor({
|
|
|
76
76
|
loading: "lazy",
|
|
77
77
|
src: picture,
|
|
78
78
|
className: css.image,
|
|
79
|
-
alt: `${
|
|
79
|
+
alt: `${prenom} ${nom}`,
|
|
80
80
|
onLoad: stopLoading,
|
|
81
81
|
onError: setFallbackPicture,
|
|
82
82
|
width: "170",
|
|
@@ -94,10 +94,10 @@ export default function Instructor({
|
|
|
94
94
|
className: css.name,
|
|
95
95
|
children: [_jsxs("span", {
|
|
96
96
|
className: css.firstName,
|
|
97
|
-
children: [Utils.formatNames(
|
|
97
|
+
children: [Utils.formatNames(prenom), " "]
|
|
98
98
|
}), _jsx("span", {
|
|
99
99
|
className: css.lastName,
|
|
100
|
-
children: Utils.formatNames(
|
|
100
|
+
children: Utils.formatNames(nom)
|
|
101
101
|
})]
|
|
102
102
|
})
|
|
103
103
|
})]
|
|
@@ -1,178 +1,47 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { filter } from "./list-utils";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
import { useUbloContext } from "ublo/with-ublo";
|
|
4
|
+
import * as Utils from "./utils";
|
|
5
|
+
import Instructor from "./instructor";
|
|
6
|
+
import { message } from "./messages";
|
|
7
|
+
import css from "./list.module.css";
|
|
9
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
export default function List({
|
|
11
|
+
search = "",
|
|
13
12
|
instructors,
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
fromSuggestions,
|
|
14
|
+
formSendFunction,
|
|
15
|
+
formFields,
|
|
16
16
|
trombi,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const displayedInstructors = filter(instructors, search);
|
|
28
|
-
setDisplayedInstructors(displayedInstructors);
|
|
29
|
-
}, [instructors, search]);
|
|
30
|
-
const changeFilter = filter => e => {
|
|
31
|
-
if (selectFilter !== undefined) {
|
|
32
|
-
selectFilter(filter, e.target.value);
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
const renderHeader = () => {
|
|
36
|
-
return _jsxs("div", {
|
|
37
|
-
className: "instructors-book-list__top",
|
|
38
|
-
children: [_jsxs("div", {
|
|
39
|
-
className: "instructors-book-list__top-left",
|
|
40
|
-
children: [_jsx("h2", {
|
|
41
|
-
className: "instructors-book-list__title",
|
|
42
|
-
children: texts["instructors-book-title-1"]
|
|
43
|
-
}), _jsx("div", {
|
|
44
|
-
className: "instructors-book-list__tagline",
|
|
45
|
-
children: texts["instructors-book-title-2"]
|
|
46
|
-
}), _jsx("div", {
|
|
47
|
-
className: "instructors-book-list__helper",
|
|
48
|
-
children: texts["instructors-book-intro"]
|
|
49
|
-
})]
|
|
50
|
-
}), _jsxs("div", {
|
|
51
|
-
className: "instructors-book-list__filters",
|
|
52
|
-
children: [_jsxs("div", {
|
|
53
|
-
className: "instructors-book-list__filters-title",
|
|
54
|
-
children: [texts["instructors-book-search-1"], " ", _jsx("span", {
|
|
55
|
-
className: "instructors-book-list__filters-title-span",
|
|
56
|
-
children: texts["instructors-book-search-2"]
|
|
57
|
-
})]
|
|
58
|
-
}), _jsx("div", {
|
|
59
|
-
className: "instructors-book-list__input-filler",
|
|
60
|
-
children: _jsx("input", {
|
|
61
|
-
value: search,
|
|
62
|
-
className: "instructors-book-list__input",
|
|
63
|
-
placeholder: texts["instructors-book-placeholder-search"],
|
|
64
|
-
onChange: e => setSearch(e.target.value.toLowerCase())
|
|
65
|
-
})
|
|
66
|
-
}), _jsx("label", {
|
|
67
|
-
htmlFor: "instructors-book-practice-filter",
|
|
68
|
-
className: "instructors-book-list__label",
|
|
69
|
-
children: texts["instructors-book-filter-activity"]
|
|
70
|
-
}), _jsx("div", {
|
|
71
|
-
className: "instructors-book-list__input-filler instructors-book-list__input-filler--select",
|
|
72
|
-
children: _jsxs("select", {
|
|
73
|
-
value: activity,
|
|
74
|
-
id: "instructors-book-practice-filter",
|
|
75
|
-
className: "instructors-book-list__input instructors-book-list__input--select",
|
|
76
|
-
onChange: changeFilter("activity"),
|
|
77
|
-
children: [_jsx("option", {
|
|
78
|
-
value: "",
|
|
79
|
-
children: texts["instructors-book-placeholder-activity"]
|
|
80
|
-
}), activities && activities.map(({
|
|
81
|
-
code,
|
|
82
|
-
label
|
|
83
|
-
}) => _jsx("option", {
|
|
84
|
-
value: code,
|
|
85
|
-
children: label
|
|
86
|
-
}, code))]
|
|
87
|
-
})
|
|
88
|
-
}), _jsx("label", {
|
|
89
|
-
htmlFor: "instructors-book-language-filter",
|
|
90
|
-
className: "instructors-book-list__label",
|
|
91
|
-
children: texts["instructors-book-filter-language"]
|
|
92
|
-
}), _jsx("div", {
|
|
93
|
-
className: "instructors-book-list__input-filler instructors-book-list__input-filler--select",
|
|
94
|
-
children: _jsxs("select", {
|
|
95
|
-
value: language,
|
|
96
|
-
id: "instructors-book-language-filter",
|
|
97
|
-
className: "instructors-book-list__input instructors-book-list__input--select",
|
|
98
|
-
onChange: changeFilter("language"),
|
|
99
|
-
children: [_jsx("option", {
|
|
100
|
-
value: "",
|
|
101
|
-
children: texts["instructors-book-placeholder-language"]
|
|
102
|
-
}), languages && languages.map(({
|
|
103
|
-
code,
|
|
104
|
-
label
|
|
105
|
-
}) => _jsx("option", {
|
|
106
|
-
value: code,
|
|
107
|
-
children: label
|
|
108
|
-
}, code))]
|
|
109
|
-
})
|
|
110
|
-
})]
|
|
111
|
-
})]
|
|
112
|
-
});
|
|
113
|
-
};
|
|
114
|
-
const renderInstructor = (instructor, index) => {
|
|
115
|
-
const {
|
|
116
|
-
firstname,
|
|
117
|
-
lastname,
|
|
118
|
-
photo,
|
|
119
|
-
activities,
|
|
120
|
-
languages,
|
|
121
|
-
uri
|
|
122
|
-
} = instructor;
|
|
123
|
-
return _jsxs(Container, {
|
|
124
|
-
trombi: trombi,
|
|
125
|
-
className: "instructors-book-list__instructor",
|
|
126
|
-
...selectInstructor(uri),
|
|
127
|
-
children: [_jsxs("div", {
|
|
128
|
-
className: "instructors-book-list__instructor-image-container",
|
|
129
|
-
children: [!trombi && _jsx("div", {
|
|
130
|
-
className: "instructors-book-list__instructor-overlay",
|
|
131
|
-
children: _jsx(OverlayIcon, {
|
|
132
|
-
className: "instructors-book-list__instructor-overlay-icon"
|
|
133
|
-
})
|
|
134
|
-
}), photo ? _jsx("img", {
|
|
135
|
-
loading: "lazy",
|
|
136
|
-
src: photo,
|
|
137
|
-
className: "instructors-book-list__instructor-image",
|
|
138
|
-
alt: `${firstname} ${lastname}`
|
|
139
|
-
}) : _jsx(PersonIcon, {
|
|
140
|
-
className: "instructors-book-list__instructor-imageplaceholder"
|
|
141
|
-
})]
|
|
142
|
-
}), _jsxs("div", {
|
|
143
|
-
className: "instructors-book-list__instructor-name",
|
|
144
|
-
children: [formatNames(firstname), " ", _jsx("span", {
|
|
145
|
-
className: "instructors-book-list__instructor-lastname",
|
|
146
|
-
children: formatNames(lastname)
|
|
147
|
-
})]
|
|
148
|
-
}), trombi && _jsxs(_Fragment, {
|
|
149
|
-
children: [_jsx("div", {
|
|
150
|
-
className: "instructors-book-list__instructor-practices",
|
|
151
|
-
children: activities && activities.map(({
|
|
152
|
-
label
|
|
153
|
-
}) => label).join(" - ")
|
|
154
|
-
}), _jsx("div", {
|
|
155
|
-
className: "instructors-book-list__instructor-langs",
|
|
156
|
-
children: languages && languages.map(({
|
|
157
|
-
code,
|
|
158
|
-
label
|
|
159
|
-
}) => {
|
|
160
|
-
const Flag = flags[code];
|
|
161
|
-
return _jsx(Flag, {
|
|
162
|
-
className: "instructors-book-list__instructor-lang",
|
|
163
|
-
title: label
|
|
164
|
-
}, code);
|
|
165
|
-
})
|
|
166
|
-
})]
|
|
167
|
-
})]
|
|
168
|
-
}, uri || `instructor-${index}`);
|
|
169
|
-
};
|
|
17
|
+
popup
|
|
18
|
+
}) {
|
|
19
|
+
const {
|
|
20
|
+
lang
|
|
21
|
+
} = useUbloContext();
|
|
22
|
+
const displayedInstructors = fromSuggestions ? instructors : Utils.filter(instructors, search);
|
|
23
|
+
const listCountMessageCode = displayedInstructors?.length > 1 ? "instructors" : "instructor";
|
|
24
|
+
const classes = classNames(css.container, {
|
|
25
|
+
[css.containerSuggestions]: fromSuggestions
|
|
26
|
+
});
|
|
170
27
|
return _jsxs("div", {
|
|
171
|
-
className:
|
|
172
|
-
children: [
|
|
173
|
-
className:
|
|
174
|
-
children:
|
|
28
|
+
className: classes,
|
|
29
|
+
children: [!fromSuggestions && _jsxs("div", {
|
|
30
|
+
className: css.listCount,
|
|
31
|
+
children: [_jsx("b", {
|
|
32
|
+
children: displayedInstructors.length
|
|
33
|
+
}), " ", message(lang, listCountMessageCode)]
|
|
34
|
+
}), _jsx("div", {
|
|
35
|
+
className: css.inner,
|
|
36
|
+
children: displayedInstructors?.map(instructor => {
|
|
37
|
+
return _jsx(Instructor, {
|
|
38
|
+
instructor: instructor,
|
|
39
|
+
trombi: trombi,
|
|
40
|
+
formFields: formFields,
|
|
41
|
+
formSendFunction: formSendFunction,
|
|
42
|
+
popup: popup
|
|
43
|
+
}, instructor.uri);
|
|
44
|
+
})
|
|
175
45
|
})]
|
|
176
46
|
});
|
|
177
|
-
}
|
|
178
|
-
export default List;
|
|
47
|
+
}
|
|
@@ -1,42 +1,41 @@
|
|
|
1
|
-
const
|
|
1
|
+
const locales = {
|
|
2
2
|
fr: {
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
3
|
+
"search-label": "Chercher un moniteur",
|
|
4
|
+
"search-placeholder": "Nom, prénom...",
|
|
5
|
+
"activity-label": "Quelle pratique ?",
|
|
6
|
+
"language-label": "Quelle langue ?",
|
|
7
|
+
instructors: "moniteurs trouvés",
|
|
8
|
+
instructor: "moniteur trouvé",
|
|
9
|
+
activities: "Activités pratiquées",
|
|
10
|
+
and: "et",
|
|
11
|
+
languages: "Langues parlées",
|
|
12
|
+
about: "À propos",
|
|
13
|
+
contact: "Quand souhaitez-vous skier avec moi ?",
|
|
14
|
+
"suggestions-title": "Les moniteurs qui vous proposent ce cours",
|
|
15
|
+
"suggestions-button": "Voir tous les moniteurs",
|
|
16
|
+
"see-more": "Voir plus",
|
|
17
|
+
"go-back": "Retour"
|
|
17
18
|
},
|
|
18
19
|
en: {
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
20
|
+
"search-label": "Search an instructor",
|
|
21
|
+
"search-placeholder": "Lastname, firstname...",
|
|
22
|
+
"activity-label": "Which activity?",
|
|
23
|
+
"language-label": "Which language?",
|
|
24
|
+
instructors: "instructors found",
|
|
25
|
+
instructor: "instructor found",
|
|
26
|
+
activities: "Activities",
|
|
27
|
+
and: "and",
|
|
28
|
+
languages: "Spoken languages",
|
|
29
|
+
about: "About",
|
|
30
|
+
contact: "When would you like to ski with me?",
|
|
31
|
+
"suggestions-title": "The instructors who offer you this course",
|
|
32
|
+
"suggestions-button": "See all instructors",
|
|
33
|
+
"see-more": "See more",
|
|
34
|
+
"go-back": "Go back"
|
|
33
35
|
}
|
|
34
36
|
};
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
export default getMessage;
|
|
37
|
+
export const message = (lang, id) => {
|
|
38
|
+
const locale = lang === "fr" ? "fr" : "en";
|
|
39
|
+
const messages = locales[locale];
|
|
40
|
+
return messages[id] || `??${id}??`;
|
|
41
|
+
};
|