mirror of
https://github.com/lingble/chatwoot.git
synced 2025-11-01 19:48:08 +00:00
feat: Change the date format display in widget (#1528)
Co-authored-by: Pranav <pranav@chatwoot.com>
This commit is contained in:
@@ -1,7 +1,16 @@
|
||||
import fromUnixTime from 'date-fns/fromUnixTime';
|
||||
import format from 'date-fns/format';
|
||||
import isToday from 'date-fns/isToday';
|
||||
import isYesterday from 'date-fns/isYesterday';
|
||||
|
||||
export const formatUnixDate = (date, dateFormat = 'MMM dd, yyyy') => {
|
||||
const unixDate = fromUnixTime(date);
|
||||
return format(unixDate, dateFormat);
|
||||
};
|
||||
|
||||
export const formatDate = ({ date, todayText, yesterdayText }) => {
|
||||
const dateValue = new Date(date);
|
||||
if (isToday(dateValue)) return todayText;
|
||||
if (isYesterday(dateValue)) return yesterdayText;
|
||||
return date;
|
||||
};
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
import DateSeparator from '../DateSeparator';
|
||||
|
||||
describe('#DateSeparator', () => {
|
||||
it('should format correctly without dateFormat', () => {
|
||||
expect(new DateSeparator(1576340626).format()).toEqual('Dec 14, 2019');
|
||||
});
|
||||
|
||||
it('should format correctly without dateFormat', () => {
|
||||
expect(new DateSeparator(1576340626).format('DD-MM-YYYY')).toEqual(
|
||||
'14-12-2019'
|
||||
);
|
||||
});
|
||||
});
|
||||
42
app/javascript/shared/helpers/specs/DateHelper.spec.js
Normal file
42
app/javascript/shared/helpers/specs/DateHelper.spec.js
Normal file
@@ -0,0 +1,42 @@
|
||||
import { formatDate, formatUnixDate } from '../DateHelper';
|
||||
|
||||
describe('#DateHelper', () => {
|
||||
it('should format unix date correctly without dateFormat', () => {
|
||||
expect(formatUnixDate(1576340626)).toEqual('Dec 14, 2019');
|
||||
});
|
||||
|
||||
it('should format unix date correctly without dateFormat', () => {
|
||||
expect(formatUnixDate(1608214031, 'MM/dd/yyyy')).toEqual('12/17/2020');
|
||||
});
|
||||
|
||||
it('should format date', () => {
|
||||
expect(
|
||||
formatDate({
|
||||
date: 'Dec 14, 2019',
|
||||
todayText: 'Today',
|
||||
yesterdayText: 'Yesterday',
|
||||
})
|
||||
).toEqual('Dec 14, 2019');
|
||||
});
|
||||
it('should format date as today ', () => {
|
||||
expect(
|
||||
formatDate({
|
||||
date: new Date(),
|
||||
todayText: 'Today',
|
||||
yesterdayText: 'Yesterday',
|
||||
})
|
||||
).toEqual('Today');
|
||||
});
|
||||
it('should format date as yesterday ', () => {
|
||||
const today = new Date();
|
||||
const yesterday = new Date(today);
|
||||
yesterday.setDate(yesterday.getDate() - 1);
|
||||
expect(
|
||||
formatDate({
|
||||
date: yesterday,
|
||||
todayText: 'Today',
|
||||
yesterdayText: 'Yesterday',
|
||||
})
|
||||
).toEqual('Yesterday');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user