wallet-connect-web-examples/advanced/wallets/react-wallet-auth/src/pages/pairings.tsx
Glitch deb123f283
restructure (#345)
* restructure

* udpate readme links
2023-12-13 15:36:25 -03:00

40 lines
1.2 KiB
TypeScript

import PageHeader from '@/components/PageHeader'
import PairingCard from '@/components/PairingCard'
import { authClient } from '@/utils/WalletConnectUtil'
import { Text } from '@nextui-org/react'
import { getSdkError } from '@walletconnect/utils'
import { Fragment, useState } from 'react'
export default function PairingsPage() {
const [pairings, setPairings] = useState(authClient.core.pairing.getPairings())
async function onDelete(topic: string) {
// await authClient.disconnect({ topic, reason: getSdkError('USER_DISCONNECTED') })
const newPairings = pairings.filter(pairing => pairing.topic !== topic)
setPairings(newPairings)
}
return (
<Fragment>
<PageHeader title="Pairings" />
{pairings.length ? (
pairings.map(pairing => {
const { peerMetadata } = pairing
return (
<PairingCard
key={pairing.topic}
logo={peerMetadata?.icons[0]}
url={peerMetadata?.url}
name={peerMetadata?.name}
onDelete={() => onDelete(pairing.topic)}
/>
)
})
) : (
<Text css={{ opacity: '0.5', textAlign: 'center', marginTop: '$20' }}>No pairings</Text>
)}
</Fragment>
)
}