Added live refresh to admin UI

- Added lastLogin UI
- Added operational time
This commit is contained in:
2024-05-30 20:40:58 +02:00
parent 017ef0afca
commit dbb53ca9da
6 changed files with 121 additions and 6 deletions

View File

@@ -0,0 +1,45 @@
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'relativeTime',
standalone: true,
pure: false
})
export class RelativeTimePipe implements PipeTransform {
transform(value: string): string {
if (!value) {
return '';
}
const now = new Date();
const past = new Date(value);
const elapsed = now.getTime() - past.getTime();
const msPerSecond = 1000;
const msPerMinute = msPerSecond * 60;
const msPerHour = msPerMinute * 60;
const msPerDay = msPerHour * 24;
const msPerWeek = msPerDay * 7;
const msPerMonth = msPerDay * 30;
const msPerYear = msPerDay * 365;
if (elapsed < msPerSecond) {
return 'just now';
} else if (elapsed < msPerMinute) {
return `${Math.round(elapsed / msPerSecond)} seconds ago`;
} else if (elapsed < msPerHour) {
return `${Math.round(elapsed / msPerMinute)} minutes ago`;
} else if (elapsed < msPerDay) {
return `${Math.round(elapsed / msPerHour)} hours ago`;
} else if (elapsed < msPerWeek) {
return `${Math.round(elapsed / msPerDay)} days ago`;
} else if (elapsed < msPerMonth) {
return `${Math.round(elapsed / msPerWeek)} weeks ago`;
} else if (elapsed < msPerYear) {
return `${Math.round(elapsed / msPerMonth)} months ago`;
} else {
return `${Math.round(elapsed / msPerYear)} years ago`;
}
}
}