import type { ReactElement } from "react"; import { Text, View, type PressableStateCallbackType } from "react-native"; import { StyleSheet } from "react-native-unistyles"; import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip"; import type { ResolvedPin } from "@/workspace-pins/launch"; function pinButtonStyle({ hovered, pressed }: PressableStateCallbackType & { hovered?: boolean }) { return [styles.pinButton, (Boolean(hovered) || pressed) && styles.pinButtonHovered]; } interface PinnedTargetsRowProps { launchers: ResolvedPin[]; testIdPrefix: string; } export function PinnedTargetsRow({ launchers, testIdPrefix }: PinnedTargetsRowProps): ReactElement { return ( {launchers.map((launcher) => ( {launcher.icon} {launcher.label} ))} ); } const styles = StyleSheet.create((theme) => ({ row: { flexDirection: "row", alignItems: "center", }, pinButton: { width: 22, height: 22, borderRadius: theme.borderRadius.md, alignItems: "center", justifyContent: "center", }, pinButtonHovered: { backgroundColor: theme.colors.surface2, }, tooltipText: { color: theme.colors.foreground, fontSize: theme.fontSize.sm, }, }));