@kiwicom/smart-faq
Version: 
Smart FAQ
189 lines (149 loc) • 10.6 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.PureIntro = void 0;
var _style = _interopRequireDefault(require("styled-jsx/style"));
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 _getPrototypeOf3 = _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 _Stack = _interopRequireDefault(require("@kiwicom/orbit-components/lib/Stack"));
var _Button = _interopRequireDefault(require("@kiwicom/orbit-components/lib/Button"));
var _Alert = _interopRequireDefault(require("@kiwicom/orbit-components/lib/Alert"));
var _Illustration = _interopRequireDefault(require("@kiwicom/orbit-components/lib/Illustration"));
var _Text = _interopRequireDefault(require("@kiwicom/orbit-components/lib/Text"));
var _AlertCircle = _interopRequireDefault(require("@kiwicom/orbit-components/lib/icons/AlertCircle"));
var _Translate = _interopRequireDefault(require("@kiwicom/nitro/lib/components/Translate"));
var _reactResponsive = _interopRequireDefault(require("react-responsive"));
var _CloseButton = _interopRequireDefault(require("../common/buttons/CloseButton"));
var _User = require("../context/User");
var _FullFAQLink = _interopRequireDefault(require("../common/FullFAQLink"));
var _loginHOC = require("../common/loginHOC");
var _trackers = require("../../shared/helpers/analytics/trackers");
var _tracker = require("../../shared/cuckoo/tracker");
// @flow
var style = new String(".Intro{width:480px;padding-top:128px;height:100%;overflow-y:auto;overflow-x:hidden;margin:auto;}div.picture{text-align:center;}div.text{margin-left:40px;}[dir='rtl'] div.text{margin-right:40px;text-align:right;}p.title{color:#171b1e;font-size:28px;font-weight:bold;margin-bottom:6px;}div.buttons{margin-left:40px;margin-top:52.4px;}[dir='rtl'] div.buttons{margin-right:40px;}hr.hr-line{margin:36px 64px 22px 64px;height:0;border:0;border-top:1px solid #e8edf1;}.faqLink{margin-bottom:20px;line-height:1.4;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}@media only screen and (max-width:480px){.Intro{width:100%;padding-top:75px;}div.picture{text-align:center;margin:0px 0px 40px 0px;}hr.hr-line{margin:28px 16px 22px 16px;}div.text{margin-left:16px;margin-right:16px;}p.title{font-size:22px;}div.buttons{margin:28px 16px 24px 16px;}button{width:100%;}}@media only screen and (max-height:480px){.Intro{width:100%;padding-top:20px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}div.picture{display:none;}hr.hr-line{width:288px;margin:19px 0 22px;}div.text{width:288px;margin:0;}p.title{font-size:22px;text-align:center;margin-bottom:20px;}div.buttons{width:288px;margin:12px 0 0;}[dir='rtl'] div.buttons{margin:0 12px 0 0;}div.buttons button{width:100%;}.faqLink{margin:0;}}");
style.__hash = "1454498952";
style.__scoped = ".Intro.jsx-4286205225{width:480px;padding-top:128px;height:100%;overflow-y:auto;overflow-x:hidden;margin:auto;}div.picture.jsx-4286205225{text-align:center;}div.text.jsx-4286205225{margin-left:40px;}[dir='rtl'] div.text.jsx-4286205225{margin-right:40px;text-align:right;}p.title.jsx-4286205225{color:#171b1e;font-size:28px;font-weight:bold;margin-bottom:6px;}div.buttons.jsx-4286205225{margin-left:40px;margin-top:52.4px;}[dir='rtl'] div.buttons.jsx-4286205225{margin-right:40px;}hr.hr-line.jsx-4286205225{margin:36px 64px 22px 64px;height:0;border:0;border-top:1px solid #e8edf1;}.faqLink.jsx-4286205225{margin-bottom:20px;line-height:1.4;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}@media only screen and (max-width:480px){.Intro.jsx-4286205225{width:100%;padding-top:75px;}div.picture.jsx-4286205225{text-align:center;margin:0px 0px 40px 0px;}hr.hr-line.jsx-4286205225{margin:28px 16px 22px 16px;}div.text.jsx-4286205225{margin-left:16px;margin-right:16px;}p.title.jsx-4286205225{font-size:22px;}div.buttons.jsx-4286205225{margin:28px 16px 24px 16px;}button.jsx-4286205225{width:100%;}}@media only screen and (max-height:480px){.Intro.jsx-4286205225{width:100%;padding-top:20px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}div.picture.jsx-4286205225{display:none;}hr.hr-line.jsx-4286205225{width:288px;margin:19px 0 22px;}div.text.jsx-4286205225{width:288px;margin:0;}p.title.jsx-4286205225{font-size:22px;text-align:center;margin-bottom:20px;}div.buttons.jsx-4286205225{width:288px;margin:12px 0 0;}[dir='rtl'] div.buttons.jsx-4286205225{margin:0 12px 0 0;}div.buttons.jsx-4286205225 button.jsx-4286205225{width:100%;}.faqLink.jsx-4286205225{margin:0;}}";
style.__scopedHash = "4286205225";
/*:: type Props = {
  history: {
    push: string => void,
  },
  location: ?Location,
  onLogin: onLogin,
};*/
var PureIntro =
/*#__PURE__*/
function (_React$Component) {
  (0, _inherits2.default)(PureIntro, _React$Component);
  function PureIntro() {
    var _getPrototypeOf2;
    var _this;
    (0, _classCallCheck2.default)(this, PureIntro);
    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }
    _this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(PureIntro)).call.apply(_getPrototypeOf2, [this].concat(args)));
    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "goToExistingBooking", function () {
      (0, _trackers.simpleTracker)('smartFAQ', {
        action: 'clickOnIntroButton',
        haveBooking: true
      });
      (0, _tracker.track)('Login', 'clickOnIntroButton', {
        haveBooking: true
      });
      _this.props.onLogin();
    });
    (0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "goToNoBooking", function () {
      (0, _trackers.simpleTracker)('smartFAQ', {
        action: 'clickOnIntroButton',
        haveBooking: false
      });
      (0, _tracker.track)('Login', 'clickOnIntroButton', {
        haveBooking: false
      });
      _this.props.history.push('/faq/');
    });
    return _this;
  }
  (0, _createClass2.default)(PureIntro, [{
    key: "renderExpiredSession",
    value: function renderExpiredSession() {
      return React.createElement("div", {
        "data-cy": "message-expired-session",
        className: "jsx-3514436841" + " " + "infoMessage"
      }, React.createElement(_Alert.default, {
        type: "info",
        icon: React.createElement(_AlertCircle.default, null)
      }, React.createElement(_Translate.default, {
        t: "smartfaq.intro_page.alert"
      })), React.createElement(_style.default, {
        styleId: "3514436841",
        css: "div.infoMessage.jsx-3514436841{margin:20px 40px 0;}"
      }));
    }
  }, {
    key: "render",
    value: function render() {
      var sessionExpired = (0, _idx.default)(this.props.location, function (_) {
        return _.state.sessionExpired;
      });
      return React.createElement("div", {
        className: "jsx-".concat(style.__scopedHash) + " " + "Intro"
      }, React.createElement(_CloseButton.default, null), React.createElement(_reactResponsive.default, {
        minWidth: "339px"
      }, React.createElement("div", {
        className: "jsx-".concat(style.__scopedHash) + " " + "picture"
      }, React.createElement(_Illustration.default, {
        size: "medium",
        name: "Help"
      }))), React.createElement("div", {
        className: "jsx-".concat(style.__scopedHash) + " " + "text"
      }, React.createElement("p", {
        className: "jsx-".concat(style.__scopedHash) + " " + "title"
      }, React.createElement(_Translate.default, {
        t: "smartfaq.intro_page.title"
      })), React.createElement(_Text.default, {
        type: "secondary"
      }, React.createElement(_Translate.default, {
        t: "smartfaq.intro_page.subtitle"
      }))), sessionExpired && this.renderExpiredSession(), React.createElement("div", {
        className: "jsx-".concat(style.__scopedHash) + " " + "buttons"
      }, React.createElement(_Stack.default, {
        spacing: "natural"
      }, React.createElement(_Button.default, {
        type: "primary",
        onClick: this.goToExistingBooking,
        dataTest: "btn-existent-booking"
      }, React.createElement(_Translate.default, {
        t: "smartfaq.intro_page.existing_booking"
      })), React.createElement(_Button.default, {
        type: "secondary",
        onClick: this.goToNoBooking,
        dataTest: "btn-nonexistent-booking"
      }, React.createElement(_Translate.default, {
        t: "smartfaq.intro_page.no_booking"
      })))), React.createElement("hr", {
        className: "jsx-".concat(style.__scopedHash) + " " + "hr-line"
      }), React.createElement("div", {
        className: "jsx-".concat(style.__scopedHash) + " " + "faqLink"
      }, React.createElement(_FullFAQLink.default, null)), React.createElement(_style.default, {
        styleId: style.__scopedHash,
        css: style.__scoped
      }));
    }
  }]);
  return PureIntro;
}(React.Component);
exports.PureIntro = PureIntro;
var _default = (0, _loginHOC.redirectsLoggedIn)((0, _User.withLogin)(PureIntro));
exports.default = _default;