Merge branch 'show_timestamp_after_7d' of https://github.com/benharri-forks/social-app into main
commit
a11a1b7657
|
@ -176,16 +176,20 @@ describe('ago', () => {
|
||||||
new Date().setMinutes(new Date().getMinutes() - 10),
|
new Date().setMinutes(new Date().getMinutes() - 10),
|
||||||
new Date().setHours(new Date().getHours() - 1),
|
new Date().setHours(new Date().getHours() - 1),
|
||||||
new Date().setDate(new Date().getDate() - 1),
|
new Date().setDate(new Date().getDate() - 1),
|
||||||
|
new Date().setDate(new Date().getDate() - 6),
|
||||||
|
new Date().setDate(new Date().getDate() - 7),
|
||||||
new Date().setMonth(new Date().getMonth() - 1),
|
new Date().setMonth(new Date().getMonth() - 1),
|
||||||
]
|
]
|
||||||
const outputs = [
|
const outputs = [
|
||||||
new Date(1671461038).toLocaleDateString(),
|
new Date(1671461038).toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}),
|
||||||
new Date('04 Dec 1995 00:12:00 GMT').toLocaleDateString(),
|
new Date('04 Dec 1995 00:12:00 GMT').toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}),
|
||||||
'0s',
|
'0s',
|
||||||
'10m',
|
'10m',
|
||||||
'1h',
|
'1h',
|
||||||
'1d',
|
'1d',
|
||||||
'1mo',
|
'6d',
|
||||||
|
new Date(new Date().setDate(new Date().getDate() - 7)).toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}),
|
||||||
|
new Date(new Date().setMonth(new Date().getMonth() - 1)).toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}),
|
||||||
]
|
]
|
||||||
|
|
||||||
it('correctly calculates how much time passed, in a string', () => {
|
it('correctly calculates how much time passed, in a string', () => {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
const MINUTE = 60
|
const MINUTE = 60
|
||||||
const HOUR = MINUTE * 60
|
const HOUR = MINUTE * 60
|
||||||
const DAY = HOUR * 24
|
const DAY = HOUR * 24
|
||||||
const MONTH = DAY * 28
|
const WEEK = DAY * 7
|
||||||
const YEAR = DAY * 365
|
|
||||||
export function ago(date: number | string | Date): string {
|
export function ago(date: number | string | Date): string {
|
||||||
let ts: number
|
let ts: number
|
||||||
if (typeof date === 'string') {
|
if (typeof date === 'string') {
|
||||||
|
@ -19,12 +19,14 @@ export function ago(date: number | string | Date): string {
|
||||||
return `${Math.floor(diffSeconds / MINUTE)}m`
|
return `${Math.floor(diffSeconds / MINUTE)}m`
|
||||||
} else if (diffSeconds < DAY) {
|
} else if (diffSeconds < DAY) {
|
||||||
return `${Math.floor(diffSeconds / HOUR)}h`
|
return `${Math.floor(diffSeconds / HOUR)}h`
|
||||||
} else if (diffSeconds < MONTH) {
|
} else if (diffSeconds < WEEK) {
|
||||||
return `${Math.floor(diffSeconds / DAY)}d`
|
return `${Math.floor(diffSeconds / DAY)}d`
|
||||||
} else if (diffSeconds < YEAR) {
|
|
||||||
return `${Math.floor(diffSeconds / MONTH)}mo`
|
|
||||||
} else {
|
} else {
|
||||||
return new Date(ts).toLocaleDateString()
|
return new Date(ts).toLocaleDateString('en-us', {
|
||||||
|
year: 'numeric',
|
||||||
|
month: 'short',
|
||||||
|
day: 'numeric',
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue