diff --git a/front/packages/primitives/src/links.tsx b/front/packages/primitives/src/links.tsx index 46e0297f..fb1a65db 100644 --- a/front/packages/primitives/src/links.tsx +++ b/front/packages/primitives/src/links.tsx @@ -18,9 +18,17 @@ * along with Kyoo. If not, see . */ -import { ReactNode } from "react"; -import { Platform, TextProps } from "react-native"; -import { TextLink } from "solito/link"; +import { ComponentType, ReactNode } from "react"; +import { + Platform, + Pressable, + TextProps, + TouchableOpacity, + TouchableNativeFeedback, + View, + ViewProps, +} from "react-native"; +import { LinkCore, TextLink } from "solito/link"; import { useYoshiki } from "yoshiki/native"; export const A = ({ @@ -46,3 +54,27 @@ export const A = ({ ); }; + +export const Link = ({ href, children, ...props }: ViewProps & { href: string }) => { + return ( + ({ + web: View, + android: TouchableNativeFeedback, + ios: TouchableOpacity, + default: Pressable, + })} + componentProps={Platform.select({ + android: { useForeground: true }, + default: props, + })} + > + {Platform.select({ + android: {children}, + ios: {children}, + default: children, + })} + + ); +}; diff --git a/front/packages/ui/src/browse/grid.tsx b/front/packages/ui/src/browse/grid.tsx index d3ac4b9d..047a1382 100644 --- a/front/packages/ui/src/browse/grid.tsx +++ b/front/packages/ui/src/browse/grid.tsx @@ -18,8 +18,8 @@ * along with Kyoo. If not, see . */ -import { A, Skeleton, Poster, ts, P, SubP } from "@kyoo/primitives"; -import { Platform, View } from "react-native"; +import { Link, Skeleton, Poster, ts, P, SubP } from "@kyoo/primitives"; +import { Platform } from "react-native"; import { percent, px, Stylable, useYoshiki } from "yoshiki/native"; import { WithLoading } from "../fetch"; @@ -40,8 +40,8 @@ export const ItemGrid = ({ const { css } = useYoshiki(); return ( - )} - + ); };