diff --git a/lib/core/src/lib/comments/comment-list/comment-list.component.spec.ts b/lib/core/src/lib/comments/comment-list/comment-list.component.spec.ts index 18a945ee92..207278046b 100644 --- a/lib/core/src/lib/comments/comment-list/comment-list.component.spec.ts +++ b/lib/core/src/lib/comments/comment-list/comment-list.component.spec.ts @@ -118,7 +118,7 @@ describe('CommentListComponent', () => { await fixture.whenStable(); element = fixture.nativeElement.querySelector('.adf-comment-message-time'); - expect(element.innerText).toContain('a few seconds ago'); + expect(element.innerText).toContain('less than a minute ago'); }); it('comment date time should start with Yesterday when comment date is yesterday', async () => { @@ -130,7 +130,7 @@ describe('CommentListComponent', () => { await fixture.whenStable(); element = fixture.nativeElement.querySelector('.adf-comment-message-time'); - expect(element.innerText).toContain('a day ago'); + expect(element.innerText).toContain('1 day ago'); }); it('comment date time should not start with Today/Yesterday when comment date is before yesterday', async () => { diff --git a/lib/core/src/lib/pipes/time-ago.pipe.spec.ts b/lib/core/src/lib/pipes/time-ago.pipe.spec.ts index 9b2ff1557a..f3fc7b63ab 100644 --- a/lib/core/src/lib/pipes/time-ago.pipe.spec.ts +++ b/lib/core/src/lib/pipes/time-ago.pipe.spec.ts @@ -42,7 +42,7 @@ describe('TimeAgoPipe', () => { it('should return time difference for a given date', () => { const date = new Date(); - expect(pipe.transform(date)).toBe('a few seconds ago'); + expect(pipe.transform(date)).toBe('less than a minute ago'); }); it('should return exact date if given date is more than seven days ', () => { @@ -61,7 +61,7 @@ describe('TimeAgoPipe', () => { const date = new Date(); const transformedDate = pipe.transform(date, 'de'); /* cspell:disable-next-line */ - expect(transformedDate).toBe('vor ein paar Sekunden'); + expect(transformedDate).toBe('vor weniger als 1 Minute'); }); }); }); diff --git a/lib/core/src/lib/pipes/time-ago.pipe.ts b/lib/core/src/lib/pipes/time-ago.pipe.ts index 3839e3a857..1a4e310822 100644 --- a/lib/core/src/lib/pipes/time-ago.pipe.ts +++ b/lib/core/src/lib/pipes/time-ago.pipe.ts @@ -15,13 +15,14 @@ * limitations under the License. */ -import moment from 'moment'; import { Pipe, PipeTransform, OnDestroy } from '@angular/core'; import { AppConfigService } from '../app-config/app-config.service'; import { UserPreferenceValues, UserPreferencesService } from '../common/services/user-preferences.service'; import { DatePipe } from '@angular/common'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; +import { differenceInDays, formatDistance } from 'date-fns'; +import * as Locales from 'date-fns/locale'; @Pipe({ name: 'adfTimeAgo' @@ -50,13 +51,12 @@ export class TimeAgoPipe implements PipeTransform, OnDestroy { transform(value: Date, locale?: string) { if (value !== null && value !== undefined ) { const actualLocale = locale || this.defaultLocale; - const then = moment(value); - const diff = moment().locale(actualLocale).diff(then, 'days'); + const diff = differenceInDays(new Date(), new Date(value)); if ( diff > 7) { const datePipe: DatePipe = new DatePipe(actualLocale); return datePipe.transform(value, this.defaultDateTimeFormat); } else { - return then.locale(actualLocale).fromNow(); + return formatDistance(new Date(value) , new Date(), { addSuffix: true , locale: Locales[actualLocale] }); } } return '';