mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 06:37:31 +00:00
feat(console): user table show timestamp instead of x ago (#6034)
Co-authored-by: Max Peintner <max@caos.ch>
This commit is contained in:
@@ -170,14 +170,14 @@
|
|||||||
<ng-container matColumnDef="creationDate">
|
<ng-container matColumnDef="creationDate">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'USER.TABLE.CREATIONDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'USER.TABLE.CREATIONDATE' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let user" [routerLink]="user.id ? ['/users', user.id] : null">
|
<td mat-cell *matCellDef="let user" [routerLink]="user.id ? ['/users', user.id] : null">
|
||||||
<span class="no-break">{{ user.details.creationDate | timestampToDate | localizedDate : 'fromNow' }}</span>
|
<span class="no-break">{{ user.details.creationDate | timestampToDate | localizedDate : 'regular' }}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="changeDate">
|
<ng-container matColumnDef="changeDate">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'USER.TABLE.CHANGEDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'USER.TABLE.CHANGEDATE' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let user" [routerLink]="user.id ? ['/users', user.id] : null">
|
<td mat-cell *matCellDef="let user" [routerLink]="user.id ? ['/users', user.id] : null">
|
||||||
<span class="no-break">{{ user.details.changeDate | timestampToDate | localizedDate : 'fromNow' }}</span>
|
<span class="no-break">{{ user.details.changeDate | timestampToDate | localizedDate : 'regular' }}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
@@ -18,14 +18,22 @@ export class LocalizedDatePipe implements PipeTransform {
|
|||||||
if (moment().diff(date, 'days') <= 2) {
|
if (moment().diff(date, 'days') <= 2) {
|
||||||
return date.fromNow(); // '2 days ago' etc.
|
return date.fromNow(); // '2 days ago' etc.
|
||||||
} else {
|
} else {
|
||||||
const localeData = moment(value).localeData();
|
return this.getDateInRegularFormat(value);
|
||||||
const format = localeData.longDateFormat('L');
|
|
||||||
return moment(value).format(`${format}, HH:mm`);
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (pattern && pattern === 'regular') {
|
||||||
|
moment.locale(this.translateService.currentLang ?? 'en');
|
||||||
|
return this.getDateInRegularFormat(value);
|
||||||
} else {
|
} else {
|
||||||
const lang = supportedLanguages.includes(this.translateService.currentLang) ? this.translateService.currentLang : 'en';
|
const lang = supportedLanguages.includes(this.translateService.currentLang) ? this.translateService.currentLang : 'en';
|
||||||
const datePipe: DatePipe = new DatePipe(lang);
|
const datePipe: DatePipe = new DatePipe(lang);
|
||||||
return datePipe.transform(value, pattern ?? 'mediumDate');
|
return datePipe.transform(value, pattern ?? 'mediumDate');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private getDateInRegularFormat(value: any): string {
|
||||||
|
const localeData = moment(value).localeData();
|
||||||
|
const format = localeData.longDateFormat('L');
|
||||||
|
return moment(value).format(`${format}, HH:mm`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user