@kiwicom/smart-faq
Version:
92 lines (72 loc) • 2.51 kB
JavaScript
;
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;