UNPKG

@kiwicom/smart-faq

Version:
92 lines (72 loc) 2.51 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports.formatHour = exports.formatTimeDuration = exports.formatCountDown = exports.formatDepartureDate = exports.FormatDate = exports.URGENCY_THRESHOLD = void 0; var React = _interopRequireWildcard(require("react")); var _Language = require("../context/Language"); var _translationUtils = require("./translationUtils"); // @flow var URGENCY_THRESHOLD = 48; /*:: type Props = {| dateString: string, |};*/ exports.URGENCY_THRESHOLD = URGENCY_THRESHOLD; var FormatDate = function FormatDate(_ref) { var dateString = _ref.dateString; var options = { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' }; return React.createElement(_Language.LanguageContext.Consumer, null, function (language) { var locale = (_translationUtils.supportedLanguages[language] || _translationUtils.DEFAULT_LOCALE).replace('_', '-'); return React.createElement("div", null, new Date(dateString).toLocaleDateString(locale, options)); }); }; exports.FormatDate = FormatDate; var formatDepartureDate = function formatDepartureDate(dateString /*: string*/ ) { var dateUTC = new Date(dateString); var month = dateUTC.getUTCMonth() + 1; var day = dateUTC.getUTCDate(); var year = dateUTC.getUTCFullYear(); return "".concat(day, "/").concat(month, "/").concat(year); }; exports.formatDepartureDate = formatDepartureDate; var formatCountDown = function formatCountDown(hoursLeft /*: number*/ ) /*: string*/ { var nhours = Math.floor(hoursLeft); var nmins = Math.floor((hoursLeft - nhours) * 60); var ndays = Math.floor(hoursLeft / 24); if (hoursLeft < URGENCY_THRESHOLD) { return nmins ? "".concat(nhours, ' hours', " ").concat(nmins, ' minutes') : "".concat(nhours, 'h'); } return "".concat(ndays, " ", 'days'); }; exports.formatCountDown = formatCountDown; var formatTimeDuration = function formatTimeDuration(mins /*: number*/ ) { var nhours = Math.floor(mins / 60); var nmins = mins - nhours * 60; return nhours ? "".concat(nhours, "h ").concat(nmins, "m") : "".concat(nmins, "m"); }; exports.formatTimeDuration = formatTimeDuration; var formatHour = function formatHour(date /*: string*/ ) { var options = { hour: 'numeric', timeZone: 'UTC', minute: 'numeric' }; return new Date(date).toLocaleString('en-US', options); }; exports.formatHour = formatHour;