mirror of
https://github.com/bitwarden/browser
synced 2026-02-08 04:33:38 +00:00
This PR makes it so the devices are always sorted in this order (by default): 1. Has Pending Auth Request (if any) comes first 2. Current Device comes second (or first if there are no pending auth requests) 3. First Login Date - the rest of the devices are sorted by first login date (newest to oldest) This sort order is preserved even after a user approves/denies and auth request - that is, the approved/denied device will re-sort to its correct position according to it's first login date. Feature Flag: `PM14938_BrowserExtensionLoginApproval`
55 lines
1.6 KiB
HTML
55 lines
1.6 KiB
HTML
<bit-table-scroll [dataSource]="tableDataSource" [rowSize]="64">
|
|
<!-- Table Header -->
|
|
<ng-container header>
|
|
<th
|
|
*ngFor="let column of columnConfig"
|
|
[class]="column.headerClass"
|
|
bitCell
|
|
[bitSortable]="column.sortable ? column.name : ''"
|
|
scope="col"
|
|
role="columnheader"
|
|
>
|
|
{{ column.title }}
|
|
</th>
|
|
</ng-container>
|
|
|
|
<!-- Table Rows -->
|
|
<ng-template bitRowDef let-device>
|
|
<!-- Column: Device Name -->
|
|
<td bitCell class="tw-flex tw-gap-2 tw-items-center tw-h-16">
|
|
<div class="tw-flex tw-items-center tw-justify-center tw-w-10">
|
|
<i [class]="device.icon" class="bwi-lg" aria-hidden="true"></i>
|
|
</div>
|
|
|
|
<div>
|
|
@if (device.pendingAuthRequest) {
|
|
<a bitLink href="#" appStopClick (click)="answerAuthRequest(device.pendingAuthRequest)">
|
|
{{ device.displayName }}
|
|
</a>
|
|
<br />
|
|
} @else {
|
|
<span>{{ device.displayName }}</span>
|
|
<div *ngIf="device.isTrusted" class="tw-text-sm tw-text-muted">
|
|
{{ "trusted" | i18n }}
|
|
</div>
|
|
}
|
|
</div>
|
|
</td>
|
|
|
|
<!-- Column: Login Status -->
|
|
<td bitCell>
|
|
<div class="tw-flex tw-gap-1">
|
|
<span *ngIf="device.isCurrentDevice" bitBadge variant="primary">
|
|
{{ "currentSession" | i18n }}
|
|
</span>
|
|
<span *ngIf="device.pendingAuthRequest" bitBadge variant="warning">
|
|
{{ "requestPending" | i18n }}
|
|
</span>
|
|
</div>
|
|
</td>
|
|
|
|
<!-- Column: First Login -->
|
|
<td bitCell>{{ device.firstLogin | date: "medium" }}</td>
|
|
</ng-template>
|
|
</bit-table-scroll>
|