UNPKG

@kiwicom/smart-faq

Version:

Smart FAQ

179 lines (152 loc) 11.5 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 = 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;