UNPKG

@particle-network/connectkit

Version:
108 lines (105 loc) 3.19 kB
"use client"; import { init_useConnectors, useConnectors } from "./chunk-RCAM7PR5.mjs"; import { init_wallet, walletConfigs } from "./chunk-TYWUWWWK.mjs"; import { Injected_default, init_Injected } from "./chunk-5TAT3MVW.mjs"; import { __esm } from "./chunk-Y7A564BU.mjs"; // src/hooks/useWalletsProps.tsx import { jsx } from "react/jsx-runtime"; var useWalletsProps, useWalletsProps_default, useWalletProps; var init_useWalletsProps = __esm({ "src/hooks/useWalletsProps.tsx"() { "use strict"; init_Injected(); init_wallet(); init_useConnectors(); useWalletsProps = () => { const connectors = useConnectors(); const wallets = connectors.map((connector) => { const rawId = connector.id.replace("solana_", ""); const groupId = Object.keys(walletConfigs).find( (id) => id.split(",").map((i) => i.trim()).indexOf(rawId) !== -1 ); const props = { id: connector.id, name: connector.name ?? connector.id ?? connector.type, icon: /* @__PURE__ */ jsx("img", { src: connector.icon, alt: connector.name, width: "100%", height: "100%" }), connector, iconShape: "squircle", isInstalled: connector.isInstalled?.(), getConnector: () => { return connector; } }; if (groupId) { const wallet = walletConfigs[groupId]; return { ...props, ...wallet, groupId }; } else { if (!connector.icon) { props.icon = /* @__PURE__ */ jsx(Injected_default, {}); } } return props; }); const result = wallets.filter( (wallet, index, self) => self.findIndex((w) => w.id === wallet.id && w.connector.chainType === wallet.connector.chainType) === index ).filter((wallet, index, self) => { if (wallet.connector.chainType === "solana") { return true; } const groupId = wallet.groupId; if (groupId && groupId.includes(",")) { const isMipd = wallet.connector.id.includes("."); if (isMipd) { return true; } const mipdIds = groupId.split(",").map((id) => id.trim()).filter((id) => id.includes(".")); const hasMipd = self.find((w) => mipdIds.includes(w.connector.id)); return Boolean(!hasMipd); } return true; }).sort((a, b) => { if (a.isInstalled && !b.isInstalled) return -1; if (!a.isInstalled && b.isInstalled) return 1; return 0; }).sort((a, b) => { if (a.id === "walletConnect") return 1; if (b.id === "walletConnect") return -1; return 0; }); return result; }; useWalletsProps_default = useWalletsProps; useWalletProps = (id) => { const wallets = useWalletsProps(); const wallet = wallets.find((c) => c.id === id); if (!wallet) return null; return wallet; }; } }); export { useWalletsProps_default, useWalletProps, init_useWalletsProps }; //# sourceMappingURL=chunk-3L3TDB2A.mjs.map