feat(wallet.svelte): integrate pkpWallet into state store

- Initialize pkpWallet with null value inside the component store.
- Update store's pkpWallet upon successful wallet connection.
- Reflect pkpWallet value reactively in the UI.

BREAKING CHANGE: The pkpWallet now resides in the component's store and should be accessed as $store.pkpWallet.
This commit is contained in:
Samuel Andert
2023-07-26 06:14:33 +02:00
parent a2fe8b136b
commit 858d21e7db
4 changed files with 19 additions and 18 deletions

View File

@ -3,20 +3,17 @@
import { connectWallet } from '$lib/services/wallet/wallet';
import { getComponentStore } from '$lib/stores/componentStores.ts';
// please abstract this.
export let id;
const store = getComponentStore(id);
export let pkpWallet = null;
onMount(async () => {
pkpWallet = await connectWallet($store.pkpPubKey, $store.rpcURL);
$store.pkpWallet = await connectWallet($store.pkpPubKey, $store.rpcURL);
});
</script>
PkpWallet
{#if pkpWallet}
{#if $store.pkpWallet}
<div class="mb-4 text-lg font-medium">
PKP Wallet: <span class="text-blue-600">{pkpWallet.address}</span>
PKP Wallet: <span class="text-blue-600">{$store.pkpWallet.address}</span>
</div>
{/if}