|
3 | 3 | <!-- svelte-ignore a11y-click-events-have-key-events --> |
4 | 4 | <!-- svelte-ignore a11y-no-noninteractive-element-interactions --> |
5 | 5 | <script lang="ts"> |
| 6 | + import { getAccount, watchAccount } from "@wagmi/core"; |
| 7 | + import type { Config as WagmiConfig } from "wagmi"; |
6 | 8 | // Components |
7 | 9 | import Copy from "@requestnetwork/shared-components/copy.svelte"; |
8 | 10 | import Dropdown from "@requestnetwork/shared-components/dropdown.svelte"; |
|
20 | 22 | import Download from "@requestnetwork/shared-icons/download.svelte"; |
21 | 23 | import Search from "@requestnetwork/shared-icons/search.svelte"; |
22 | 24 | // Types |
| 25 | + import type { GetAccountReturnType } from "@wagmi/core"; |
| 26 | + import { Types } from "@requestnetwork/request-client.js"; |
23 | 27 | import type { IConfig } from "@requestnetwork/shared-types"; |
| 28 | + import type { RequestNetwork } from "@requestnetwork/request-client.js"; |
24 | 29 | // Utils |
25 | 30 | import { config as defaultConfig } from "@requestnetwork/shared-utils/config"; |
26 | 31 | import { initializeCurrencyManager } from "@requestnetwork/shared-utils/initCurrencyManager"; |
27 | 32 | import { exportToPDF } from "@requestnetwork/shared-utils/generateInvoice"; |
28 | 33 | import { getCurrencyFromManager } from "@requestnetwork/shared-utils/getCurrency"; |
29 | | -
|
30 | 34 | import { CurrencyManager } from "@requestnetwork/currency"; |
31 | | - import type { RequestNetwork } from "@requestnetwork/request-client.js"; |
32 | | - import { Types } from "@requestnetwork/request-client.js"; |
33 | 35 | import { onMount } from "svelte"; |
34 | 36 | import { formatUnits } from "viem"; |
35 | 37 | import { capitalize, debounce, formatAddress } from "../utils"; |
36 | 38 | import { Drawer, InvoiceView } from "./dashboard"; |
37 | | - import { getAccount, getClient } from "@wagmi/core"; |
38 | | - import type { Config as WagmiConfig } from "wagmi"; |
39 | 39 |
|
40 | 40 | export let config: IConfig; |
41 | 41 | export let wagmiConfig: WagmiConfig; |
|
46 | 46 | let activeConfig = config ? config : defaultConfig; |
47 | 47 | let mainColor = activeConfig.colors.main; |
48 | 48 | let secondaryColor = activeConfig.colors.secondary; |
49 | | - let account: any; |
| 49 | + let account: GetAccountReturnType; |
50 | 50 |
|
51 | 51 | let loading = false; |
52 | 52 | let searchQuery = ""; |
|
82 | 82 | } |
83 | 83 | } |
84 | 84 |
|
| 85 | + $: { |
| 86 | + if (account) { |
| 87 | + watchAccount(wagmiConfig, { |
| 88 | + onChange(data) { |
| 89 | + if (data.address !== account?.address) { |
| 90 | + account = data; |
| 91 | + getRequests(); |
| 92 | + } |
| 93 | + }, |
| 94 | + }); |
| 95 | + } |
| 96 | + } |
| 97 | +
|
85 | 98 | $: { |
86 | 99 | signer = account?.address; |
87 | 100 | } |
|
0 commit comments