UNPKG

@kiwicom/smart-faq

Version:

Smart FAQ

132 lines (104 loc) 5.16 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 _idx = _interopRequireDefault(require("idx")); 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"); // @flow var styles = new String(".contact{display:inline-block;margin:18px 0 32px;}.contact-page-link{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 = "3064747763"; styles.__scoped = ".contact.jsx-488479410{display:inline-block;margin:18px 0 32px;}.contact-page-link.jsx-488479410{display:inline-block;margin-bottom:32px;}ol.jsx-488479410{padding-left:20px;list-style-type:decimal;font-size:14px;margin-top:0;}li.jsx-488479410{margin-bottom:7px;padding-left:10px;}"; styles.__scopedHash = "488479410"; /*:: type Props = {| language: string, booking: Contact_booking, theme: { orbit: { paletteProductNormal: string, }, }, |};*/ var Contact = function Contact(_ref) { var theme = _ref.theme, booking = _ref.booking, language = _ref.language; var formatPhoneNumber = function formatPhoneNumber(phoneNumber) { try { return (0, _libphonenumberJs.parsePhoneNumber)(phoneNumber).formatInternational(); } catch (err) { return phoneNumber; } }; var renderContactPageLink = function renderContactPageLink() { return React.createElement("span", { className: "contact-page-link" }, 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: "contact" }, 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") }, "".concat(formattedPhoneNumber, " ").concat(languageCode))); }; var phoneNumber = (0, _idx.default)(booking, function (_) { return _.customerSupport.phoneNumber; }) || ''; var formattedPhoneNumber = formatPhoneNumber(phoneNumber); return React.createElement("div", { style: { marginTop: '20px' } }, React.createElement(_Separator.default, null), React.createElement(_Text.default, { size: "large", type: "attention" }, React.createElement(_Translate.default, { t: "smartfaq.singe_booking_page.contact.title" })), formattedPhoneNumber ? renderPhoneNumber(phoneNumber, language) : renderContactPageLink(), React.createElement("ol", null, React.createElement("li", null, React.createElement(_Text.default, { element: "span" }, React.createElement(_Translate.default, { html: true, t: "smartfaq.single_booking_page.instructions.name" }))), React.createElement("li", null, React.createElement(_Text.default, { element: "span" }, React.createElement(_Translate.default, { html: true, t: "smartfaq.single_booking_page.instructions.email" })))), React.createElement("style", null, styles)); }; 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;