import React from 'react' import { StyleProp, StyleSheet, View, ViewStyle, TouchableOpacity, } from 'react-native' import {Text} from '../util/text/Text' import {usePalette} from 'lib/hooks/usePalette' import {colors, s} from 'lib/styles' import {UserAvatar} from '../util/UserAvatar' import {Button} from '../util/forms/Button' import {observer} from 'mobx-react-lite' import {AlgoItemModel} from 'state/models/feeds/algo/algo-item' import {useFocusEffect, useNavigation} from '@react-navigation/native' import {NavigationProp} from 'lib/routes/types' import {useStores} from 'state/index' import {HeartIconSolid} from 'lib/icons' const AlgoItem = observer( ({ item, style, showBottom = true, onLongPress, reloadOnFocus = false, }: { item: AlgoItemModel style?: StyleProp showBottom?: boolean onLongPress?: () => void reloadOnFocus?: boolean }) => { const store = useStores() const pal = usePalette('default') const navigation = useNavigation() // TODO: this is pretty hacky, but it works for now useFocusEffect(() => { if (reloadOnFocus) { item.reload() } }) return ( { navigation.navigate('CustomFeed', { name: item.data.displayName, rkey: item.data.uri, }) }} onLongPress={onLongPress} key={item.data.uri}> {item.data.displayName ?? 'Feed name'} {item.data.description ?? 'Feed description'} {showBottom ? ( {/* */} {item.data.likeCount && item.data.likeCount > 1 ? `Liked by ${item.data.likeCount} others` : 'Be the first to like this'}