@kiwicom/smart-faq
Version:
Smart FAQ
94 lines (73 loc) • 2.92 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 _style = _interopRequireDefault(require("styled-jsx/style"));
var React = _interopRequireWildcard(require("react"));
var _reactRouterDom = require("react-router-dom");
var _idx = _interopRequireDefault(require("idx"));
var _TextLink = _interopRequireDefault(require("@kiwicom/orbit-components/lib/TextLink"));
var _ChevronLeft = _interopRequireDefault(require("@kiwicom/orbit-components/lib/icons/ChevronLeft"));
var _Translate = _interopRequireDefault(require("@kiwicom/nitro/lib/components/Translate"));
var _sectionFAQCategories = _interopRequireDefault(require("../../../shared/StaticFAQ/sectionFAQCategories"));
// @flow
var BackButton = function BackButton(props
/*: Props*/
) {
var type = props.type,
history = props.history,
match = props.match;
var pathname = history.location.pathname;
var buttonText = type === 'back' ? React.createElement(_Translate.default, {
t: "smartfaq.back_button.back"
}) : React.createElement(_Translate.default, {
t: "smartfaq.back_button.search"
});
var goBack = function goBack(e) {
e.preventDefault();
if (type === 'search') {
return history.push('/faq');
}
if (pathname.includes('article')) {
var categoryId = (0, _idx.default)(match, function (_) {
return _.params.categoryId;
});
if (categoryId && _sectionFAQCategories.default.includes(categoryId)) {
return history.push('/faq');
}
var url = (0, _idx.default)(pathname.match(/(.*)(?=article)/), function (_) {
return _[0];
}) || '';
return history.push(url);
} else if (pathname.includes('faq')) {
return history.push('/faq');
}
};
return React.createElement("div", {
"data-cy": "back-button",
onClick: goBack,
onKeyUp: goBack,
role: "button",
tabIndex: "-1",
className: "jsx-33155009" + " " + "back"
}, React.createElement("div", {
className: "jsx-33155009" + " " + "chevron"
}, React.createElement(_ChevronLeft.default, {
size: "small",
customColor: "#171b1e"
})), React.createElement(_TextLink.default, {
href: "",
type: "secondary"
}, buttonText), React.createElement(_style.default, {
styleId: "33155009",
css: "div.back.jsx-33155009{position:absolute;top:18px;left:27px;cursor:pointer;outline:none;}div.chevron.jsx-33155009{display:inline-block;margin-right:4px;position:relative;top:-1px;}@media only screen and (max-width:901px){div.back.jsx-33155009{top:22px;left:21px;}}"
}));
};
BackButton.defaultProps = {
type: 'back'
};
var _default = (0, _reactRouterDom.withRouter)(BackButton);
exports.default = _default;