From 934c22754575be7804bcdc84ed86fc3c5e544e5e Mon Sep 17 00:00:00 2001 From: Kyle Niewiada Date: Sun, 11 Oct 2020 02:17:05 -0400 Subject: [PATCH] Sort profile refresh tokens by 'last used at' date (#4484) (#7199) --- src/panels/profile/ha-refresh-tokens-card.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/panels/profile/ha-refresh-tokens-card.ts b/src/panels/profile/ha-refresh-tokens-card.ts index 9ec6c23e12..ee8a48367f 100644 --- a/src/panels/profile/ha-refresh-tokens-card.ts +++ b/src/panels/profile/ha-refresh-tokens-card.ts @@ -24,6 +24,18 @@ import { import { haStyle } from "../../resources/styles"; 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") class HaRefreshTokens extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; @@ -32,7 +44,7 @@ class HaRefreshTokens extends LitElement { private _refreshTokens = memoizeOne( (refreshTokens: RefreshToken[]): RefreshToken[] => - refreshTokens?.filter((token) => token.type === "normal").reverse() + refreshTokens?.filter((token) => token.type === "normal").sort(compareTokenLastUsedAt) ); protected render(): TemplateResult {