@kiwicom/smart-faq
Version:
Smart FAQ
190 lines (155 loc) • 7.15 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 = 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;