UNPKG

@kiwicom/smart-faq

Version:

Smart FAQ

73 lines (55 loc) 2.05 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.updateFAQSection = exports.getDepartureTimeByType = exports.isUrgentBooking = void 0; var _idx = _interopRequireDefault(require("idx")); var _difference_in_hours = _interopRequireDefault(require("date-fns/difference_in_hours")); var _bookingTypes = _interopRequireDefault(require("./bookingTypes")); var _dateUtils = require("../../helpers/dateUtils"); // @flow var isUrgentBooking = function isUrgentBooking(isPastBooking /*: boolean*/ , departureTime /*: ?Date*/ ) { var timeDelta = departureTime ? (0, _difference_in_hours.default)(departureTime, new Date()) : null; var isUrgent = timeDelta !== null && _dateUtils.URGENCY_THRESHOLD > timeDelta; return isPastBooking === false && isUrgent; }; exports.isUrgentBooking = isUrgentBooking; var getDepartureTimeByType = function getDepartureTimeByType(booking /*: BookingType*/ ) { var date = null; if (booking.type === _bookingTypes.default.ONE_WAY) { date = (0, _idx.default)(booking, function (_) { return _.trip.departure.time; }); } if (booking.type === _bookingTypes.default.RETURN) { date = (0, _idx.default)(booking, function (_) { return _.outbound.departure.time; }); } if (booking.type === _bookingTypes.default.MULTICITY) { date = (0, _idx.default)(booking, function (_) { return _.start.time; }); } return date ? new Date(date) : null; }; exports.getDepartureTimeByType = getDepartureTimeByType; var updateFAQSection = function updateFAQSection(props /*: Props*/ ) { var booking = props.booking; var isPastBooking = booking.isPastBooking; var departureTime = getDepartureTimeByType(booking); if (isPastBooking !== null && isPastBooking !== undefined) { var _isUrgent = isUrgentBooking(isPastBooking, departureTime); props.onSetFAQSection(_isUrgent, isPastBooking); } }; exports.updateFAQSection = updateFAQSection;