import React from 'react' import {View} from 'react-native' import {observer} from 'mobx-react-lite' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {Text} from 'view/com/util/text/Text' import {RichText} from 'view/com/util/text/RichText' import {Button} from 'view/com/util/forms/Button' import {UserAvatar} from 'view/com/util/UserAvatar' import * as Toast from 'view/com/util/Toast' import {HeartIcon} from 'lib/icons' import {usePalette} from 'lib/hooks/usePalette' import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' import {sanitizeHandle} from 'lib/strings/handles' import {FeedSourceModel} from 'state/models/content/feed-source' export const RecommendedFeedsItem = observer(function RecommendedFeedsItemImpl({ item, }: { item: FeedSourceModel }) { const {isMobile} = useWebMediaQueries() const pal = usePalette('default') if (!item) return null const onToggle = async () => { if (item.isSaved) { try { await item.unsave() } catch (e) { Toast.show('There was an issue contacting your server') console.error('Failed to unsave feed', {e}) } } else { try { await item.pin() } catch (e) { Toast.show('There was an issue contacting your server') console.error('Failed to pin feed', {e}) } } } return ( {item.displayName} by {sanitizeHandle(item.creatorHandle, '@')} {item.descriptionRT ? ( ) : null} {item.likeCount || 0} ) })