UNPKG

@kiwicom/smart-faq

Version:

Smart FAQ

190 lines (155 loc) 7.15 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 = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _idx = _interopRequireDefault(require("idx")); var React = _interopRequireWildcard(require("react")); var _reactRelay = require("react-relay"); var _Translate = _interopRequireDefault(require("@kiwicom/nitro/lib/components/Translate")); var _Stack = _interopRequireDefault(require("@kiwicom/orbit-components/lib/Stack")); var _TextLink = _interopRequireDefault(require("@kiwicom/orbit-components/lib/TextLink")); var _Text = _interopRequireDefault(require("@kiwicom/orbit-components/lib/Text")); var _Heading = _interopRequireDefault(require("@kiwicom/orbit-components/lib/Heading")); var _InitIntl = _interopRequireDefault(require("@kiwicom/nitro/lib/components/InitIntl")); var intlContext = _interopRequireWildcard(require("@kiwicom/nitro/lib/services/intl/context")); var _Phone = _interopRequireDefault(require("./Phone")); var _langInfos = require("../translations/langInfos"); var _QueryRenderer = _interopRequireDefault(require("../shared/relay/QueryRenderer")); var _tracker = require("../shared/cuckoo/tracker"); // @flow var queryAllCustomerSupportNumbers = function queryAllCustomerSupportNumbers() { var node = require("./__generated__/CustomerSupportPhonesQuery.graphql"); if (node.hash && node.hash !== "6c73dcf8f312d6f9c14a14479f989f25") { console.error("The definition of 'CustomerSupportPhonesQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."); } return require("./__generated__/CustomerSupportPhonesQuery.graphql"); }; var CustomerSupportPhones = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(CustomerSupportPhones, _React$Component); function CustomerSupportPhones(_props /*: Props*/ ) { var _this; (0, _classCallCheck2.default)(this, CustomerSupportPhones); _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(CustomerSupportPhones).call(this, _props)); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "handleClickLearnMore", function (e /*: SyntheticEvent<HTMLElement>*/ ) { var linkToLearnMoreArticle = _this.props.linkToLearnMoreArticle; e.preventDefault(); linkToLearnMoreArticle(); }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "renderPhonesList", function (renderProps /*: RenderProps*/ ) { var error = renderProps.error, props = renderProps.props; if (error) return null; var priorityPhoneNumbersList = (0, _idx.default)(props, function (_) { return _.allCustomerSupportNumbers.premiumCustomerSupportNumbers; }) || []; var standardPhoneNumbersList = (0, _idx.default)(props, function (_) { return _.allCustomerSupportNumbers.standardCustomerSupportNumbers; }) || []; var showPriorityLine = _this.props.showPriorityLine; return React.createElement(React.Fragment, null, showPriorityLine && React.createElement(_Stack.default, { spaceAfter: "normal", align: "center", wrap: true }, React.createElement(_Heading.default, { element: "h2", type: "title3" }, React.createElement(_Translate.default, { t: "content.pages.feedback.priority_number_title" })), React.createElement(_TextLink.default, { href: "", external: false, onClick: _this.handleClickLearnMore, type: "primary", size: "small" }, React.createElement(_Translate.default, { t: "common.learn_more" }))), showPriorityLine && React.createElement(_Text.default, { spaceAfter: "normal" }, React.createElement(_Translate.default, { t: "content.pages.feedback.priority_number_subtitle" })), showPriorityLine && priorityPhoneNumbersList && priorityPhoneNumbersList.map(function (phoneData, i) { return ( /* eslint-disable react/no-array-index-key */ React.createElement(_Phone.default, { data: phoneData, key: i }) ); }), React.createElement(_Heading.default, { element: "h2", type: "title3", spaceAfter: "normal" }, React.createElement(_Translate.default, { t: "content.pages.feedback.standard_number_title" })), showPriorityLine && React.createElement(_Text.default, { spaceAfter: "normal" }, React.createElement(_Translate.default, { t: "content.pages.feedback.standard_number_subtitle" })), standardPhoneNumbersList && standardPhoneNumbersList.map(function (phoneData, i) { return ( /* eslint-disable react/no-array-index-key */ React.createElement(_Phone.default, { data: phoneData, key: i }) ); })); }); if (_props.cuckoo) { (0, _tracker.setTracker)(_props.cuckoo); } return _this; } (0, _createClass2.default)(CustomerSupportPhones, [{ key: "componentDidMount", value: function componentDidMount() { (0, _tracker.track)('ContactForm', 'phonesDisplayed'); this.props.showPriorityLine && (0, _tracker.track)('ContactForm', 'phonesPriorityDisplayed'); } }, { key: "render", value: function render() { var _this2 = this; var _this$props = this.props, language = _this$props.language, translations = _this$props.translations; var langInfo = _langInfos.langInfos[language]; var intl = { language: langInfo, translations: translations }; return React.createElement(_InitIntl.default, { raw: intl }, function (intl) { return React.createElement(intlContext.Provider, { value: intl }, React.createElement(_QueryRenderer.default, { query: queryAllCustomerSupportNumbers, render: _this2.renderPhonesList, language: language })); }); } }]); return CustomerSupportPhones; }(React.Component); var _default = CustomerSupportPhones; exports.default = _default;