Sort profile refresh tokens by 'last used at' date (#4484) (#7199)

This commit is contained in:
Kyle Niewiada 2020-10-11 02:17:05 -04:00 committed by GitHub
parent cc0515c217
commit 934c227545
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -24,6 +24,18 @@ import {
import { haStyle } from "../../resources/styles"; import { haStyle } from "../../resources/styles";
import { HomeAssistant } from "../../types"; import { HomeAssistant } from "../../types";
const compareTokenLastUsedAt = (tokenA: RefreshToken, tokenB: RefreshToken) => {
const timeA = tokenA.last_used_at ? new Date(tokenA.last_used_at) : 0;
const timeB = tokenB.last_used_at ? new Date(tokenB.last_used_at) : 0;
if (timeA < timeB) {
return 1;
}
if (timeA > timeB) {
return -1;
}
return 0;
}
@customElement("ha-refresh-tokens-card") @customElement("ha-refresh-tokens-card")
class HaRefreshTokens extends LitElement { class HaRefreshTokens extends LitElement {
@property({ attribute: false }) public hass!: HomeAssistant; @property({ attribute: false }) public hass!: HomeAssistant;
@ -32,7 +44,7 @@ class HaRefreshTokens extends LitElement {
private _refreshTokens = memoizeOne( private _refreshTokens = memoizeOne(
(refreshTokens: RefreshToken[]): RefreshToken[] => (refreshTokens: RefreshToken[]): RefreshToken[] =>
refreshTokens?.filter((token) => token.type === "normal").reverse() refreshTokens?.filter((token) => token.type === "normal").sort(compareTokenLastUsedAt)
); );
protected render(): TemplateResult { protected render(): TemplateResult {