Files
OrionTV/components/ExternalLink.tsx
zimplexing 7e6095d2bb Update
2025-07-04 18:10:28 +08:00

25 lines
688 B
TypeScript

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