@mirai/core 0.3.310 → 0.3.311
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/build/components/Chat/Chat.js +12 -1
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/Rates/Rates.Footer.js +6 -0
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/helpers/constants.js +5 -1
- package/build/components/helpers/constants.js.map +1 -1
- package/package.json +1 -1
- package/public/App.Container.jsx +59 -57
|
@@ -46,10 +46,21 @@ const Chat = _ref => {
|
|
|
46
46
|
}
|
|
47
47
|
} = (0, _dataSources.useStore)();
|
|
48
48
|
const [busy, setBusy] = (0, _react.useState)(false);
|
|
49
|
+
const [hide, setHide] = (0, _react.useState)(false);
|
|
49
50
|
const [messages, setMessages] = (0, _react.useState)([]);
|
|
50
51
|
const [online, setOnline] = (0, _react.useState)(false);
|
|
51
52
|
const [scrollTo, setScrollTo] = (0, _react.useState)();
|
|
52
53
|
const [visible, setVisible] = (0, _react.useState)(false);
|
|
54
|
+
(0, _react.useEffect)(() => {
|
|
55
|
+
const callback = _ref2 => {
|
|
56
|
+
let {
|
|
57
|
+
visible: modalVisible
|
|
58
|
+
} = _ref2;
|
|
59
|
+
return setHide(modalVisible);
|
|
60
|
+
};
|
|
61
|
+
_dataSources.Event.subscribe(_helpers.EVENT.MODAL_VISIBLE, callback);
|
|
62
|
+
return () => _dataSources.Event.unsubscribe(_helpers.EVENT.MODAL_VISIBLE, callback);
|
|
63
|
+
}, []);
|
|
53
64
|
(0, _react.useEffect)(() => {
|
|
54
65
|
if (skeleton) return;
|
|
55
66
|
(async () => {
|
|
@@ -210,7 +221,7 @@ const Chat = _ref => {
|
|
|
210
221
|
}, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
|
|
211
222
|
disabled: busy,
|
|
212
223
|
onPress: () => setVisible(true),
|
|
213
|
-
className: (0, _ui.styles)(style.buttonExtend, visible && style.hide)
|
|
224
|
+
className: (0, _ui.styles)(style.buttonExtend, (hide || visible) && style.hide)
|
|
214
225
|
}, /*#__PURE__*/_react.default.createElement(_components.Avatar, {
|
|
215
226
|
disabled: visible,
|
|
216
227
|
className: style.avatar
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_services","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","onlineInterval","Chat","_ref","skeleton","name","NAME","isMobile","useDevice","translate","useLocale","value","calendar","currency","hotel","locale","occupation","origin","session","tags","type","useStore","busy","setBusy","useState","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","response","ServiceLisa","welcome","catch","handleError","addMessage","clearInterval","callback","status","setInterval","Date","getTime","storeContext","handleInput","input","nextMessages","text","timestamp","setTimeout","message","context","DELAY_RESPONSE","handleAction","form","intent","undefined","action","lisa","auto","error","console","Event","publish","EVENT","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","container","styles","row","header","Avatar","small","wide","Text","bold","L10N","LABEL_ASSISTANT","bullet","offline","light","LABEL_ONLINE","LABEL_OFFLINE","Button","squared","tooltip","ACTION_CLOSE","transparent","onPress","Icon","ICON","CLOSE","ScrollView","snap","map","index","Message","concat","disabled","onAction","Input","onValue","InputRich","Offline","Tooltip","right","LABEL_GREETINGS","Pressable","buttonExtend","hide","avatar","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, Modal, Pressable, ScrollView, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DELAY_RESPONSE, NAME } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { Avatar, Input, InputRich, Offline, Message } from './components';\nimport { ServiceLisa } from '../../services';\nimport { EVENT, ICON } from '../helpers';\n\nlet onlineInterval;\n\nconst Chat = ({ skeleton, name = NAME }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { calendar, currency, hotel, locale, occupation, origin, session, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [scrollTo, setScrollTo] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n setBusy(true);\n const response = await ServiceLisa.welcome({ locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n setBusy(false);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('Do you have any available offer or discount?');\n if (!visible) return clearInterval(onlineInterval);\n\n const callback = async () => {\n const response = await ServiceLisa.status().catch(() => setOnline(false));\n if (response && !online) setOnline(response);\n };\n\n callback();\n onlineInterval = setInterval(callback, online ? 60000 : 10000);\n\n return () => {\n clearInterval(onlineInterval);\n };\n }, [online, visible]);\n\n useEffect(() => visible && setScrollTo(new Date().getTime()), [busy, messages, visible]);\n\n const storeContext = { calendar, currency, hotel, occupation, origin, tags, type };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: { ...storeContext }, input, session }).catch(handleError);\n if (response) addMessage(response, nextMessages);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n setBusy(true);\n\n setTimeout(async () => {\n const response = await ServiceLisa.action({\n context: { ...storeContext, ...context, form },\n intent,\n locale,\n session,\n }).catch(handleError);\n if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n }\n\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleError = (error) => {\n // eslint-disable-next-line no-console\n console.error('::handleError::', error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = []) => {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n };\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { className: style.container, visible }\n : { className: styles(style.container, visible && style.visible) },\n <>\n <View row className={style.header}>\n <Avatar small />\n <View wide>\n <Text bold>{translate(L10N.LABEL_ASSISTANT)}</Text>\n <View row>\n <View className={styles(style.bullet, online ? style.online : style.offline)} />\n <Text small light>\n {translate(online ? L10N.LABEL_ONLINE : L10N.LABEL_OFFLINE)}\n </Text>\n </View>\n </View>\n\n <View row>\n {/* ! TODO: When store chats */}\n {/* <Button small squared tooltip={translate(L10N.ACTION_MINIMIZE)} transparent onPress={() => {}}>\n <Icon value={ICON.MINIMIZE} />\n </Button> */}\n\n <Button\n small\n squared\n tooltip={translate(L10N.ACTION_CLOSE)}\n transparent\n onPress={() => setVisible(false)}\n >\n <Icon value={ICON.CLOSE} />\n </Button>\n </View>\n </View>\n\n <ScrollView scrollTo={scrollTo} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online ? (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n ) : (\n <Offline />\n )}\n </>,\n )}\n\n <Tooltip right text={translate(L10N.LABEL_GREETINGS, { name })}>\n <Pressable\n disabled={busy}\n onPress={() => setVisible(true)}\n className={styles(style.buttonExtend, visible && style.hide)}\n >\n <Avatar disabled={visible} className={style.avatar} />\n </Pressable>\n </Tooltip>\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Chat };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_services","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","onlineInterval","Chat","_ref","skeleton","name","NAME","isMobile","useDevice","translate","useLocale","value","calendar","currency","hotel","locale","occupation","origin","session","tags","type","useStore","busy","setBusy","useState","hide","setHide","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","callback","_ref2","modalVisible","Event","subscribe","EVENT","MODAL_VISIBLE","unsubscribe","response","ServiceLisa","welcome","catch","handleError","addMessage","clearInterval","status","setInterval","Date","getTime","storeContext","handleInput","input","nextMessages","text","timestamp","setTimeout","message","context","DELAY_RESPONSE","handleAction","form","intent","undefined","action","lisa","auto","error","console","publish","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","container","styles","row","header","Avatar","small","wide","Text","bold","L10N","LABEL_ASSISTANT","bullet","offline","light","LABEL_ONLINE","LABEL_OFFLINE","Button","squared","tooltip","ACTION_CLOSE","transparent","onPress","Icon","ICON","CLOSE","ScrollView","snap","map","index","Message","concat","disabled","onAction","Input","onValue","InputRich","Offline","Tooltip","right","LABEL_GREETINGS","Pressable","buttonExtend","avatar","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, Modal, Pressable, ScrollView, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DELAY_RESPONSE, NAME } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { Avatar, Input, InputRich, Offline, Message } from './components';\nimport { ServiceLisa } from '../../services';\nimport { EVENT, ICON } from '../helpers';\n\nlet onlineInterval;\n\nconst Chat = ({ skeleton, name = NAME }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { calendar, currency, hotel, locale, occupation, origin, session, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [hide, setHide] = useState(false);\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [scrollTo, setScrollTo] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const callback = ({ visible: modalVisible }) => setHide(modalVisible);\n\n Event.subscribe(EVENT.MODAL_VISIBLE, callback);\n\n return () => Event.unsubscribe(EVENT.MODAL_VISIBLE, callback);\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n setBusy(true);\n const response = await ServiceLisa.welcome({ locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n setBusy(false);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('Do you have any available offer or discount?');\n if (!visible) return clearInterval(onlineInterval);\n\n const callback = async () => {\n const response = await ServiceLisa.status().catch(() => setOnline(false));\n if (response && !online) setOnline(response);\n };\n\n callback();\n onlineInterval = setInterval(callback, online ? 60000 : 10000);\n\n return () => {\n clearInterval(onlineInterval);\n };\n }, [online, visible]);\n\n useEffect(() => visible && setScrollTo(new Date().getTime()), [busy, messages, visible]);\n\n const storeContext = { calendar, currency, hotel, occupation, origin, tags, type };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: { ...storeContext }, input, session }).catch(handleError);\n if (response) addMessage(response, nextMessages);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n setBusy(true);\n\n setTimeout(async () => {\n const response = await ServiceLisa.action({\n context: { ...storeContext, ...context, form },\n intent,\n locale,\n session,\n }).catch(handleError);\n if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n }\n\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleError = (error) => {\n // eslint-disable-next-line no-console\n console.error('::handleError::', error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = []) => {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n };\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { className: style.container, visible }\n : { className: styles(style.container, visible && style.visible) },\n <>\n <View row className={style.header}>\n <Avatar small />\n <View wide>\n <Text bold>{translate(L10N.LABEL_ASSISTANT)}</Text>\n <View row>\n <View className={styles(style.bullet, online ? style.online : style.offline)} />\n <Text small light>\n {translate(online ? L10N.LABEL_ONLINE : L10N.LABEL_OFFLINE)}\n </Text>\n </View>\n </View>\n\n <View row>\n {/* ! TODO: When store chats */}\n {/* <Button small squared tooltip={translate(L10N.ACTION_MINIMIZE)} transparent onPress={() => {}}>\n <Icon value={ICON.MINIMIZE} />\n </Button> */}\n\n <Button\n small\n squared\n tooltip={translate(L10N.ACTION_CLOSE)}\n transparent\n onPress={() => setVisible(false)}\n >\n <Icon value={ICON.CLOSE} />\n </Button>\n </View>\n </View>\n\n <ScrollView scrollTo={scrollTo} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online ? (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n ) : (\n <Offline />\n )}\n </>,\n )}\n\n <Tooltip right text={translate(L10N.LABEL_GREETINGS, { name })}>\n <Pressable\n disabled={busy}\n onPress={() => setVisible(true)}\n className={styles(style.buttonExtend, (hide || visible) && style.hide)}\n >\n <Avatar disabled={visible} className={style.avatar} />\n </Pressable>\n </Tooltip>\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Chat };\n"],"mappings":"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"}
|
|
@@ -42,6 +42,12 @@ const Footer = _ref => {
|
|
|
42
42
|
} = {}
|
|
43
43
|
} = (0, _dataSources.useStore)();
|
|
44
44
|
const [busy, setBusy] = (0, _react.useState)(false);
|
|
45
|
+
(0, _react.useEffect)(() => {
|
|
46
|
+
const items = cart.filter(item => item !== undefined);
|
|
47
|
+
_dataSources.Event.publish(_helpers2.EVENT.MODAL_VISIBLE, {
|
|
48
|
+
visible: items.length > 0
|
|
49
|
+
});
|
|
50
|
+
}, [cart]);
|
|
45
51
|
(0, _react.useEffect)(() => !extras && setBusy(false), [extras]);
|
|
46
52
|
(0, _react.useEffect)(() => !login && setBusy(false), [login]);
|
|
47
53
|
const items = cart.filter(item => item !== undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Footer","_ref","cart","dataSource","taxesType","extras","login","multiRoom","occupation","onSubmit","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","items","filter","item","undefined","totalPrice","reduce","price","valid","handleSubmit","createElement","View","className","styles","footer","visible","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","concat","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","description","bold","action","light","maximumFractionDigits","Button","disabled","large","onPress","L10N","ACTION_RESERVE","summary","headline","level","tiny","getLabelTaxes","exports","displayName","propTypes","PropTypes","arrayOf","shape","bool","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst Footer = ({\n cart = [],\n dataSource: { taxesType } = {},\n extras,\n login,\n multiRoom,\n occupation = [],\n onSubmit = () => {},\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n useEffect(() => !login && setBusy(false), [login]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={`${id}${index}`} className={style.cartItem}>\n {multiRoom && (\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n )}\n\n <View className={style.description}>\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n {multiRoom && <Text light small>{` | ${boardName}`}</Text>}\n </Text>\n {!multiRoom && (\n <Text light small>\n {boardName}\n </Text>\n )}\n </View>\n\n <Text bold {...(multiRoom ? { action: !isMobile, small: isMobile } : { action: isMobile })}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: amount * price })}\n </Text>\n\n {!multiRoom && (\n <Button small busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n )}\n </View>\n );\n })}\n </View>\n </View>\n\n {multiRoom && (\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: totalPrice })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n login: PropTypes.bool,\n multiRoom: PropTypes.bool,\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Footer","_ref","cart","dataSource","taxesType","extras","login","multiRoom","occupation","onSubmit","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","items","filter","item","undefined","Event","publish","EVENT","MODAL_VISIBLE","visible","totalPrice","reduce","price","valid","handleSubmit","createElement","View","className","styles","footer","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","concat","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","description","bold","action","light","maximumFractionDigits","Button","disabled","large","onPress","L10N","ACTION_RESERVE","summary","headline","level","tiny","getLabelTaxes","exports","displayName","propTypes","PropTypes","arrayOf","shape","bool","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT, ICON } from '../helpers';\n\nconst Footer = ({\n cart = [],\n dataSource: { taxesType } = {},\n extras,\n login,\n multiRoom,\n occupation = [],\n onSubmit = () => {},\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => {\n const items = cart.filter((item) => item !== undefined);\n\n Event.publish(EVENT.MODAL_VISIBLE, { visible: items.length > 0 });\n }, [cart]);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n useEffect(() => !login && setBusy(false), [login]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={`${id}${index}`} className={style.cartItem}>\n {multiRoom && (\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n )}\n\n <View className={style.description}>\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n {multiRoom && <Text light small>{` | ${boardName}`}</Text>}\n </Text>\n {!multiRoom && (\n <Text light small>\n {boardName}\n </Text>\n )}\n </View>\n\n <Text bold {...(multiRoom ? { action: !isMobile, small: isMobile } : { action: isMobile })}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: amount * price })}\n </Text>\n\n {!multiRoom && (\n <Button small busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n )}\n </View>\n );\n })}\n </View>\n </View>\n\n {multiRoom && (\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: totalPrice })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n login: PropTypes.bool,\n multiRoom: PropTypes.bool,\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.STEP = exports.PAYMENT_PROVIDER = exports.PAYMENT_METHOD = exports.PAYMENT_CARD_VALIDATION_PROVIDER = exports.PAYMENT_CARD = exports.OCCUPATION_TYPE = exports.MONTHS_IN_MOBILE = exports.LOCALES = exports.EVENT = exports.CALENDAR_FORMAT = exports.ACCOMMODATION_TYPE = void 0;
|
|
7
|
+
var _ui = require("@mirai/ui");
|
|
7
8
|
const ACCOMMODATION_TYPE = exports.ACCOMMODATION_TYPE = {
|
|
8
9
|
ROOM: 1,
|
|
9
10
|
APARTMENT: 2,
|
|
@@ -13,6 +14,7 @@ const ACCOMMODATION_TYPE = exports.ACCOMMODATION_TYPE = {
|
|
|
13
14
|
};
|
|
14
15
|
const CALENDAR_FORMAT = exports.CALENDAR_FORMAT = 'DD/MM/YYYY';
|
|
15
16
|
const EVENT = exports.EVENT = {
|
|
17
|
+
// -- core
|
|
16
18
|
FINDER: 'finder',
|
|
17
19
|
FINDER_FIELD_CHANGE: 'finderFieldChange',
|
|
18
20
|
INTENT_CURRENCY: 'intentCurrency',
|
|
@@ -20,7 +22,9 @@ const EVENT = exports.EVENT = {
|
|
|
20
22
|
INTENT_LOCALE: 'intentLocale',
|
|
21
23
|
LOGIN: 'login',
|
|
22
24
|
NOTIFICATION: 'notification',
|
|
23
|
-
PAY_LATER: 'payLater'
|
|
25
|
+
PAY_LATER: 'payLater',
|
|
26
|
+
// -- @mirai/ui
|
|
27
|
+
MODAL_VISIBLE: _ui.MODAL_EVENT_VISIBLE
|
|
24
28
|
};
|
|
25
29
|
const LOCALES = exports.LOCALES = ['en-GB', 'es-ES', 'fr-FR', 'de-DE', 'ja-JP', 'it-IT', 'pt-PT', 'da-DK', 'fi-FI', 'nb-NO', 'nl-NL', 'pl-PL', 'ru-RU', 'sv-SE', 'tr-TR', 'zh-CN', 'cs-CZ', 'el-GR', 'ar-DZ', 'hu-HU', 'ca-ES', 'eu-ES'];
|
|
26
30
|
const MONTHS_IN_MOBILE = exports.MONTHS_IN_MOBILE = 12;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["ACCOMMODATION_TYPE","exports","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","CALENDAR_FORMAT","EVENT","FINDER","FINDER_FIELD_CHANGE","INTENT_CURRENCY","INTENT_ENVIRONMENT","INTENT_LOCALE","LOGIN","NOTIFICATION","PAY_LATER","LOCALES","MONTHS_IN_MOBILE","OCCUPATION_TYPE","GUEST","ADULT","CHILD","BABY","PAYMENT_CARD","AMERICAN_EXPRESS","DINERS_CLUB","DISCOVER","JCB","MAESTRO","MASTERCARD","UNIONPAY","VISA","PAYMENT_METHOD","ALIPAY","AMAZON_PAY","APLAZAME","BIZUM","CARD","CARD_PREPAY","CRIPTAN","IDEAL","OXXO","PAYLATER","PAYPAL","PCIPROXY","SOFORT","TPV","TRANSFER","WECHATPAY","PAYMENT_PROVIDER","ADDON","CARDNET","CHECKOUT","HIPAY","MULTIPAGOS","REDSYS","REDUNIQ","PAYBOX","PAYCOMET","PAYNOPAIN","SIPAY","STRIPE","PAYMENT_CARD_VALIDATION_PROVIDER","STEP","BOOKING_CANCELLATION","BOOKING_CONFIRMATION","HOTELS","RATES"],"sources":["../../../src/components/helpers/constants.js"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"constants.js","names":["_ui","require","ACCOMMODATION_TYPE","exports","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","CALENDAR_FORMAT","EVENT","FINDER","FINDER_FIELD_CHANGE","INTENT_CURRENCY","INTENT_ENVIRONMENT","INTENT_LOCALE","LOGIN","NOTIFICATION","PAY_LATER","MODAL_VISIBLE","MODAL_EVENT_VISIBLE","LOCALES","MONTHS_IN_MOBILE","OCCUPATION_TYPE","GUEST","ADULT","CHILD","BABY","PAYMENT_CARD","AMERICAN_EXPRESS","DINERS_CLUB","DISCOVER","JCB","MAESTRO","MASTERCARD","UNIONPAY","VISA","PAYMENT_METHOD","ALIPAY","AMAZON_PAY","APLAZAME","BIZUM","CARD","CARD_PREPAY","CRIPTAN","IDEAL","OXXO","PAYLATER","PAYPAL","PCIPROXY","SOFORT","TPV","TRANSFER","WECHATPAY","PAYMENT_PROVIDER","ADDON","CARDNET","CHECKOUT","HIPAY","MULTIPAGOS","REDSYS","REDUNIQ","PAYBOX","PAYCOMET","PAYNOPAIN","SIPAY","STRIPE","PAYMENT_CARD_VALIDATION_PROVIDER","STEP","BOOKING_CANCELLATION","BOOKING_CONFIRMATION","HOTELS","RATES"],"sources":["../../../src/components/helpers/constants.js"],"sourcesContent":["import { MODAL_EVENT_VISIBLE } from '@mirai/ui';\n\nconst ACCOMMODATION_TYPE = {\n ROOM: 1,\n APARTMENT: 2,\n PITCH: 3,\n ACCOMMODATION: 4,\n VILLA: 5,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst EVENT = {\n // -- core\n FINDER: 'finder',\n FINDER_FIELD_CHANGE: 'finderFieldChange',\n INTENT_CURRENCY: 'intentCurrency',\n INTENT_ENVIRONMENT: 'intentEnvironment',\n INTENT_LOCALE: 'intentLocale',\n LOGIN: 'login',\n NOTIFICATION: 'notification',\n PAY_LATER: 'payLater',\n // -- @mirai/ui\n MODAL_VISIBLE: MODAL_EVENT_VISIBLE,\n};\n\nconst LOCALES = [\n 'en-GB',\n 'es-ES',\n 'fr-FR',\n 'de-DE',\n 'ja-JP',\n 'it-IT',\n 'pt-PT',\n 'da-DK',\n 'fi-FI',\n 'nb-NO',\n 'nl-NL',\n 'pl-PL',\n 'ru-RU',\n 'sv-SE',\n 'tr-TR',\n 'zh-CN',\n 'cs-CZ',\n 'el-GR',\n 'ar-DZ',\n 'hu-HU',\n 'ca-ES',\n 'eu-ES',\n];\n\nconst MONTHS_IN_MOBILE = 12;\n\nconst OCCUPATION_TYPE = {\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n BABY: 4,\n};\n\nconst PAYMENT_CARD = {\n AMERICAN_EXPRESS: 'AMERICAN_EXPRESS',\n DINERS_CLUB: 'DINERS_CLUB',\n DISCOVER: 'DISCOVER',\n JCB: 'JCB',\n MAESTRO: 'MAESTRO', // low resolution logo\n MASTERCARD: 'MASTERCARD',\n UNIONPAY: 'UNIONPAY',\n VISA: 'VISA',\n};\n\nconst PAYMENT_METHOD = {\n ALIPAY: 'ALIPAY',\n AMAZON_PAY: 'AMAZON_PAY',\n APLAZAME: 'APLAZAME',\n BIZUM: 'BIZUM',\n CARD: 'CARD',\n CARD_PREPAY: 'CARD_PREPAY',\n CRIPTAN: 'CRIPTAN',\n IDEAL: 'IDEAL',\n OXXO: 'OXXO',\n PAYLATER: 'PAYLATER',\n PAYPAL: 'PAYPAL',\n PCIPROXY: 'PCIPROXY',\n SOFORT: 'SOFORT',\n TPV: 'TPV',\n TRANSFER: 'TRANSFER',\n WECHATPAY: 'WECHATPAY',\n};\n\nconst PAYMENT_PROVIDER = {\n ADDON: 'ADDON',\n CARDNET: 'CARDNET',\n CHECKOUT: 'CHECKOUT',\n HIPAY: 'HIPAY',\n MULTIPAGOS: 'MULTIPAGOS',\n REDSYS: 'REDSYS',\n REDUNIQ: 'REDUNIQ',\n PAYBOX: 'PAYBOX',\n PAYCOMET: 'PAYCOMET',\n PAYNOPAIN: 'PAYNOPAIN',\n SIPAY: 'SIPAY',\n STRIPE: 'STRIPE',\n};\n\nconst { ADDON, CHECKOUT, PAYNOPAIN, REDSYS, SIPAY, STRIPE } = PAYMENT_PROVIDER;\n\nconst PAYMENT_CARD_VALIDATION_PROVIDER = [ADDON, CHECKOUT, PAYNOPAIN, REDSYS, SIPAY, STRIPE];\n\nconst STEP = {\n BOOKING_CANCELLATION: 'CANCELLATION',\n BOOKING_CONFIRMATION: 'CONFIRMATION',\n CHECKOUT: 'CLIENTFORM',\n FINDER: 'BOOKINGENTRANCE',\n HOTELS: 'CHAINRESULT',\n RATES: 'BOOKINGSTEP1',\n};\n\nexport {\n ACCOMMODATION_TYPE,\n CALENDAR_FORMAT,\n EVENT,\n LOCALES,\n MONTHS_IN_MOBILE,\n OCCUPATION_TYPE,\n PAYMENT_CARD,\n PAYMENT_CARD_VALIDATION_PROVIDER,\n PAYMENT_METHOD,\n PAYMENT_PROVIDER,\n STEP,\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
package/public/App.Container.jsx
CHANGED
|
@@ -13,11 +13,11 @@ export const Container = ({ children }) => {
|
|
|
13
13
|
value: { session },
|
|
14
14
|
} = useStore();
|
|
15
15
|
|
|
16
|
-
const
|
|
16
|
+
const richTemplate = !location.includes('/step');
|
|
17
17
|
|
|
18
18
|
return (
|
|
19
19
|
<>
|
|
20
|
-
{
|
|
20
|
+
{richTemplate && (
|
|
21
21
|
<View tag="header" className={style.header}>
|
|
22
22
|
<View row className={[style.wrapper, style.environment]}>
|
|
23
23
|
<Text small className={[style.contact, style.hideMobile]}>
|
|
@@ -74,66 +74,68 @@ export const Container = ({ children }) => {
|
|
|
74
74
|
|
|
75
75
|
<View data-mirai-component="chat" />
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
<View
|
|
79
|
-
<View>
|
|
80
|
-
<
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
77
|
+
{richTemplate && (
|
|
78
|
+
<View tag="footer" className={style.footer}>
|
|
79
|
+
<View row className={[style.wrapper, style.links]}>
|
|
80
|
+
<View>
|
|
81
|
+
<Text bold>Site map</Text>
|
|
82
|
+
<Action inline small onPress={() => setLocation('/')}>
|
|
83
|
+
Home
|
|
84
|
+
</Action>
|
|
85
|
+
<Action inline small onPress={() => setLocation('/signup')}>
|
|
86
|
+
Signup
|
|
87
|
+
</Action>
|
|
88
|
+
<Action inline small onPress={() => setLocation('/profile')}>
|
|
89
|
+
Profile
|
|
90
|
+
</Action>
|
|
91
|
+
<Action inline small onPress={() => setLocation('/deals')}>
|
|
92
|
+
Deals
|
|
93
|
+
</Action>
|
|
94
|
+
</View>
|
|
94
95
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
96
|
+
<View>
|
|
97
|
+
<Text bold>Reservation</Text>
|
|
98
|
+
<Action inline small onPress={() => setLocation('/step1-rates')}>
|
|
99
|
+
1. rates
|
|
100
|
+
</Action>
|
|
101
|
+
<Action inline small onPress={() => setLocation('/step2-checkout')}>
|
|
102
|
+
2. checkout
|
|
103
|
+
</Action>
|
|
104
|
+
<Action inline small onPress={() => setLocation('/step3-booking')}>
|
|
105
|
+
3. booking
|
|
106
|
+
</Action>
|
|
107
|
+
</View>
|
|
107
108
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
109
|
+
<View>
|
|
110
|
+
<Text bold>More</Text>
|
|
111
|
+
<Action inline small onPress={() => setLocation('/legal-advice')}>
|
|
112
|
+
Legal Advice
|
|
113
|
+
</Action>
|
|
114
|
+
<Action inline small onPress={() => setLocation('/cookie-policy')}>
|
|
115
|
+
Cookie Policy
|
|
116
|
+
</Action>
|
|
117
|
+
<Action inline small onPress={() => setLocation('/privacy-policy')}>
|
|
118
|
+
Privacy Policy
|
|
119
|
+
</Action>
|
|
120
|
+
<Action inline small onPress={() => setLocation('/complaints-channel')}>
|
|
121
|
+
Complaints Channel
|
|
122
|
+
</Action>
|
|
123
|
+
</View>
|
|
123
124
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
<View className={[style.newsletter, style.hideMobile]}>
|
|
126
|
+
<Text bold>Sign up for get our newsletter</Text>
|
|
127
|
+
<Input name="newsletter" placeholder="Your email..." />
|
|
128
|
+
</View>
|
|
127
129
|
</View>
|
|
128
|
-
</View>
|
|
129
130
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
131
|
+
<Text small className={[style.wrapper, style.copyright]}>
|
|
132
|
+
<Text bold brand headline level={2}>
|
|
133
|
+
Monalisa
|
|
134
|
+
</Text>{' '}
|
|
135
|
+
© 1980-2024 Monalisa Hotel Group Santa Engracia 120. 28003 Madrid, Spain
|
|
136
|
+
</Text>
|
|
137
|
+
</View>
|
|
138
|
+
)}
|
|
137
139
|
</>
|
|
138
140
|
);
|
|
139
141
|
};
|