@particle-network/connectkit
Version:
114 lines (110 loc) • 3.35 kB
JavaScript
"use client";
import {
Icons_default,
init_Icons
} from "./chunk-FU5MHCAN.mjs";
import {
init_useLastConnectorId,
useLastConnectorId
} from "./chunk-XV4TVGGP.mjs";
import {
init_useWalletsProps,
useWalletsProps_default
} from "./chunk-3L3TDB2A.mjs";
import {
init_context,
init_useAccount,
init_useConnections,
useAccount,
useConnections,
useContext
} from "./chunk-TYWUWWWK.mjs";
import {
__esm
} from "./chunk-Y7A564BU.mjs";
// src/hooks/useChains.ts
import { useMemo } from "react";
var useChains;
var init_useChains = __esm({
"src/hooks/useChains.ts"() {
"use strict";
init_context();
init_useAccount();
useChains = () => {
const { config } = useContext();
const { connector } = useAccount();
const chains = useMemo(() => {
const walletConnectorType = connector?.walletConnectorType;
if (walletConnectorType) {
const walletConnector = config.getWalletConnector(walletConnectorType);
if (walletConnector) {
return walletConnector.chains;
}
}
return config.chains;
}, [connector, config]);
return chains;
};
}
});
// src/hooks/useWalletConnections.tsx
import { useMemo as useMemo2 } from "react";
import { jsx } from "react/jsx-runtime";
var useWalletConnections;
var init_useWalletConnections = __esm({
"src/hooks/useWalletConnections.tsx"() {
"use strict";
init_Icons();
init_context();
init_useConnections();
init_useLastConnectorId();
init_useWalletsProps();
useWalletConnections = () => {
const connections = useConnections();
const wallets = useWalletsProps_default();
const { config } = useContext();
const { lastConnectorId } = useLastConnectorId();
const walletConnections = useMemo2(() => {
const props = [];
for (const connection of connections) {
const id = connection.connector.id;
const wallet = wallets.find(
(wallet2) => wallet2.id === id || wallet2.groupId?.split(",").map((item) => item.trim()).includes(id)
);
if (!wallet) {
continue;
}
if (connection.connector.type === "particleAuth") {
const authType = config.getWalletConnector("particleAuth")?.auth.getLatestAuthType();
if (authType) {
wallet.icon = /* @__PURE__ */ jsx(Icons_default, { authType });
}
} else {
if (wallet.connector.id === "walletConnect" && lastConnectorId && lastConnectorId !== wallet.connector.id) {
const lastWallet = wallets.find(
(wallet2) => wallet2.id === lastConnectorId || wallet2.groupId?.split(",").map((item) => item.trim()).includes(lastConnectorId)
);
if (lastWallet?.icon) {
wallet.icon = lastWallet.icon;
}
}
}
props.push({
accounts: connection.accounts,
chainId: connection.chainId,
walletProps: wallet
});
}
return props;
}, [connections, wallets, config, lastConnectorId]);
return walletConnections;
};
}
});
export {
useChains,
init_useChains,
useWalletConnections,
init_useWalletConnections
};
//# sourceMappingURL=chunk-4KLCPKCQ.mjs.map