From 56bff5e980c6b0fe282bb9f8c132a22a467ae104 Mon Sep 17 00:00:00 2001 From: rodrigopavezi Date: Wed, 18 Dec 2024 02:08:22 -0300 Subject: [PATCH 1/2] feat: Add modal for Lit Protocol signature requirement in invoice dashboard --- .../src/lib/view-requests.svelte | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/packages/invoice-dashboard/src/lib/view-requests.svelte b/packages/invoice-dashboard/src/lib/view-requests.svelte index 52e8d2fa..87f5757a 100644 --- a/packages/invoice-dashboard/src/lib/view-requests.svelte +++ b/packages/invoice-dashboard/src/lib/view-requests.svelte @@ -16,6 +16,7 @@ import TxType from "@requestnetwork/shared-components/tx-type.svelte"; import DashboardSkeleton from "@requestnetwork/shared-components/dashboard-skeleton.svelte"; import { toast } from "svelte-sonner"; + import Modal from "@requestnetwork/shared-components/modal.svelte"; // Icons import ChevronDown from "@requestnetwork/shared-icons/chevron-down.svelte"; import ChevronLeft from "@requestnetwork/shared-icons/chevron-left.svelte"; @@ -90,6 +91,7 @@ }) | undefined; let currencyManager: CurrencyManager; + let loadSessionSignatures = false; let columns = { issuedAt: false, @@ -383,7 +385,7 @@ activeRequest = undefined; }; - const loadRequests = async (sliderValue: string, currentAccount: GetAccountReturnType, currentRequestNetwork: RequestNetwork | undefined | null) => { + const loadRequests = async (sliderValue: string, currentAccount: GetAccountReturnType | undefined, currentRequestNetwork: RequestNetwork | undefined | null) => { if (!currentAccount?.address || !currentRequestNetwork || !cipherProvider) return; loading = true; @@ -391,6 +393,7 @@ try { const signer = await getEthersSigner(wagmiConfig); if (signer && currentAccount?.address) { + loadSessionSignatures = localStorage?.getItem("lit-wallet-sig") === null; await cipherProvider?.getSessionSignatures(signer, currentAccount.address, window.location.host, "Sign in to Lit Protocol through Request Network"); cipherProvider?.enableDecryption(true); localStorage?.setItem("isDecryptionEnabled", JSON.stringify(true)); @@ -400,6 +403,8 @@ toast.error("Failed to enable decryption."); loading = false; return; + } finally { + loadSessionSignatures = false; } } else { cipherProvider?.enableDecryption(false); @@ -415,6 +420,20 @@ class="main-table" style="--mainColor: {mainColor}; --secondaryColor: {secondaryColor}; " > + {#if loadSessionSignatures} + + + + {/if}