diff options
Diffstat (limited to 'src/view/com/algos/AlgoItem.tsx')
-rw-r--r-- | src/view/com/algos/AlgoItem.tsx | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/view/com/algos/AlgoItem.tsx b/src/view/com/algos/AlgoItem.tsx index f7d320530..b52a7e00d 100644 --- a/src/view/com/algos/AlgoItem.tsx +++ b/src/view/com/algos/AlgoItem.tsx @@ -13,7 +13,7 @@ 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 {useNavigation} from '@react-navigation/native' +import {useFocusEffect, useNavigation} from '@react-navigation/native' import {NavigationProp} from 'lib/routes/types' import {useStores} from 'state/index' import {HeartIconSolid} from 'lib/icons' @@ -34,6 +34,11 @@ const AlgoItem = observer( const pal = usePalette('default') const navigation = useNavigation<NavigationProp>() + // TODO: this is pretty hacky, but it works for now + useFocusEffect(() => { + item.reload() + }) + return ( <TouchableOpacity accessibilityRole="button" @@ -78,14 +83,12 @@ const AlgoItem = observer( </View> <View> <Button - type="inverted" + type={item.isSaved ? 'default' : 'inverted'} onPress={() => { if (item.data.viewer?.saved) { - item.unsave() - store.me.savedFeeds.removeFeed(item.data.uri) + store.me.savedFeeds.unsave(item) } else { - item.save() - store.me.savedFeeds.addFeed(item) + store.me.savedFeeds.save(item) } }} label={item.data.viewer?.saved ? 'Unsave' : 'Save'} |