import { Show, createEffect, createMemo, createSignal } from 'solid-js' import './App.css' import { useWeb3Onboard } from './providers/onboard-provider/context' const getCircularReplacer = () => { const seen = new WeakSet() return (key: any, value: any) => { if (typeof value === 'object' && value !== null) { if (seen.has(value)) return '[Circular]' seen.add(value) } return value } } const textHighlighter = (object: any) => { const jsonString = JSON.stringify(object, getCircularReplacer(), 2) const htmlString = jsonString .replaceAll('&', '&') .replaceAll('<', '<') .replaceAll('>', '>') .replaceAll(/("[^"]*"):/g, '$1:') .replaceAll(/(": [^,]*)/g, '": $1') const styledString = `
${htmlString}`
return styledString
}
function SampleConnect() {
const {
wallets,
connectedWallet,
connectedChain,
connectWallet,
disconnectConnectedWallet
} = useWeb3Onboard()
const walletsString = createMemo(() =>
textHighlighter(wallets().map(w => w.label))
)
const connectedWalletString = createMemo(() =>
textHighlighter({
label: connectedWallet()?.label,
accounts: connectedWallet()?.accounts,
chains: connectedWallet()?.chains
})
)
const connectedChainString = createMemo(() =>
textHighlighter(connectedChain())
)
const [showCard, setShowCard] = createSignal(false);
createEffect(async () => {
const connectWallet = connectedWallet()
console.log('connectedWallet', connectWallet)
if (connectWallet !== null && connectWallet.accounts.length > 0) {
setShowCard(false)
} else {
setShowCard(true)
}
})
return (
<>