Skip to content

Commit 6e378d2

Browse files
committed
fix: added watcher for wallets, added types
1 parent 772141c commit 6e378d2

File tree

3 files changed

+33
-20
lines changed

3 files changed

+33
-20
lines changed

packages/create-invoice-form/src/lib/create-invoice-form.svelte

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,30 @@
11
<svelte:options customElement="create-invoice-form" />
22

33
<script lang="ts">
4+
import { getAccount } from "@wagmi/core";
5+
import { Config as WagmiConfig } from "wagmi";
46
// Types
5-
import { APP_STATUS } from "@requestnetwork/shared-types/enums";
7+
import { type GetAccountReturnType } from "@wagmi/core";
68
import type { IConfig } from "@requestnetwork/shared-types";
7-
9+
import { APP_STATUS } from "@requestnetwork/shared-types/enums";
10+
import type { RequestNetwork } from "@requestnetwork/request-client.js";
811
// Utils
9-
import { calculateInvoiceTotals } from "@requestnetwork/shared-utils/invoiceTotals";
12+
import { getInitialFormData, prepareRequestParams } from "./utils";
1013
import { config as defaultConfig } from "@requestnetwork/shared-utils/config";
14+
import { calculateInvoiceTotals } from "@requestnetwork/shared-utils/invoiceTotals";
1115
import { initializeCurrencyManager } from "@requestnetwork/shared-utils/initCurrencyManager";
12-
1316
// Components
17+
import { InvoiceForm, InvoiceView } from "./invoice";
1418
import Button from "@requestnetwork/shared-components/button.svelte";
1519
import Status from "@requestnetwork/shared-components/status.svelte";
1620
import Modal from "@requestnetwork/shared-components/modal.svelte";
1721
18-
import { InvoiceForm, InvoiceView } from "./invoice";
19-
import { getInitialFormData, prepareRequestParams } from "./utils";
20-
import type { RequestNetwork } from "@requestnetwork/request-client.js";
21-
import { getAccount } from "@wagmi/core";
22-
2322
export let config: IConfig;
24-
export let wagmiConfig: any;
23+
export let wagmiConfig: WagmiConfig;
2524
export let requestNetwork: RequestNetwork | null | undefined;
2625
export let currencies: any;
2726
28-
let account: any;
27+
let account: GetAccountReturnType;
2928
let isTimeout = false;
3029
let activeConfig = config ? config : defaultConfig;
3130
let mainColor = activeConfig.colors.main;

packages/invoice-dashboard/src/lib/dashboard/invoice-view.svelte

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<script lang="ts">
2-
import { getPaymentNetworkExtension } from "@requestnetwork/payment-detection";
2+
import { toast } from "svelte-sonner";
3+
import type { GetAccountReturnType } from "@wagmi/core";
34
import {
45
approveErc20,
56
hasErc20Approval,
@@ -9,7 +10,7 @@
910
Types,
1011
type RequestNetwork,
1112
} from "@requestnetwork/request-client.js";
12-
import { toast } from "svelte-sonner";
13+
import { getPaymentNetworkExtension } from "@requestnetwork/payment-detection";
1314
// Components
1415
import Accordion from "@requestnetwork/shared-components/accordion.svelte";
1516
import Button from "@requestnetwork/shared-components/button.svelte";
@@ -27,7 +28,7 @@
2728
import { getEthersSigner } from "../../utils";
2829
2930
export let config;
30-
export let account: any;
31+
export let account: GetAccountReturnType;
3132
export let requestNetwork: RequestNetwork | null | undefined;
3233
export let request: Types.IRequestDataWithEvents;
3334
export let currencyManager: any;

packages/invoice-dashboard/src/lib/view-requests.svelte

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
<!-- svelte-ignore a11y-click-events-have-key-events -->
44
<!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
55
<script lang="ts">
6+
import { getAccount, watchAccount } from "@wagmi/core";
7+
import type { Config as WagmiConfig } from "wagmi";
68
// Components
79
import Copy from "@requestnetwork/shared-components/copy.svelte";
810
import Dropdown from "@requestnetwork/shared-components/dropdown.svelte";
@@ -20,22 +22,20 @@
2022
import Download from "@requestnetwork/shared-icons/download.svelte";
2123
import Search from "@requestnetwork/shared-icons/search.svelte";
2224
// Types
25+
import type { GetAccountReturnType } from "@wagmi/core";
26+
import { Types } from "@requestnetwork/request-client.js";
2327
import type { IConfig } from "@requestnetwork/shared-types";
28+
import type { RequestNetwork } from "@requestnetwork/request-client.js";
2429
// Utils
2530
import { config as defaultConfig } from "@requestnetwork/shared-utils/config";
2631
import { initializeCurrencyManager } from "@requestnetwork/shared-utils/initCurrencyManager";
2732
import { exportToPDF } from "@requestnetwork/shared-utils/generateInvoice";
2833
import { getCurrencyFromManager } from "@requestnetwork/shared-utils/getCurrency";
29-
3034
import { CurrencyManager } from "@requestnetwork/currency";
31-
import type { RequestNetwork } from "@requestnetwork/request-client.js";
32-
import { Types } from "@requestnetwork/request-client.js";
3335
import { onMount } from "svelte";
3436
import { formatUnits } from "viem";
3537
import { capitalize, debounce, formatAddress } from "../utils";
3638
import { Drawer, InvoiceView } from "./dashboard";
37-
import { getAccount, getClient } from "@wagmi/core";
38-
import type { Config as WagmiConfig } from "wagmi";
3939
4040
export let config: IConfig;
4141
export let wagmiConfig: WagmiConfig;
@@ -46,7 +46,7 @@
4646
let activeConfig = config ? config : defaultConfig;
4747
let mainColor = activeConfig.colors.main;
4848
let secondaryColor = activeConfig.colors.secondary;
49-
let account: any;
49+
let account: GetAccountReturnType;
5050
5151
let loading = false;
5252
let searchQuery = "";
@@ -82,6 +82,19 @@
8282
}
8383
}
8484
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+
8598
$: {
8699
signer = account?.address;
87100
}

0 commit comments

Comments
 (0)