stop calling window.open multiple times

This commit is contained in:
btzr-io 2021-08-08 00:48:03 -05:00
parent 47f7d0c7e3
commit 6e2bab4175

View file

@ -18,18 +18,29 @@ const OpenInDesktop = (props: Props) => {
const { match } = props;
const { params } = match;
const [title, setTitle] = React.useState('Loading...');
const [claimUrl, setClaimUrl] = React.useState(null);
// Get claim url
React.useEffect(() => {
if (params) {
try {
const url = buildURI(params);
setTimeout(() => {
setTitle('Ready!');
window.open(url, '_top');
}, 1500);
if (url && claimUrl !== url) {
setClaimUrl(url);
}
} catch {}
}
}, [params]);
}, [params, claimUrl, setClaimUrl]);
// Open url on external application
React.useEffect(() => {
if (claimUrl) {
setTimeout(() => {
setTitle('Ready!');
window.open(claimUrl, '_top');
}, 1500);
}
}, [claimUrl]);
return (
<Page>