Skip to content

Commit 694c02c

Browse files
committed
fix: useChains bug when one chain has connected
1 parent 54e271f commit 694c02c

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

packages/docs/pages/hooks/use-chains.mdx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,14 @@
1616
```jsx
1717
export default function () {
1818
const chains = useChains(['cosmoshub', 'osmosis', 'stargaze', 'juno', 'akash']);
19-
19+
const connected = Object.values(chains).every(chain => chain.isWalletConnected);
20+
const { connect, openView } = chains.cosmoshub;
21+
2022
// Notice: calling chains.chainName.connect() will connect to all 5 chains above.
2123

2224
return <div className="space-y-4">
23-
<Button onClick={() => chains.cosmoshub.connect() }>
24-
{ chains.cosmoshub.isWalletConnected ? 'Disconnect' : 'Connect' }
25+
<Button onClick={() => connected ? openView() : connect() }>
26+
{ connected ? 'Disconnect' : 'Connect' }
2527
</Button>
2628
<table className="table-fixed font-mono">
2729
<thead>

packages/example/pages/use-chains.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
1+
import Link from "next/link";
12
import { useChains } from "@cosmos-kit/react-lite";
23
import { Button } from "components/button";
34

45
export default function () {
56
const chains = useChains(['cosmoshub', 'osmosis', 'stargaze', 'juno', 'akash']);
6-
7-
return <div className="space-y-4">
7+
const connected = Object.values(chains).every(chain => chain.isWalletConnected);
8+
const { connect, openView } = chains.cosmoshub;
9+
10+
return <div className="space-y-4 mx-auto max-w-3xl">
811
<pre>
912
<code>const chains = useChains(['cosmoshub', 'osmosis', 'stargaze', 'juno', 'akash']);</code>
1013
</pre>
11-
<Button onClick={() => chains.cosmoshub.connect() }>
12-
{ chains.cosmoshub.isWalletConnected ? 'Disconnect' : 'Connect' }
14+
<Button onClick={() => connected ? openView() : connect() }>
15+
{ connected ? 'Disconnect' : 'Connect' }
1316
</Button>
1417
<table className="table-fixed font-mono">
1518
<thead>
@@ -41,5 +44,6 @@ export default function () {
4144
</tr>
4245
</tbody>
4346
</table>
47+
<p className="text-center"><Link href="/use-chain">See useChain</Link></p>
4448
</div>;
4549
}

packages/react-lite/src/hooks/useChains.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,9 @@ export function useChains(chainNames: ChainName[], sync = true) {
7575
assets: assetList,
7676
openView,
7777
closeView,
78-
connect: () => connect(void 0, sync),
78+
connect: () => connect(localStorage.getItem(
79+
'cosmos-kit@2:core//current-wallet'
80+
), sync),
7981
disconnect: () => disconnect(void 0, sync),
8082
getRpcEndpoint,
8183
getRestEndpoint,

0 commit comments

Comments
 (0)