Implements #5398. --------- Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com> Co-authored-by: Félix Malfait <felix@twenty.com>
This commit is contained in:
@ -0,0 +1,25 @@
|
||||
import {
|
||||
differenceInDays,
|
||||
formatDistance,
|
||||
isToday,
|
||||
startOfDay,
|
||||
} from 'date-fns';
|
||||
|
||||
export const formatDateISOStringToRelativeDate = (
|
||||
isoDate: string,
|
||||
isDayMaximumPrecision = false,
|
||||
) => {
|
||||
const now = new Date();
|
||||
const targetDate = new Date(isoDate);
|
||||
|
||||
if (isDayMaximumPrecision && isToday(targetDate)) return 'Today';
|
||||
|
||||
const isWithin24h = Math.abs(differenceInDays(targetDate, now)) < 1;
|
||||
|
||||
if (isDayMaximumPrecision || !isWithin24h)
|
||||
return formatDistance(startOfDay(targetDate), startOfDay(now), {
|
||||
addSuffix: true,
|
||||
});
|
||||
|
||||
return formatDistance(targetDate, now, { addSuffix: true });
|
||||
};
|
||||
Reference in New Issue
Block a user