import { View, Text, Button, Card, XStack } from "tamagui"; import React from "react"; import { MultiTapPressable } from "@/components/ui/pressable"; import Icons from "@/components/ui/icons"; import OSIcons from "@/components/ui/os-icons"; type HostItemProps = { host: any; onMultiTap: () => void; onTap: () => void; onEdit?: (() => void) | null; }; const HostItem = ({ host, onMultiTap, onTap, onEdit }: HostItemProps) => { return ( <MultiTapPressable cursor="pointer" group numberOfTaps={2} onMultiTap={onMultiTap} onTap={onTap} > <Card bordered p="$4"> <XStack> <OSIcons name={host.os} size={18} mr="$2" mt="$1" fallback="desktop-classic" /> <View flex={1}> <Text>{host.label}</Text> <Text fontSize="$3" mt="$2"> {host.host} </Text> </View> {onEdit != null && ( <Button circular opacity={0} $sm={{ opacity: 1 }} $group-hover={{ opacity: 1 }} animation="quick" animateOnly={["opacity"]} onPress={(e) => { e.stopPropagation(); onEdit(); }} > <Icons name="pencil" size={16} /> </Button> )} </XStack> </Card> </MultiTapPressable> ); }; export default HostItem;