Files
bun.sh/test/integration/expo-app/components/ExternalLink.tsx
Georgijs d9f7d053d5 fix peer hoisting (#11473)
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
Co-authored-by: Georgijs Vilums <=>
Co-authored-by: dylan-conway <dylan-conway@users.noreply.github.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2024-05-31 17:12:33 -07:00

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