@kiwicom/smart-faq
Version:
251 lines (188 loc) • 14 kB
JavaScript
"use strict";
require("core-js/modules/es.symbol");
require("core-js/modules/es.symbol.description");
require("core-js/modules/es.symbol.iterator");
require("core-js/modules/es.array.concat");
require("core-js/modules/es.array.includes");
require("core-js/modules/es.array.iterator");
require("core-js/modules/es.object.get-own-property-descriptor");
require("core-js/modules/es.object.get-prototype-of");
require("core-js/modules/es.object.set-prototype-of");
require("core-js/modules/es.object.to-string");
require("core-js/modules/es.regexp.exec");
require("core-js/modules/es.string.includes");
require("core-js/modules/es.string.iterator");
require("core-js/modules/es.string.match");
require("core-js/modules/web.dom-collections.iterator");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.RawContentHeader = void 0;
var _style = _interopRequireDefault(require("styled-jsx/style"));
var _reactRouterDom = require("react-router-dom");
var React = _interopRequireWildcard(require("react"));
var _TextLink = _interopRequireDefault(require("@kiwicom/orbit-components/lib/TextLink"));
var _Translate = _interopRequireDefault(require("@kiwicom/nitro/lib/components/Translate"));
var _Responsive = require("../Responsive");
var _CloseButton = _interopRequireDefault(require("../buttons/CloseButton"));
var _BackButton = _interopRequireDefault(require("../buttons/BackButton"));
var _SignOutButton = _interopRequireDefault(require("./SignOutButton"));
var _User = require("../../context/User");
var _SelectedBooking = require("../../context/SelectedBooking");
var _responsiveStyleHelperClasses = _interopRequireDefault(require("../responsiveStyleHelperClasses"));
var _MobileBookingHeader = _interopRequireDefault(require("../../MobileBookingHeader/MobileBookingHeader"));
var _SearchBar = _interopRequireDefault(require("../../../shared/StaticFAQ/SearchBar"));
var _UserStatus = _interopRequireDefault(require("../../helpers/UserStatus"));
var _UrlHelpers = require("../../helpers/UrlHelpers");
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var style = new String(".loggedOut.jsx-2090687842{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:15px 122px 15px 40px;}.header.jsx-2090687842{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.HeaderFAQ.jsx-2090687842{width:100%;border-bottom:1px solid #e8edf1;background-color:#ffffff;}");
style.__hash = "2090687842";
var loggedInStyle = new String(".helpHeader.jsx-3339577997{font-size:28px;font-weight:bold;color:#171b1e;pointer-events:none;}.loggedIn.jsx-3339577997{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex:1;-ms-flex:1;flex:1;padding:15px 122px 15px 40px;}.links.jsx-3339577997{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}a.open-icon.jsx-3339577997{margin-left:12px;}.staticFaqSearch.jsx-3339577997{width:350px;position:absolute;right:260px;top:10px;}@media only screen and (max-width:900px) and (max-height:480px){.loggedIn.jsx-3339577997{display:none;}}@media only screen and (max-width:900px){.loggedIn.jsx-3339577997{padding:15px;}.helpHeader.jsx-3339577997{width:100%;text-align:center;font-size:1.2em;}}");
loggedInStyle.__hash = "3339577997";
var loggedOutStyle = new String(".helpHeader.jsx-1331197666{position:absolute;left:0;right:0;text-align:center;font-size:28px;font-weight:bold;color:#171b1e;pointer-events:none;margin:0;}.loggedOut.jsx-1331197666{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:16px;height:66px;}.signInOrBack.jsx-1331197666{height:20px;}[dir='rtl'] .signInOrBack.jsx-1331197666{padding-right:32px;}.backButton.jsx-1331197666{line-height:2;}@media only screen and (max-width:901px){.helpHeader.jsx-1331197666{position:absolute;left:0;right:0;text-align:center;}}");
loggedOutStyle.__hash = "1331197666";
/*:: type Props = {
renderOnlyLoggedOut: boolean,
onLogin: onLogin,
match: Match,
location: Location,
};*/
var LoggedIn = function LoggedIn() {
return React.createElement("div", {
className: "jsx-".concat(loggedInStyle.__hash, " jsx-").concat(_responsiveStyleHelperClasses.default.__hash)
}, React.createElement("div", {
className: "jsx-".concat(loggedInStyle.__hash, " jsx-").concat(_responsiveStyleHelperClasses.default.__hash) + " " + "loggedIn"
}, React.createElement(_SelectedBooking.SelectedBooking.Consumer, null, function (_ref) {
var bookingPage = _ref.bookingPage;
return React.createElement("div", {
className: "jsx-".concat(loggedInStyle.__hash, " jsx-").concat(_responsiveStyleHelperClasses.default.__hash) + " " + "helpHeader"
}, bookingPage === 'ALL_BOOKINGS' ? React.createElement(React.Fragment, null, React.createElement(_Responsive.Mobile, null, React.createElement(_Translate.default, {
t: "smartfaq.mobile_header.title"
})), React.createElement(_Responsive.Desktop, null, React.createElement(_Translate.default, {
t: "smartfaq.header.title"
}))) : React.createElement(_Translate.default, {
t: "smartfaq.header.title"
}));
}), React.createElement(_Responsive.Desktop, null, React.createElement("div", {
className: "jsx-".concat(loggedInStyle.__hash, " jsx-").concat(_responsiveStyleHelperClasses.default.__hash) + " " + "staticFaqSearch"
}, React.createElement(_SearchBar.default, null)), React.createElement("div", {
className: "jsx-".concat(loggedInStyle.__hash, " jsx-").concat(_responsiveStyleHelperClasses.default.__hash) + " " + "links"
}, React.createElement(_SignOutButton.default, null)))), React.createElement(_Responsive.Mobile, null, React.createElement(_MobileBookingHeader.default, null)), React.createElement(_style.default, {
styleId: loggedInStyle.__hash,
css: loggedInStyle
}), React.createElement(_style.default, {
styleId: _responsiveStyleHelperClasses.default.__hash,
css: _responsiveStyleHelperClasses.default
}));
};
/*:: type LoggedOutProps = {|
hasCategory: string | null,
isArticle: boolean,
comesFromSearch: boolean,
renderSignIn: boolean,
onLogin: onLogin,
|};*/
var LoggedOut =
/*#__PURE__*/
function (_React$Component) {
_inherits(LoggedOut, _React$Component);
function LoggedOut() {
var _getPrototypeOf2;
var _this;
_classCallCheck(this, LoggedOut);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(LoggedOut)).call.apply(_getPrototypeOf2, [this].concat(args)));
_defineProperty(_assertThisInitialized(_this), "onClickLogin", function (e) {
e.preventDefault();
_this.props.onLogin();
});
return _this;
}
_createClass(LoggedOut, [{
key: "render",
value: function render() {
var _this$props = this.props,
hasCategory = _this$props.hasCategory,
isArticle = _this$props.isArticle,
comesFromSearch = _this$props.comesFromSearch,
renderSignIn = _this$props.renderSignIn;
var signIn = renderSignIn ? React.createElement(_TextLink.default, {
href: "",
onClick: this.onClickLogin,
type: "secondary",
dataTest: "sign-in-link"
}, React.createElement(_Translate.default, {
html: true,
t: "smartfaq.header.sign_in"
})) : null;
return React.createElement("div", {
className: "jsx-".concat(_responsiveStyleHelperClasses.default.__hash, " jsx-").concat(loggedOutStyle.__hash) + " " + "loggedOut"
}, React.createElement("div", {
className: "jsx-".concat(_responsiveStyleHelperClasses.default.__hash, " jsx-").concat(loggedOutStyle.__hash) + " " + "signInOrBack"
}, hasCategory || isArticle ? React.createElement("div", {
className: "jsx-".concat(_responsiveStyleHelperClasses.default.__hash, " jsx-").concat(loggedOutStyle.__hash) + " " + "backButton"
}, React.createElement(_BackButton.default, {
type: comesFromSearch ? 'search' : 'back'
})) : signIn), React.createElement("p", {
className: "jsx-".concat(_responsiveStyleHelperClasses.default.__hash, " jsx-").concat(loggedOutStyle.__hash) + " " + "helpHeader"
}, React.createElement(_Translate.default, {
t: "smartfaq.header.title"
})), React.createElement(_style.default, {
styleId: _responsiveStyleHelperClasses.default.__hash,
css: _responsiveStyleHelperClasses.default
}), React.createElement(_style.default, {
styleId: loggedOutStyle.__hash,
css: loggedOutStyle
}));
}
}]);
return LoggedOut;
}(React.Component);
var Header = function Header(props
/*: Props*/
) {
var _props$match$params$c;
var hasCategory = (_props$match$params$c = props.match.params.categoryId) !== null && _props$match$params$c !== void 0 ? _props$match$params$c : null;
var currentpath = props.location && props.location.pathname;
var isArticle = currentpath.includes('article/');
var comesFromSearch = currentpath.includes('faq/search/');
return React.createElement("div", {
id: "SmartFAQ_header",
className: "jsx-".concat(style.__hash) + " " + "header"
}, React.createElement("div", {
className: "jsx-".concat(style.__hash) + " " + "HeaderFAQ"
}, !props.renderOnlyLoggedOut && React.createElement(_UserStatus.default.LoggedIn, null, React.createElement(_Responsive.Desktop, null, React.createElement(_CloseButton.default, null))), React.createElement(_User.UserContext.Consumer, null, function (_ref2) {
var simpleToken = _ref2.simpleToken,
loginToken = _ref2.loginToken,
kwAuthToken = _ref2.kwAuthToken;
var isLoggedIn = simpleToken || loginToken || kwAuthToken;
var renderCloseButton = (!isLoggedIn || props.renderOnlyLoggedOut) && !_UrlHelpers.isWebView;
return React.createElement(React.Fragment, null, renderCloseButton && React.createElement(_CloseButton.default, null), isLoggedIn && !props.renderOnlyLoggedOut ? React.createElement(LoggedIn, null) : React.createElement(LoggedOut, {
hasCategory: hasCategory,
isArticle: isArticle,
comesFromSearch: comesFromSearch,
renderSignIn: !props.renderOnlyLoggedOut && !_UrlHelpers.isWebView,
onLogin: props.onLogin
}));
})), React.createElement(_style.default, {
styleId: style.__hash,
css: style
}));
};
var RawContentHeader = Header;
exports.RawContentHeader = RawContentHeader;
var _default = (0, _reactRouterDom.withRouter)((0, _User.withLogin)(Header));
exports.default = _default;