Spaces:
Running
Running
import { Link } from 'expo-router'; | |
import { openBrowserAsync } from 'expo-web-browser'; | |
import { type ComponentProps } from 'react'; | |
import { Platform } from 'react-native'; | |
type Props = Omit<ComponentProps<typeof Link>, 'href'> & { href: string }; | |
export function ExternalLink({ href, ...rest }: Props) { | |
return ( | |
<Link | |
target="_blank" | |
{...rest} | |
href={href} | |
onPress={async (event) => { | |
if (Platform.OS !== 'web') { | |
// Prevent the default behavior of linking to the default browser on native. | |
event.preventDefault(); | |
// Open the link in an in-app browser. | |
await openBrowserAsync(href); | |
} | |
}} | |
/> | |
); | |
} | |