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:
Adwait Gharpure 2024-04-03 11:36:46 +05:30 committed by Nabarun Gogoi
parent 703ea72c1f
commit 2e18397a95

View File

@ -34,6 +34,7 @@ const SignRequest = ({ route }: SignRequestProps) => {
const [message, setMessage] = useState<string>('');
const [network, setNetwork] = useState<string>('');
const [isLoading, setIsLoading] = useState(true);
const [isApproving, setIsApproving] = useState(false);
const navigation =
useNavigation<NativeStackNavigationProp<StackParamsList>>();
@ -129,7 +130,6 @@ const SignRequest = ({ route }: SignRequestProps) => {
}, [retrieveData, sanitizePath, route]);
const handleWalletConnectRequest = async () => {
setIsLoading(true);
const { requestEvent } = route.params || {};
if (!account) {
@ -149,7 +149,6 @@ const SignRequest = ({ route }: SignRequestProps) => {
const { topic } = requestEvent;
await web3wallet!.respondSessionRequest({ topic, response });
setIsLoading(false);
};
const handleIntent = async () => {
@ -167,25 +166,25 @@ const SignRequest = ({ route }: SignRequestProps) => {
};
const signMessageHandler = async () => {
setIsApproving(true);
if (route.params.requestEvent) {
await handleWalletConnectRequest();
} else {
await handleIntent();
}
setIsApproving(false);
navigation.navigate('Laconic');
};
const rejectRequestHandler = async () => {
if (route.params?.requestEvent) {
setIsLoading(true);
const response = rejectWalletConnectRequest(route.params?.requestEvent);
const { topic } = route.params?.requestEvent;
await web3wallet!.respondSessionRequest({
topic,
response,
});
setIsLoading(true);
}
navigation.navigate('Laconic');
};
@ -255,7 +254,10 @@ const SignRequest = ({ route }: SignRequestProps) => {
)}
</ScrollView>
<View style={styles.buttonContainer}>
<Button mode="contained" onPress={signMessageHandler}>
<Button
mode="contained"
onPress={signMessageHandler}
loading={isApproving}>
Yes
</Button>
<Button