@kiwicom/smart-faq
Version:
Smart FAQ
146 lines (115 loc) • 5.76 kB
JavaScript
"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;