diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-05-30 18:20:26 -0500 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2023-05-30 18:20:26 -0500 |
commit | a11a1b7657adb05403b498272da0d187f1686787 (patch) | |
tree | 51d93a20de807b540c8ebffa711ee3c5c4c1b6ae | |
parent | 762ab3d385946fd05a72a41a32a47352d3bf6135 (diff) | |
parent | 439135944c3e369675999fe5b526809f85df5b32 (diff) | |
download | voidsky-a11a1b7657adb05403b498272da0d187f1686787.tar.zst |
Merge branch 'show_timestamp_after_7d' of https://github.com/benharri-forks/social-app into main
-rw-r--r-- | __tests__/lib/string.test.ts | 10 | ||||
-rw-r--r-- | src/lib/strings/time.ts | 14 |
2 files changed, 15 insertions, 9 deletions
diff --git a/__tests__/lib/string.test.ts b/__tests__/lib/string.test.ts index 936708cf2..75d7b8421 100644 --- a/__tests__/lib/string.test.ts +++ b/__tests__/lib/string.test.ts @@ -176,16 +176,20 @@ describe('ago', () => { new Date().setMinutes(new Date().getMinutes() - 10), new Date().setHours(new Date().getHours() - 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), ] const outputs = [ - new Date(1671461038).toLocaleDateString(), - new Date('04 Dec 1995 00:12:00 GMT').toLocaleDateString(), + new Date(1671461038).toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}), + new Date('04 Dec 1995 00:12:00 GMT').toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}), '0s', '10m', '1h', '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', () => { diff --git a/src/lib/strings/time.ts b/src/lib/strings/time.ts index 588b84459..3f2847558 100644 --- a/src/lib/strings/time.ts +++ b/src/lib/strings/time.ts @@ -1,8 +1,8 @@ const MINUTE = 60 const HOUR = MINUTE * 60 const DAY = HOUR * 24 -const MONTH = DAY * 28 -const YEAR = DAY * 365 +const WEEK = DAY * 7 + export function ago(date: number | string | Date): string { let ts: number if (typeof date === 'string') { @@ -19,12 +19,14 @@ export function ago(date: number | string | Date): string { return `${Math.floor(diffSeconds / MINUTE)}m` } else if (diffSeconds < DAY) { return `${Math.floor(diffSeconds / HOUR)}h` - } else if (diffSeconds < MONTH) { + } else if (diffSeconds < WEEK) { return `${Math.floor(diffSeconds / DAY)}d` - } else if (diffSeconds < YEAR) { - return `${Math.floor(diffSeconds / MONTH)}mo` } else { - return new Date(ts).toLocaleDateString() + return new Date(ts).toLocaleDateString('en-us', { + year: 'numeric', + month: 'short', + day: 'numeric', + }) } } |