This commit is contained in:
Marcos Rodriguez Velez 2024-11-15 19:58:11 -04:00
parent e91a24da85
commit 84242c03ec
2 changed files with 23 additions and 19 deletions

View File

@ -24,19 +24,22 @@ const useHandoffListener = () => {
const handleUserActivity = useCallback(
(data: UserActivityData) => {
const { activityType, userInfo } = data;
if (activityType === HandOffActivityType.ReceiveOnchain) {
navigate('ReceiveDetailsRoot', {
screen: 'ReceiveDetails',
params: { address: userInfo.address },
});
} else if (activityType === HandOffActivityType.Xpub) {
navigate('WalletXpubRoot', {
screen: 'WalletXpub',
params: { xpub: userInfo.xpub },
});
} else {
console.debug(`Unhandled activity type: ${activityType}`);
try {
if (activityType === HandOffActivityType.ReceiveOnchain) {
navigate('ReceiveDetailsRoot', {
screen: 'ReceiveDetails',
params: { address: userInfo.address },
});
} else if (activityType === HandOffActivityType.Xpub) {
navigate('WalletXpubRoot', {
screen: 'WalletXpub',
params: { xpub: userInfo.xpub },
});
} else {
console.debug(`Unhandled activity type: ${activityType}`);
}
} catch (error) {
console.error('Error handling user activity:', error);
}
},
[navigate],
@ -45,14 +48,14 @@ const useHandoffListener = () => {
useEffect(() => {
if (!walletsInitialized || !isHandOffUseEnabled) return;
const activitySubscription = eventEmitter.addListener('onUserActivityOpen', handleUserActivity);
const activitySubscription = eventEmitter?.addListener('onUserActivityOpen', handleUserActivity);
EventEmitter.getMostRecentUserActivity?.()
.then(handleUserActivity)
.catch(() => console.debug('No userActivity object sent'));
return () => {
activitySubscription.remove();
activitySubscription?.remove();
};
}, [walletsInitialized, isHandOffUseEnabled, handleUserActivity]);
};

View File

@ -499,9 +499,10 @@ const WalletTransactions: React.FC<WalletTransactionsProps> = ({ route }) => {
)}
</FContainer>
{wallet?.chain === Chain.ONCHAIN && wallet.type !== MultisigHDWallet.type && wallet.getXpub && wallet.getXpub() ? (
<Button
onPress={() => navigation.navigate('WalletXpub', { walletID: wallet.getID(), xpub: wallet.getXpub() })}
title={loc.wallets.view_xpub}
<HandOffComponent
title={wallet.getLabel()}
type={HandOffActivityType.Xpub}
url={`https://www.blockonomics.co/#/search?q=${wallet.getXpub()}`}
/>
) : null}
</View>