From a749abe7ed9820331f9c3c6e42ef3580616a62ec Mon Sep 17 00:00:00 2001 From: Samuel Andert Date: Tue, 29 Aug 2023 13:31:09 +0200 Subject: [PATCH] Fixed session UI --- src/lib/GoogleAuth.svelte | 82 +++++++++++++++++++++------------------ src/routes/+page.svelte | 4 -- 2 files changed, 45 insertions(+), 41 deletions(-) diff --git a/src/lib/GoogleAuth.svelte b/src/lib/GoogleAuth.svelte index 8976add..39c4b56 100644 --- a/src/lib/GoogleAuth.svelte +++ b/src/lib/GoogleAuth.svelte @@ -8,33 +8,44 @@ import Icon from "@iconify/svelte"; import { createLitSession } from "./createLitSession"; import { connectProvider } from "./setupLit"; + import Signer from "./Signer.svelte"; const redirectUri = "http://localhost:3000/"; let sessionSigs = null; - let litNodeClient, error, currentPKP, authMethod, provider; + let error, currentPKP, authMethod, provider; let status = "Initializing..."; let pkps: IRelayPKP[] = []; let view = "SIGN_IN"; - let sessionSigsObject; + let sessionStatuses; + let activeSession = null; + + let messageToSign = { user: "Sam", loggedIn: true }; onMount(async () => { - // litNodeClient = new LitNodeClient({ litNetwork: "serrano" }); - // await litNodeClient.connect(); - const sessionSigsLocalStorage = localStorage.getItem("google-signature"); - const currentPKPLocalStorage = localStorage.getItem("current-pkp"); - if (sessionSigsLocalStorage && currentPKPLocalStorage) { - sessionSigs = JSON.parse(sessionSigsLocalStorage); - currentPKP = JSON.parse(currentPKPLocalStorage); - } else { - initialize(); - } - if (sessionSigsLocalStorage) { - sessionSigsObject = JSON.parse(sessionSigsLocalStorage); - } + initialize(); }); $: if (sessionSigs) { + // Update sessionStatuses + sessionStatuses = Object.entries(sessionSigs).map(([node, data]) => { + const sessionKey = JSON.parse(data.signedMessage).sessionKey; + const expiration = new Date(JSON.parse(data.signedMessage).expiration); + const isExpired = expiration < new Date(); + return { + node, + sessionKey, + expiration: expiration.toISOString(), + isExpired, + }; + }); + + // Find an active session and store it in local storage + activeSession = sessionStatuses.find(({ isExpired }) => !isExpired); + if (activeSession) { + localStorage.setItem("google-session", JSON.stringify(activeSession)); + } + view = "READY"; } @@ -133,29 +144,26 @@

Your PKP Address:

{currentPKP.ethAddress}

- {/if} -
-

Status

-

{status}

-
- + {#each sessionStatuses as { node, sessionKey, expiration, isExpired }} +

+ {isExpired ? "🔴" : "🟢"} Node: {node}, Session Key: {sessionKey}, + Expiration: {expiration} +

+ {/each} + {/if} +
+

{status}

+
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 49a5b78..b80f101 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,9 +1,5 @@ -