@kiwicom/smart-faq
Version:
156 lines (127 loc) • 8.23 kB
JavaScript
"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;