* update deps * revert react dep updates * chore: update deps to beta.50 * fix: get dapp running again up to Client.connect() * save progress * feat(debug): sets up a debug peerClient as responder * refactor: remove more hardcoded example connect params * fix: gets `checkPersistedState` working again * fix: gets client.disconnect + effects working again * feat: integrates `session_update` handling with namespaces * fix: remove hardcoded `chains` * stash progress * Establish session * save progress - established session with example dapp * refactor: rewrite namespace helpers to handle `requiredNamespaces` (#23) * fix: re-enables restoring persisted session * refactor: remove debug peerClient code * fix: re-enables restoring persisted pairings * Save progress * fix: re-enables pairing modal, connecting from existing pairing * Update modals to handle new payloads * fix(types): fix Metadata typing * chore(deps): upgrade to beta.53 * refactor: adjusts event handler args for beta.53 `session_update` * stash * fix: adds missing keys for `DEFAULT_EIP155_EVENTS` enum * stash * chore: update comment for client.request typing FIXME * feat: integrate beta.54 * feat: integrate beta.55, removes FIXME comments for client.request types * chore: clean up unused import * fix: log session_ping event * fix: log incoming `session_event` * chore: upgrade client@2.0.0-beta.55 -> sign-client@2.0.0-beta.56 * chore: integrate beta.57 * New beta changes (#24) * smal lchange * fix types * Add package info * format empty methods / events * Update deps * adjust styles * attempt ios layout fix * Revert "attempt ios layout fix" This reverts commit f0176f2ef52f338980ee54e75a767b3d452733f2. * beta.54 * fix build * Update to beta 55 * Add todos * update wallet to beta 56 * Update mumbai rpc add logger * update to beta 57 * chore: adds note on beta.100 compatibility * plock * beta.58 * beta.100; Co-authored-by: Ilja <idaderko@gmail.com> Co-authored-by: Ben Kremer <ben@walletconnect.com> Co-authored-by: Ilja <IljaDaderko@users.noreply.github.com>
55 lines
1.4 KiB
TypeScript
55 lines
1.4 KiB
TypeScript
import PageHeader from '@/components/PageHeader'
|
|
import QrReader from '@/components/QrReader'
|
|
import { signClient } from '@/utils/WalletConnectUtil'
|
|
import { Button, Input, Loading, Text } from '@nextui-org/react'
|
|
import { Fragment, useState } from 'react'
|
|
|
|
export default function WalletConnectPage() {
|
|
const [uri, setUri] = useState('')
|
|
const [loading, setLoading] = useState(false)
|
|
|
|
async function onConnect(uri: string) {
|
|
try {
|
|
setLoading(true)
|
|
await signClient.pair({ uri })
|
|
} catch (err: unknown) {
|
|
alert(err)
|
|
} finally {
|
|
setUri('')
|
|
setLoading(false)
|
|
}
|
|
}
|
|
|
|
return (
|
|
<Fragment>
|
|
<PageHeader title="WalletConnect" />
|
|
|
|
<QrReader onConnect={onConnect} />
|
|
|
|
<Text size={13} css={{ textAlign: 'center', marginTop: '$10', marginBottom: '$10' }}>
|
|
or use walletconnect uri
|
|
</Text>
|
|
|
|
<Input
|
|
css={{ width: '100%' }}
|
|
bordered
|
|
aria-label="wc url connect input"
|
|
placeholder="e.g. wc:a281567bb3e4..."
|
|
onChange={e => setUri(e.target.value)}
|
|
value={uri}
|
|
contentRight={
|
|
<Button
|
|
size="xs"
|
|
disabled={!uri}
|
|
css={{ marginLeft: -60 }}
|
|
onClick={() => onConnect(uri)}
|
|
color="gradient"
|
|
>
|
|
{loading ? <Loading size="sm" /> : 'Connect'}
|
|
</Button>
|
|
}
|
|
/>
|
|
</Fragment>
|
|
)
|
|
}
|