123456789101112131415161718192021222324 |
- 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);
- }
- }}
- />
- );
- }
|