@sundaeswap/wallet-lite 0.0.42 → 0.0.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sundaeswap/wallet-lite",
3
- "version": "0.0.42",
3
+ "version": "0.0.43",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  useCallback,
3
+ useDeferredValue,
3
4
  useEffect,
4
5
  useMemo,
5
6
  useState,
6
- useTransition,
7
7
  } from "react";
8
8
 
9
9
  import { IHandle } from "@koralabs/adahandle-sdk";
@@ -18,10 +18,11 @@ export const useWalletHandles = <
18
18
  AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,
19
19
  >() => {
20
20
  const state = useWalletObserver<THandleMetadata<AssetMetadata>>();
21
- const [isPending, startTransition] = useTransition();
22
21
  const [handles, setHandles] = useState<
23
22
  TAssetAmountMap<THandleMetadata<AssetMetadata>>
24
23
  >(new WalletAssetMap());
24
+ const [isLoading, setIsLoading] = useState(true);
25
+ const deferredHandles = useDeferredValue(handles);
25
26
 
26
27
  const memoizedHandleDep = useMemo(
27
28
  () => [...state.balance.getHandles().keys()],
@@ -41,6 +42,7 @@ export const useWalletHandles = <
41
42
  }
42
43
 
43
44
  try {
45
+ setIsLoading(true);
44
46
  const {
45
47
  default: HandleClient,
46
48
  HandleClientContext,
@@ -84,6 +86,7 @@ export const useWalletHandles = <
84
86
  );
85
87
  });
86
88
 
89
+ setIsLoading(false);
87
90
  return walletHandles;
88
91
  } catch (e) {
89
92
  console.error(e);
@@ -94,29 +97,27 @@ export const useWalletHandles = <
94
97
  useEffect(() => {
95
98
  const fetchHandles = async () => {
96
99
  const newHandles = await syncHandles();
97
- startTransition(() => {
98
- setHandles((prevHandles) => {
99
- let handleMetadataChanged = false;
100
-
101
- if (newHandles.size !== prevHandles?.size) {
102
- handleMetadataChanged = true;
103
- } else {
104
- for (const [key, val] of newHandles) {
105
- if (
106
- !prevHandles.has(key) ||
107
- prevHandles.get(key)?.amount !== val?.amount
108
- ) {
109
- handleMetadataChanged = true;
110
- }
100
+ setHandles((prevHandles) => {
101
+ let handleMetadataChanged = false;
102
+
103
+ if (newHandles.size !== prevHandles?.size) {
104
+ handleMetadataChanged = true;
105
+ } else {
106
+ for (const [key, val] of newHandles) {
107
+ if (
108
+ !prevHandles.has(key) ||
109
+ prevHandles.get(key)?.amount !== val?.amount
110
+ ) {
111
+ handleMetadataChanged = true;
111
112
  }
112
113
  }
114
+ }
113
115
 
114
- if (!handleMetadataChanged) {
115
- return prevHandles;
116
- }
116
+ if (!handleMetadataChanged) {
117
+ return prevHandles;
118
+ }
117
119
 
118
- return newHandles;
119
- });
120
+ return newHandles;
120
121
  });
121
122
  };
122
123
 
@@ -124,7 +125,7 @@ export const useWalletHandles = <
124
125
  }, [memoizedHandleDep, syncHandles]);
125
126
 
126
127
  return {
127
- handles,
128
- loadingHandles: isPending,
128
+ handles: deferredHandles,
129
+ loadingHandles: isLoading,
129
130
  };
130
131
  };