import analytics from '@components/analytics' import GracefullyImage from '@components/GracefullyImage' import openLink from '@components/openLink' import CustomText from '@components/Text' import { useNavigation } from '@react-navigation/native' import { StyleConstants } from '@utils/styles/constants' import { useTheme } from '@utils/styles/ThemeManager' import React from 'react' import { Pressable, StyleSheet, View } from 'react-native' export interface Props { card: Pick< Mastodon.Card, 'url' | 'image' | 'blurhash' | 'title' | 'description' > } const TimelineCard = React.memo(({ card }: Props) => { const { colors } = useTheme() const navigation = useNavigation() return ( { analytics('timeline_shared_card_press') await openLink(card.url, navigation) }} testID='base' > {card.image ? ( ) : null} {card.title} {card.description ? ( {card.description} ) : null} {card.url} ) }) export default TimelineCard