forked from cerc-io/laconic-wallet
Navigate to homescreen on approving sign request (#75)
* Navigate to homescreen on approving sign request * Add spinner to button on approve --------- Co-authored-by: Adw8 <adwait@deepstacksoft.com>
This commit is contained in:
parent
703ea72c1f
commit
2e18397a95
@ -34,6 +34,7 @@ const SignRequest = ({ route }: SignRequestProps) => {
|
|||||||
const [message, setMessage] = useState<string>('');
|
const [message, setMessage] = useState<string>('');
|
||||||
const [network, setNetwork] = useState<string>('');
|
const [network, setNetwork] = useState<string>('');
|
||||||
const [isLoading, setIsLoading] = useState(true);
|
const [isLoading, setIsLoading] = useState(true);
|
||||||
|
const [isApproving, setIsApproving] = useState(false);
|
||||||
|
|
||||||
const navigation =
|
const navigation =
|
||||||
useNavigation<NativeStackNavigationProp<StackParamsList>>();
|
useNavigation<NativeStackNavigationProp<StackParamsList>>();
|
||||||
@ -129,7 +130,6 @@ const SignRequest = ({ route }: SignRequestProps) => {
|
|||||||
}, [retrieveData, sanitizePath, route]);
|
}, [retrieveData, sanitizePath, route]);
|
||||||
|
|
||||||
const handleWalletConnectRequest = async () => {
|
const handleWalletConnectRequest = async () => {
|
||||||
setIsLoading(true);
|
|
||||||
const { requestEvent } = route.params || {};
|
const { requestEvent } = route.params || {};
|
||||||
|
|
||||||
if (!account) {
|
if (!account) {
|
||||||
@ -149,7 +149,6 @@ const SignRequest = ({ route }: SignRequestProps) => {
|
|||||||
|
|
||||||
const { topic } = requestEvent;
|
const { topic } = requestEvent;
|
||||||
await web3wallet!.respondSessionRequest({ topic, response });
|
await web3wallet!.respondSessionRequest({ topic, response });
|
||||||
setIsLoading(false);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleIntent = async () => {
|
const handleIntent = async () => {
|
||||||
@ -167,25 +166,25 @@ const SignRequest = ({ route }: SignRequestProps) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const signMessageHandler = async () => {
|
const signMessageHandler = async () => {
|
||||||
|
setIsApproving(true);
|
||||||
if (route.params.requestEvent) {
|
if (route.params.requestEvent) {
|
||||||
await handleWalletConnectRequest();
|
await handleWalletConnectRequest();
|
||||||
} else {
|
} else {
|
||||||
await handleIntent();
|
await handleIntent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setIsApproving(false);
|
||||||
navigation.navigate('Laconic');
|
navigation.navigate('Laconic');
|
||||||
};
|
};
|
||||||
|
|
||||||
const rejectRequestHandler = async () => {
|
const rejectRequestHandler = async () => {
|
||||||
if (route.params?.requestEvent) {
|
if (route.params?.requestEvent) {
|
||||||
setIsLoading(true);
|
|
||||||
const response = rejectWalletConnectRequest(route.params?.requestEvent);
|
const response = rejectWalletConnectRequest(route.params?.requestEvent);
|
||||||
const { topic } = route.params?.requestEvent;
|
const { topic } = route.params?.requestEvent;
|
||||||
await web3wallet!.respondSessionRequest({
|
await web3wallet!.respondSessionRequest({
|
||||||
topic,
|
topic,
|
||||||
response,
|
response,
|
||||||
});
|
});
|
||||||
setIsLoading(true);
|
|
||||||
}
|
}
|
||||||
navigation.navigate('Laconic');
|
navigation.navigate('Laconic');
|
||||||
};
|
};
|
||||||
@ -255,7 +254,10 @@ const SignRequest = ({ route }: SignRequestProps) => {
|
|||||||
)}
|
)}
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
<View style={styles.buttonContainer}>
|
<View style={styles.buttonContainer}>
|
||||||
<Button mode="contained" onPress={signMessageHandler}>
|
<Button
|
||||||
|
mode="contained"
|
||||||
|
onPress={signMessageHandler}
|
||||||
|
loading={isApproving}>
|
||||||
Yes
|
Yes
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
|
Loading…
Reference in New Issue
Block a user