UNPKG

@kiwicom/smart-faq

Version:

Smart FAQ

146 lines (115 loc) 5.76 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.RawContact = void 0; var _style = _interopRequireDefault(require("styled-jsx/style")); var React = _interopRequireWildcard(require("react")); var _reactRelay = require("react-relay"); var _Text = _interopRequireDefault(require("@kiwicom/orbit-components/lib/Text")); var _ButtonLink = _interopRequireDefault(require("@kiwicom/orbit-components/lib/ButtonLink")); var _Separator = _interopRequireDefault(require("@kiwicom/orbit-components/lib/Separator")); var _Phone = _interopRequireDefault(require("@kiwicom/orbit-components/lib/icons/Phone")); var _ChevronDown = _interopRequireDefault(require("@kiwicom/orbit-components/lib/icons/ChevronDown")); var _Translate = _interopRequireDefault(require("@kiwicom/nitro/lib/components/Translate")); var _libphonenumberJs = require("libphonenumber-js"); var _styledComponents = require("styled-components"); var _ContactPageLink = _interopRequireDefault(require("../../common/ContactPageLink")); var _Language = require("../../context/Language"); var _langInfos = require("../../../translations/langInfos"); var _tracker = require("../../../shared/cuckoo/tracker"); // @flow var styles = new String(".contact{margin-top:20px;}.contactPhone{margin-bottom:32px;}.contactPageLink{display:inline-block;margin-bottom:32px;}ol{padding-left:20px;list-style-type:decimal;font-size:14px;margin-top:0;}li{margin-bottom:7px;padding-left:10px;}"); styles.__hash = "3089658001"; styles.__scoped = ".contact.jsx-4249034640{margin-top:20px;}.contactPhone.jsx-4249034640{margin-bottom:32px;}.contactPageLink.jsx-4249034640{display:inline-block;margin-bottom:32px;}ol.jsx-4249034640{padding-left:20px;list-style-type:decimal;font-size:14px;margin-top:0;}li.jsx-4249034640{margin-bottom:7px;padding-left:10px;}"; styles.__scopedHash = "4249034640"; /*:: type Props = {| language: string, booking: Contact_booking, ...ThemeProps, |};*/ var Contact = function Contact(_ref) { var _booking$customerSupp; var theme = _ref.theme, booking = _ref.booking, language = _ref.language; var formatPhoneNumber = function formatPhoneNumber(phoneNumber) { try { return (0, _libphonenumberJs.parsePhoneNumber)(phoneNumber).formatInternational(); } catch (err) { if (language === 'en') { (0, _tracker.error)('PhoneNumberNotReturned', null, { language: language }); } return phoneNumber; } }; var renderContactPageLink = function renderContactPageLink() { return React.createElement("span", { className: "contactPageLink" }, React.createElement(_ContactPageLink.default, { translationKey: "smartfaq.single_booking_page.call_us", textColor: theme.orbit.paletteProductNormal })); }; var renderPhoneNumber = function renderPhoneNumber(phoneNumber, language) { var formattedPhoneNumber = formatPhoneNumber(phoneNumber); var languageCode = _langInfos.langInfos[language].countriesTranslations; return React.createElement("div", { className: "contactPhone" }, React.createElement(_ButtonLink.default, { iconRight: React.createElement(_ChevronDown.default, null), iconLeft: React.createElement(_Phone.default, null), external: true, transparent: true, href: "/".concat(language, "/content/feedback"), dataTest: "contactPhone" }, "".concat(formattedPhoneNumber, " ").concat(languageCode))); }; var phoneNumber = ((_booking$customerSupp = booking.customerSupport) === null || _booking$customerSupp === void 0 ? void 0 : _booking$customerSupp.phoneNumber) || ''; var formattedPhoneNumber = formatPhoneNumber(phoneNumber); return React.createElement("div", { "data-cy": "contact", className: "jsx-".concat(styles.__scopedHash) + " " + "contact" }, React.createElement(_Separator.default, null), React.createElement(_Text.default, { size: "large", type: "attention", spaceAfter: "medium" }, React.createElement(_Translate.default, { t: "smartfaq.singe_booking_page.contact.title" })), formattedPhoneNumber ? renderPhoneNumber(phoneNumber, language) : renderContactPageLink(), React.createElement("ol", { className: "jsx-".concat(styles.__scopedHash) }, React.createElement("li", { className: "jsx-".concat(styles.__scopedHash) }, React.createElement(_Text.default, { element: "span" }, React.createElement(_Translate.default, { html: true, t: "smartfaq.single_booking_page.instructions.name" }))), React.createElement("li", { className: "jsx-".concat(styles.__scopedHash) }, React.createElement(_Text.default, { element: "span" }, React.createElement(_Translate.default, { html: true, t: "smartfaq.single_booking_page.instructions.email" })))), React.createElement(_style.default, { styleId: styles.__scopedHash, css: styles.__scoped })); }; var RawContact = Contact; exports.RawContact = RawContact; var _default = (0, _reactRelay.createFragmentContainer)((0, _Language.withLanguage)((0, _styledComponents.withTheme)(Contact)), { booking: function booking() { var node = require("./__generated__/Contact_booking.graphql"); if (node.hash && node.hash !== "af1c1d41d43864b1c74479120294c030") { console.error("The definition of 'Contact_booking' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."); } return require("./__generated__/Contact_booking.graphql"); } }); exports.default = _default;