WalletConnect: auto-approve request on paste

This commit is contained in:
apoorvlathey
2023-06-12 00:08:12 +05:30
parent 26ca4df508
commit 6d349f434b
2 changed files with 31 additions and 3 deletions

View File

@@ -1,3 +1,4 @@
import { useState, useEffect } from "react";
import {
FormControl,
HStack,
@@ -14,9 +15,25 @@ interface URIInputParams {
setUri: (value: string) => void;
bg: string;
isConnected: boolean;
initWalletConnect: () => void;
}
function URIInput({ uri, setUri, bg, isConnected }: URIInputParams) {
function URIInput({
uri,
setUri,
bg,
isConnected,
initWalletConnect,
}: URIInputParams) {
const [pasted, setPasted] = useState(false);
useEffect(() => {
if (pasted) {
initWalletConnect();
setPasted(false);
}
}, [uri]);
return (
<FormControl my={4}>
<HStack>
@@ -46,6 +63,11 @@ function URIInput({ uri, setUri, bg, isConnected }: URIInputParams) {
autoComplete="off"
value={uri}
onChange={(e) => setUri(e.target.value)}
onPaste={(e) => {
e.preventDefault();
setPasted(true);
setUri(e.clipboardData.getData("text"));
}}
bg={bg}
isDisabled={isConnected}
/>

View File

@@ -35,9 +35,15 @@ function WalletConnectTab({
}: WalletConnectTabParams) {
return (
<>
<URIInput uri={uri} setUri={setUri} bg={bg} isConnected={isConnected} />
<URIInput
uri={uri}
setUri={setUri}
bg={bg}
isConnected={isConnected}
initWalletConnect={initWalletConnect}
/>
<Center>
<Button onClick={initWalletConnect} isDisabled={isConnected}>
<Button onClick={() => initWalletConnect()} isDisabled={isConnected}>
Connect
</Button>
</Center>