miniwallet 0.1.8 → 0.1.9

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.
Files changed (2) hide show
  1. package/dist/miniwallet.js +15 -46
  2. package/package.json +1 -1
@@ -83,7 +83,7 @@ function MiniWalletProvider({ children, chains = [] }) {
83
83
  const [selectedWalletId, setSelectedWalletId] = useState("");
84
84
  const [selectedChainId, setSelectedChainId] = useState(0);
85
85
  const [balanceValue, setBalanceValue] = useState("");
86
- const [connectingWallet, setConnectingWallet] = useState(null);
86
+ const [connectingWallet] = useState(null);
87
87
  const eip6963ProvidersRef = useRef({});
88
88
  const [providersVersion, setProvidersVersion] = useState(0);
89
89
  const chainsList = useMemo(() => {
@@ -107,14 +107,13 @@ function MiniWalletProvider({ children, chains = [] }) {
107
107
  }, [balanceValue, selectedChain]);
108
108
  const connect = useCallback(async (w) => {
109
109
  const { id } = w;
110
+ console.log("eip6963Providers: ", eip6963ProvidersRef.current);
111
+ const provider = eip6963ProvidersRef.current[id];
112
+ if (!provider || typeof provider.request !== "function") {
113
+ alert("请安装钱包");
114
+ return;
115
+ }
110
116
  try {
111
- console.log("eip6963Providers: ", eip6963ProvidersRef.current);
112
- const provider = eip6963ProvidersRef.current[id];
113
- if (!provider || typeof provider.request !== "function") {
114
- alert("请安装钱包");
115
- return;
116
- }
117
- setConnectingWallet(w);
118
117
  console.log("provider: ", provider);
119
118
  const accounts = await provider.request({ method: "eth_requestAccounts" });
120
119
  console.log("accounts: ", accounts);
@@ -124,7 +123,6 @@ function MiniWalletProvider({ children, chains = [] }) {
124
123
  setSelectedWalletId(id);
125
124
  setSelectedChainId(chainId);
126
125
  localStorage.setItem("miniwallet:lastWalletId", id);
127
- setConnectingWallet(null);
128
126
  } catch (error) {
129
127
  console.log("error: ", error);
130
128
  const e = error;
@@ -135,7 +133,6 @@ function MiniWalletProvider({ children, chains = [] }) {
135
133
  return;
136
134
  }
137
135
  alert(`Connect failed${errCode && `\n${errCode}`}${errMsg && `\n${errMsg}`}`);
138
- setConnectingWallet(null);
139
136
  }
140
137
  }, []);
141
138
  const disconnect = useCallback(async () => {
@@ -295,9 +292,8 @@ var disconnect_default = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalon
295
292
  //#endregion
296
293
  //#region src/MiniWalletButton.tsx
297
294
  function MiniWalletButton({ label = "Connect Wallet" }) {
298
- const { account, balance, isConnected, connectingWallet, selectedChain, wallet, switchChain, chains, connect, disconnect } = useMiniWallet();
295
+ const { account, balance, isConnected, selectedChain, wallet, switchChain, chains, connect, disconnect } = useMiniWallet();
299
296
  const [modalOpen, setModalOpen] = useState(false);
300
- const [isConnectCalled, setIsConnectCalled] = useState(false);
301
297
  const [accountModalOpen, setAccountModalOpen] = useState(false);
302
298
  const [copyLabel, setCopyLabel] = useState("复制地址");
303
299
  const accountText = useMemo(() => {
@@ -322,11 +318,8 @@ function MiniWalletButton({ label = "Connect Wallet" }) {
322
318
  }
323
319
  }, [account]);
324
320
  useEffect(() => {
325
- if (!connectingWallet) {
326
- setModalOpen(false);
327
- setAccountModalOpen(false);
328
- }
329
- }, [connectingWallet]);
321
+ if (isConnected) setModalOpen(false);
322
+ }, [isConnected]);
330
323
  return isConnected ? /* @__PURE__ */ jsxs("section", {
331
324
  className: "inline-flex items-center justify-center text-center",
332
325
  children: [
@@ -441,10 +434,7 @@ function MiniWalletButton({ label = "Connect Wallet" }) {
441
434
  type: "button",
442
435
  "aria-label": "Close",
443
436
  className: "cursor-pointer rounded-full p-1 hover:bg-gray-100",
444
- onClick: () => {
445
- setIsConnectCalled(false);
446
- closeModal();
447
- },
437
+ onClick: closeModal,
448
438
  children: /* @__PURE__ */ jsxs("svg", {
449
439
  xmlns: "http://www.w3.org/2000/svg",
450
440
  viewBox: "0 0 24 24",
@@ -455,32 +445,11 @@ function MiniWalletButton({ label = "Connect Wallet" }) {
455
445
  children: [/* @__PURE__ */ jsx("path", { d: "M18 6 6 18" }), /* @__PURE__ */ jsx("path", { d: "m6 6 12 12" })]
456
446
  })
457
447
  })]
458
- }), /* @__PURE__ */ jsxs("div", {
448
+ }), /* @__PURE__ */ jsx("div", {
459
449
  className: "relative w-full space-y-4",
460
- children: [isConnectCalled && connectingWallet && /* @__PURE__ */ jsxs("div", {
461
- className: "absolute inset-0 mb-0 flex flex-col items-center justify-center rounded-xl bg-[rgba(255,255,255,0.9)] text-black",
462
- children: [
463
- /* @__PURE__ */ jsxs("div", { children: [
464
- "正在连接",
465
- connectingWallet.name,
466
- "..."
467
- ] }),
468
- /* @__PURE__ */ jsx("div", {
469
- className: "my-1.5 text-xs",
470
- children: "请在扩展中确认连接"
471
- }),
472
- /* @__PURE__ */ jsx("img", {
473
- src: "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1783646544006'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='78324'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='32'%20height='32'%3e%3cpath%20d='M512%20907c-24.852%200-45-20.148-45-45s20.148-45%2045-45c168.446%200%20305-136.554%20305-305S680.446%20207%20512%20207%20207%20343.554%20207%20512c0%2024.852-20.148%2045-45%2045S117%20536.852%20117%20512c0-218.152%20176.848-395%20395-395S907%20293.848%20907%20512%20730.152%20907%20512%20907z'%20fill='%23444444'%20p-id='78325'%3e%3c/path%3e%3c/svg%3e",
474
- alt: "spin",
475
- className: "h-8 w-8 animate-[spin_2s_linear_infinite]"
476
- })
477
- ]
478
- }), WALLETS.map((w) => /* @__PURE__ */ jsxs("button", {
450
+ children: WALLETS.map((w) => /* @__PURE__ */ jsxs("button", {
479
451
  type: "button",
480
- onClick: () => {
481
- setIsConnectCalled(true);
482
- connect(w);
483
- },
452
+ onClick: () => connect(w),
484
453
  className: "flex w-full cursor-pointer items-center gap-2 rounded-xl border border-gray-300 px-4 py-2 hover:bg-gray-100",
485
454
  children: [/* @__PURE__ */ jsx("img", {
486
455
  src: w.icon,
@@ -497,7 +466,7 @@ function MiniWalletButton({ label = "Connect Wallet" }) {
497
466
  ]
498
467
  })]
499
468
  })]
500
- }, w.id))]
469
+ }, w.id))
501
470
  })]
502
471
  })
503
472
  })] });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "miniwallet",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "React wallet connect button with multi-wallet support via EIP-6963",
5
5
  "type": "module",
6
6
  "main": "./dist/miniwallet.js",