diff options
author | Ivan Chen <ivan@tagg.id> | 2021-04-21 13:56:42 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-21 13:56:42 -0400 |
commit | 45c0935d4c18ca7bd18ba56aa5ae37f4c40dc9f2 (patch) | |
tree | e83d39e418d4e8675ef2b26474d8335401b81322 /src/utils/messages.ts | |
parent | 83538ee79a9c2a8d5024e0987372a32dffe3d05d (diff) | |
parent | 59d90f15809890da05ede6a04e532da6a7af8d0b (diff) |
Merge pull request #371 from shravyaramesh/chat-screen-styling-2
[TMA782/810] Inline dates and Read Receipts
Diffstat (limited to 'src/utils/messages.ts')
-rw-r--r-- | src/utils/messages.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/utils/messages.ts b/src/utils/messages.ts index f4215bf0..0e73f639 100644 --- a/src/utils/messages.ts +++ b/src/utils/messages.ts @@ -137,3 +137,28 @@ export const createChannel = async ( throw error; } }; + +export const getFormatedDate = (date: object) => { + const dateMoment = moment(date).startOf('day'); + let dateToRender = ''; + + const TODAY = moment().startOf('day'); + const YESTERDAY = moment().subtract(1, 'day').startOf('day'); + const LAST_7_DAYS = moment().subtract(7, 'day').startOf('day'); + + if (TODAY.isSame(dateMoment)) { + dateToRender = 'Today'; + } else if (YESTERDAY.isSame(dateMoment)) { + dateToRender = 'Yesterday'; + } else if (dateMoment.isBetween(LAST_7_DAYS, YESTERDAY)) { + dateToRender = dateMoment.format('dddd'); + } else { + if (dateMoment.get('year') === TODAY.get('year')) { + dateToRender = dateMoment.format('MMMM D') + 'th'; + } else { + dateToRender = + dateMoment.format('MMMM D ') + 'th' + dateMoment.get('year'); + } + } + return dateToRender; +}; |