Files
SimpleCloudNotifier/webapp/src/app/shared/pipes/relative-time.pipe.ts

22 lines
516 B
TypeScript

import { Pipe, PipeTransform } from '@angular/core';
import { formatDistanceToNow, parseISO } from 'date-fns';
@Pipe({
name: 'relativeTime',
standalone: true
})
export class RelativeTimePipe implements PipeTransform {
transform(value: string | Date | null | undefined): string {
if (!value) {
return '-';
}
try {
const date = typeof value === 'string' ? parseISO(value) : value;
return formatDistanceToNow(date, { addSuffix: true });
} catch {
return '-';
}
}
}