From 91edfc7206746bb994a1fe395fe719422dfd6ffb Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Fri, 27 May 2022 15:18:00 +0300 Subject: [PATCH] Save update available date in session storage Signed-off-by: Alex Andreev --- .../app-update-warning/app-update-warning.ts | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/renderer/app-update-warning/app-update-warning.ts b/src/renderer/app-update-warning/app-update-warning.ts index d509c6db6d..aa479909e9 100644 --- a/src/renderer/app-update-warning/app-update-warning.ts +++ b/src/renderer/app-update-warning/app-update-warning.ts @@ -13,7 +13,7 @@ interface Dependencies { export class AppUpdateWarning extends Singleton { @observable warningLevel: "high" | "medium" | "light" | "" = ""; - @observable private updateAvailableDate: Date | null = null; + @observable private updateAvailableDate: Date | null = this.getDateFromSessionStorage(); private interval: NodeJS.Timeout | null = null; constructor(dependencies: Dependencies) { @@ -27,9 +27,28 @@ export class AppUpdateWarning extends Singleton { }); } + saveDateToSessionStorage() { + if (this.updateAvailableDate) { + window.sessionStorage.setItem("when-update-available", this.updateAvailableDate.toISOString()); + } + } + + getDateFromSessionStorage() { + const value = window.sessionStorage.getItem("when-update-available"); + + if (!value) { + return null; + } + + const date = new Date(value); + + return isNaN(date.getTime()) ? null : date; + } + setUpdateAvailableDate() { if (!this.updateAvailableDate) { this.updateAvailableDate = new Date(); + this.saveDateToSessionStorage(); } }