This commit is contained in:
mgabdev
2020-04-07 21:06:59 -04:00
parent b5e3c2a94f
commit bb4fcdf32d
101 changed files with 1069 additions and 1886 deletions

View File

@@ -50,68 +50,60 @@ const selectUnits = delta => {
const getUnitDelay = units => {
switch (units) {
case 'second':
return SECOND
case 'minute':
return MINUTE
case 'hour':
return HOUR
case 'day':
return DAY
default:
return MAX_DELAY
case 'second':
return SECOND
case 'minute':
return MINUTE
case 'hour':
return HOUR
case 'day':
return DAY
default:
return MAX_DELAY
}
}
export const timeAgoString = (intl, date, now, year) => {
const delta = now - date.getTime()
let relativeTime
if (delta < 10 * SECOND) {
relativeTime = intl.formatMessage(messages.just_now)
return intl.formatMessage(messages.just_now)
} else if (delta < 7 * DAY) {
if (delta < MINUTE) {
relativeTime = intl.formatMessage(messages.seconds, { number: Math.floor(delta / SECOND) })
return intl.formatMessage(messages.seconds, { number: Math.floor(delta / SECOND) })
} else if (delta < HOUR) {
relativeTime = intl.formatMessage(messages.minutes, { number: Math.floor(delta / MINUTE) })
return intl.formatMessage(messages.minutes, { number: Math.floor(delta / MINUTE) })
} else if (delta < DAY) {
relativeTime = intl.formatMessage(messages.hours, { number: Math.floor(delta / HOUR) })
return intl.formatMessage(messages.hours, { number: Math.floor(delta / HOUR) })
} else {
relativeTime = intl.formatMessage(messages.days, { number: Math.floor(delta / DAY) })
return intl.formatMessage(messages.days, { number: Math.floor(delta / DAY) })
}
} else if (date.getFullYear() === year) {
relativeTime = intl.formatDate(date, shortDateFormatOptions)
} else {
relativeTime = intl.formatDate(date, { ...shortDateFormatOptions, year: 'numeric' })
return intl.formatDate(date, shortDateFormatOptions)
}
return relativeTime
return intl.formatDate(date, { ...shortDateFormatOptions, year: 'numeric' })
}
const timeRemainingString = (intl, date, now) => {
const delta = date.getTime() - now
let relativeTime
if (delta < 10 * SECOND) {
relativeTime = intl.formatMessage(messages.moments_remaining)
return intl.formatMessage(messages.moments_remaining)
} else if (delta < MINUTE) {
relativeTime = intl.formatMessage(messages.seconds_remaining, { number: Math.floor(delta / SECOND) })
return intl.formatMessage(messages.seconds_remaining, { number: Math.floor(delta / SECOND) })
} else if (delta < HOUR) {
relativeTime = intl.formatMessage(messages.minutes_remaining, { number: Math.floor(delta / MINUTE) })
return intl.formatMessage(messages.minutes_remaining, { number: Math.floor(delta / MINUTE) })
} else if (delta < DAY) {
relativeTime = intl.formatMessage(messages.hours_remaining, { number: Math.floor(delta / HOUR) })
} else {
relativeTime = intl.formatMessage(messages.days_remaining, { number: Math.floor(delta / DAY) })
return intl.formatMessage(messages.hours_remaining, { number: Math.floor(delta / HOUR) })
}
return relativeTime
return intl.formatMessage(messages.days_remaining, { number: Math.floor(delta / DAY) })
}
export default
@injectIntl
class RelativeTimestamp extends Component {
class RelativeTimestamp extends React.Component {
static propTypes = {
intl: PropTypes.object.isRequired,