add missing removeFeed handler

This commit is contained in:
Eric Bailey
2023-10-31 14:15:10 -05:00
parent b84e160f92
commit 74ec8401f4
+20 -1
View File
@@ -11,6 +11,8 @@ import {
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
import {AtUri, AppBskyFeedGetFeed} from '@atproto/api'
import {useStores} from 'state/index'
import {Haptics} from 'lib/haptics'
import {toShareUrl} from 'lib/strings/url-helpers'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
import {useCustomFeed} from 'lib/hooks/useCustomFeed'
@@ -29,6 +31,7 @@ import {TextLink} from '../util/Link'
import {makeRecordUri} from 'lib/strings/url-helpers'
import {Button} from 'view/com/util/forms/Button'
import {CustomFeedContextMenu} from 'view/com/feeds/CustomFeedContextMenu'
import * as Toast from 'view/com/util/Toast'
const LOADING_ITEM = {_reactKey: '__loading__'}
const EMPTY_FEED_ITEM = {_reactKey: '__empty__'}
@@ -286,6 +289,7 @@ function FeedInnerHeader({
params: AppBskyFeedGetFeed.QueryParams
showContextMenu?: boolean
}) {
const store = useStores()
const pal = usePalette('default')
const {host, rkey} = new AtUri(params.feed)
const uri = makeRecordUri(host, 'app.bsky.feed.generator', rkey)
@@ -294,6 +298,20 @@ function FeedInnerHeader({
const {isDesktop} = useWebMediaQueries()
const shareUrl = toShareUrl(`/profile/${host}`)
const removeFeed = React.useCallback(async () => {
try {
Haptics.default()
if (feed?.isSaved) {
await feed?.unsave()
}
} catch (err) {
Toast.show(
'There was an an issue removing this feed. Please check your internet connection and try again.',
)
store.log.error('Failed to remove feed', {err})
}
}, [store, feed])
return (
<View
style={[
@@ -356,10 +374,11 @@ function FeedInnerHeader({
}}>
<Text style={{width: '100%'}}>{error.message}</Text>
{error.type === 'upstream' ? (
{error.type === 'upstream' && feed?.isSaved ? (
<Button
type="default-light"
style={{marginTop: 12}}
onPress={removeFeed}
accessibilityLabel="Remove from my feeds"
accessibilityHint="Un-pin and remove this feed from your home screen feeds.">
Remove from my feeds