UNPKG

@kiwicom/smart-faq

Version:

156 lines (127 loc) 8.23 kB
"use strict"; require("core-js/modules/es.function.name"); require("core-js/modules/es.object.get-own-property-descriptor"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _style = _interopRequireDefault(require("styled-jsx/style")); var React = _interopRequireWildcard(require("react")); var _reactRelay = require("react-relay"); var _Badge = _interopRequireDefault(require("@kiwicom/orbit-components/lib/Badge")); var _Translate = _interopRequireDefault(require("@kiwicom/nitro/lib/components/Translate")); var _InformationCircle = _interopRequireDefault(require("@kiwicom/orbit-components/lib/icons/InformationCircle")); var _Download = _interopRequireDefault(require("@kiwicom/orbit-components/lib/icons/Download")); var _FlightDirect = _interopRequireDefault(require("@kiwicom/orbit-components/lib/icons/FlightDirect")); var _HoverHelpTooltip = _interopRequireDefault(require("../../../../SmartFAQ/common/Tooltip/HoverHelpTooltip")); var _UrlHelpers = require("../../../../SmartFAQ/helpers/UrlHelpers"); var _events = require("../../../../const/events"); var _LogClick = _interopRequireDefault(require("../../../../components/Log/LogClick")); 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 }; } // @flow var BoardingPassesItem = function BoardingPassesItem(_ref) { var _data$leg, _data$leg$departure, _data$leg$departure$a, _data$leg$departure$a2, _data$leg2, _data$leg2$arrival, _data$leg2$arrival$ai, _data$leg2$arrival$ai2, _data$leg3, _data$availableAt; var data = _ref.data, mmbUrl = _ref.mmbUrl; if (data.leg === null) return null; var departureCity = (_data$leg = data.leg) === null || _data$leg === void 0 ? void 0 : (_data$leg$departure = _data$leg.departure) === null || _data$leg$departure === void 0 ? void 0 : (_data$leg$departure$a = _data$leg$departure.airport) === null || _data$leg$departure$a === void 0 ? void 0 : (_data$leg$departure$a2 = _data$leg$departure$a.city) === null || _data$leg$departure$a2 === void 0 ? void 0 : _data$leg$departure$a2.name; var arrivalCity = (_data$leg2 = data.leg) === null || _data$leg2 === void 0 ? void 0 : (_data$leg2$arrival = _data$leg2.arrival) === null || _data$leg2$arrival === void 0 ? void 0 : (_data$leg2$arrival$ai = _data$leg2$arrival.airport) === null || _data$leg2$arrival$ai === void 0 ? void 0 : (_data$leg2$arrival$ai2 = _data$leg2$arrival$ai.city) === null || _data$leg2$arrival$ai2 === void 0 ? void 0 : _data$leg2$arrival$ai2.name; var vehicleType = (_data$leg3 = data.leg) === null || _data$leg3 === void 0 ? void 0 : _data$leg3.type; var boardingPassUrl = data.boardingPassUrl; var availableAt = (_data$availableAt = data.availableAt) !== null && _data$availableAt !== void 0 ? _data$availableAt : ''; var availabilityStatus = data.availabilityStatus; var moreInfoButton = React.createElement(_LogClick.default, { event: _events.events.BP_MORE_INFO }, function (_ref2) { var onClick = _ref2.onClick; return React.createElement("a", { href: (0, _UrlHelpers.replaceWithCurrentDomain)(mmbUrl), onClick: onClick, target: "_blank", rel: "noopener noreferrer", className: "moreInfo" }, React.createElement(_Translate.default, { t: "smartfaq.boarding_pass_info.more_info" })); }); var Info = function () { switch (availabilityStatus) { case 'AVAILABLE': return React.createElement(_LogClick.default, { event: _events.events.BP_DOWNLOAD }, function (_ref3) { var onClick = _ref3.onClick; return React.createElement("a", { href: boardingPassUrl, onClick: onClick, target: "_blank", rel: "noopener noreferrer", className: "download" }, React.createElement(_Download.default, { size: "medium", customColor: "#00a991" }), React.createElement(_Translate.default, { t: "smartfaq.boarding_pass_info.download" })); }); case 'IN_FUTURE': return React.createElement("p", null, React.createElement(_Translate.default, { t: "smartfaq.boarding_pass_info.available_at", values: { date: availableAt } })); case 'AT_AIRPORT': if (vehicleType !== 'AIRCRAFT') { return React.createElement("p", { style: { color: '#cf292a' } }, React.createElement(_Translate.default, { t: "smartfaq.boarding_pass_info.in_process" })); } return React.createElement(_HoverHelpTooltip.default, { content: React.createElement(_Translate.default, { t: "smartfaq.boarding_pass_info.airport_check_in.hover" }), placement: "top", eventToTrack: _events.events.BP_SHOW_TOOLTIP }, React.createElement(_Badge.default, { type: "info", icon: React.createElement(_InformationCircle.default, null) }, React.createElement(_Translate.default, { t: "smartfaq.boarding_pass_info.airport_check_in" }))); case 'OTHER': default: return moreInfoButton; } }(); return React.createElement(React.Fragment, null, React.createElement("hr", { className: "jsx-923504495" + " " + "separationLine" }), React.createElement("div", { className: "jsx-923504495" + " " + "boardingPassesRow" }, React.createElement("p", { className: "jsx-923504495" + " " + "leg" }, departureCity, React.createElement(_FlightDirect.default, { size: "medium", customColor: "#bac7d5" }), arrivalCity), React.createElement("div", { className: "jsx-923504495" + " " + "info" }, Info)), React.createElement(_style.default, { styleId: "923504495", css: "div.boardingPassesRow.jsx-923504495{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-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:15px 24px 15px 24px;}div.info.jsx-923504495{display:inline-block;float:right;}div.info.jsx-923504495 p{font-size:12px;line-height:1.4;color:#46515e;margin:0;}div.info.jsx-923504495 a.download{font-size:12px;color:#00a991;-webkit-text-decoration:none;text-decoration:none;}div.info.jsx-923504495 a.moreInfo{font-size:12px;font-weight:500;line-height:1.4;color:#171b1e;}div.info.jsx-923504495 .Tooltip{bottom:110%;right:0;}div.info.jsx-923504495 .Tooltip-inner.Tooltip-inner{max-width:265px;width:265px;}div.info.jsx-923504495 .Tooltip .Tooltip-arrow.Tooltip-arrow{left:auto;right:55px;}div.boardingPassesNumber.jsx-923504495{display:inline-block;margin-right:8px;}div.boardingPassesNumber.jsx-923504495 p.jsx-923504495{font-size:14px;font-weight:bold;line-height:1.4;color:#46515e;display:inline-block;}.leg.jsx-923504495{font-size:14px;font-weight:bold;line-height:1.4;color:#46515e;display:inline-block;margin:0 0 0 5px;}hr.separationLine.jsx-923504495{height:1px;background-color:#e8edf1;border:none;margin:0;width:100%;}" })); }; var _default = (0, _reactRelay.createFragmentContainer)(BoardingPassesItem, { data: function data() { var node = require("./__generated__/BoardingPassesItem.graphql"); if (node.hash && node.hash !== "68802d35b68a4540bc2bbf4621e876f5") { console.error("The definition of 'BoardingPassesItem' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."); } return require("./__generated__/BoardingPassesItem.graphql"); } }); exports.default = _default;