@kiwicom/smart-faq
Version:
Smart FAQ
179 lines (152 loc) • 11.5 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.RawContentHeader = void 0;
var _style = _interopRequireDefault(require("styled-jsx/style"));
var _reactRouterDom = require("react-router-dom");
var React = _interopRequireWildcard(require("react"));
var _idx = _interopRequireDefault(require("idx"));
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"));
// @flow
var style = new String(".loggedOut{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{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{width:100%;border-bottom:1px solid #e8edf1;background-color:#ffffff;}");
style.__hash = "3110329842";
style.__scoped = ".loggedOut.jsx-4037863859{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-4037863859{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-4037863859{width:100%;border-bottom:1px solid #e8edf1;background-color:#ffffff;}";
style.__scopedHash = "4037863859";
var loggedInStyle = new String(".helpHeader{font-size:28px;font-weight:bold;color:#171b1e;pointer-events:none;}.loggedIn{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{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{margin-left:12px;}.staticFaqSearch{width:350px;position:absolute;right:260px;top:10px;}@media only screen and (max-width:900px) and (max-height:480px){.loggedIn{display:none;}}@media only screen and (max-width:900px){.loggedIn{padding:15px;}.helpHeader{width:100%;text-align:center;font-size:1.2em;}}");
loggedInStyle.__hash = "64252701";
loggedInStyle.__scoped = ".helpHeader.jsx-2880528156{font-size:28px;font-weight:bold;color:#171b1e;pointer-events:none;}.loggedIn.jsx-2880528156{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-2880528156{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-2880528156{margin-left:12px;}.staticFaqSearch.jsx-2880528156{width:350px;position:absolute;right:260px;top:10px;}@media only screen and (max-width:900px) and (max-height:480px){.loggedIn.jsx-2880528156{display:none;}}@media only screen and (max-width:900px){.loggedIn.jsx-2880528156{padding:15px;}.helpHeader.jsx-2880528156{width:100%;text-align:center;font-size:1.2em;}}";
loggedInStyle.__scopedHash = "2880528156";
var loggedOutStyle = new String(".helpHeader{position:absolute;left:0;right:0;text-align:center;font-size:28px;font-weight:bold;color:#171b1e;pointer-events:none;margin:0;}.loggedOut{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{height:20px;}[dir='rtl'] .signInOrBack{padding-right:32px;}.backButton{line-height:2;}@media only screen and (max-width:901px){.helpHeader{position:absolute;left:0;right:0;text-align:center;}}");
loggedOutStyle.__hash = "2350839666";
loggedOutStyle.__scoped = ".helpHeader.jsx-2278265907{position:absolute;left:0;right:0;text-align:center;font-size:28px;font-weight:bold;color:#171b1e;pointer-events:none;margin:0;}.loggedOut.jsx-2278265907{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-2278265907{height:20px;}[dir='rtl'] .signInOrBack.jsx-2278265907{padding-right:32px;}.backButton.jsx-2278265907{line-height:2;}@media only screen and (max-width:901px){.helpHeader.jsx-2278265907{position:absolute;left:0;right:0;text-align:center;}}";
loggedOutStyle.__scopedHash = "2278265907";
/*:: type Props = {
renderOnlyLoggedOut: boolean,
onLogin: onLogin,
match: {
params: {
categoryId?: string,
},
},
location: {
pathname: string,
},
};*/
var renderLoggedIn = function renderLoggedIn() {
return React.createElement(React.Fragment, null, React.createElement("div", {
className: "jsx-".concat(loggedInStyle.__scopedHash, " jsx-").concat(_responsiveStyleHelperClasses.default.__scopedHash) + " " + "loggedIn"
}, React.createElement(_SelectedBooking.SelectedBooking.Consumer, null, function (_ref) {
var bookingPage = _ref.bookingPage;
return React.createElement("div", {
className: "jsx-".concat(loggedInStyle.__scopedHash, " jsx-").concat(_responsiveStyleHelperClasses.default.__scopedHash) + " " + "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.__scopedHash, " jsx-").concat(_responsiveStyleHelperClasses.default.__scopedHash) + " " + "staticFaqSearch"
}, React.createElement(_SearchBar.default, null)), React.createElement("div", {
className: "jsx-".concat(loggedInStyle.__scopedHash, " jsx-").concat(_responsiveStyleHelperClasses.default.__scopedHash) + " " + "links"
}, React.createElement(_SignOutButton.default, null))), React.createElement(_style.default, {
styleId: loggedInStyle.__scopedHash,
css: loggedInStyle.__scoped
}), React.createElement(_style.default, {
styleId: _responsiveStyleHelperClasses.default.__scopedHash,
css: _responsiveStyleHelperClasses.default.__scoped
})), React.createElement(_Responsive.Mobile, null, React.createElement(_MobileBookingHeader.default, null)));
};
var renderLoggedOut = function renderLoggedOut(hasCategory
/*: string | null*/
, isArticle
/*: boolean*/
, comesFromSearch
/*: boolean*/
, renderSignIn
/*: boolean*/
, onLogin
/*: onLogin*/
) {
var onClickLogin = function onClickLogin(e) {
e.preventDefault();
onLogin();
};
var signIn = renderSignIn ? React.createElement(_TextLink.default, {
href: "",
onClick: 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.__scopedHash, " jsx-").concat(loggedOutStyle.__scopedHash) + " " + "loggedOut"
}, React.createElement("div", {
className: "jsx-".concat(_responsiveStyleHelperClasses.default.__scopedHash, " jsx-").concat(loggedOutStyle.__scopedHash) + " " + "signInOrBack"
}, hasCategory || isArticle ? React.createElement("div", {
className: "jsx-".concat(_responsiveStyleHelperClasses.default.__scopedHash, " jsx-").concat(loggedOutStyle.__scopedHash) + " " + "backButton"
}, React.createElement(_BackButton.default, {
type: comesFromSearch ? 'search' : 'back'
})) : signIn), React.createElement("p", {
className: "jsx-".concat(_responsiveStyleHelperClasses.default.__scopedHash, " jsx-").concat(loggedOutStyle.__scopedHash) + " " + "helpHeader"
}, React.createElement(_Translate.default, {
t: "smartfaq.header.title"
})), React.createElement(_style.default, {
styleId: _responsiveStyleHelperClasses.default.__scopedHash,
css: _responsiveStyleHelperClasses.default.__scoped
}), React.createElement(_style.default, {
styleId: loggedOutStyle.__scopedHash,
css: loggedOutStyle.__scoped
}));
};
var Header = function Header(props
/*: Props*/
) {
var hasCategory = (0, _idx.default)(props.match, function (_) {
return _.params.categoryId;
}) || 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.__scopedHash) + " " + "header"
}, React.createElement("div", {
className: "jsx-".concat(style.__scopedHash) + " " + "HeaderFAQ"
}, !props.renderOnlyLoggedOut && React.createElement(_UserStatus.default.LoggedIn, null, React.createElement(_Responsive.Desktop, null, React.createElement(_CloseButton.default, {
height: "24"
}))), 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;
return React.createElement(React.Fragment, null, renderCloseButton && React.createElement(_CloseButton.default, {
height: "24"
}), isLoggedIn && !props.renderOnlyLoggedOut ? renderLoggedIn() : renderLoggedOut(hasCategory, isArticle, comesFromSearch, !props.renderOnlyLoggedOut, props.onLogin));
})), React.createElement(_style.default, {
styleId: style.__scopedHash,
css: style.__scoped
}));
};
var RawContentHeader = Header;
exports.RawContentHeader = RawContentHeader;
var _default = (0, _reactRouterDom.withRouter)((0, _User.withLogin)(Header));
exports.default = _default;