mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch '2011-default-pin-feed-on-add' of https://github.com/CooperEdmunds/social-app into CooperEdmunds-2011-default-pin-feed-on-add

+15 -3
+14 -3
src/view/com/feeds/FeedSourceCard.tsx
··· 17 17 import {msg} from '@lingui/macro' 18 18 import {useLingui} from '@lingui/react' 19 19 import { 20 + usePinFeedMutation, 20 21 UsePreferencesQueryResponse, 21 22 usePreferencesQuery, 22 23 useSaveFeedMutation, ··· 32 33 showDescription = false, 33 34 showLikes = false, 34 35 LoadingComponent, 36 + pinOnSave = false, 35 37 }: { 36 38 feedUri: string 37 39 style?: StyleProp<ViewStyle> ··· 39 41 showDescription?: boolean 40 42 showLikes?: boolean 41 43 LoadingComponent?: JSX.Element 44 + pinOnSave?: boolean 42 45 }) { 43 46 const {data: preferences} = usePreferencesQuery() 44 47 const {data: feed} = useFeedSourceInfoQuery({uri: feedUri}) ··· 59 62 showSaveBtn={showSaveBtn} 60 63 showDescription={showDescription} 61 64 showLikes={showLikes} 65 + pinOnSave={pinOnSave} 62 66 /> 63 67 ) 64 68 } ··· 70 74 showSaveBtn = false, 71 75 showDescription = false, 72 76 showLikes = false, 77 + pinOnSave = false, 73 78 }: { 74 79 feed: FeedSourceInfo 75 80 preferences: UsePreferencesQueryResponse ··· 77 82 showSaveBtn?: boolean 78 83 showDescription?: boolean 79 84 showLikes?: boolean 85 + pinOnSave?: boolean 80 86 }) { 81 87 const pal = usePalette('default') 82 88 const {_} = useLingui() ··· 87 93 useSaveFeedMutation() 88 94 const {isPending: isRemovePending, mutateAsync: removeFeed} = 89 95 useRemoveFeedMutation() 96 + const {isPending: isPinPending, mutateAsync: pinFeed} = usePinFeedMutation() 90 97 91 98 const isSaved = Boolean(preferences?.feeds?.saved?.includes(feed.uri)) 92 99 ··· 112 119 }) 113 120 } else { 114 121 try { 115 - await saveFeed({uri: feed.uri}) 122 + if (pinOnSave) { 123 + await pinFeed({uri: feed.uri}) 124 + } else { 125 + await saveFeed({uri: feed.uri}) 126 + } 116 127 Toast.show('Added to my feeds') 117 128 } catch (e) { 118 129 Toast.show('There was an issue contacting your server') 119 130 logger.error('Failed to save feed', {error: e}) 120 131 } 121 132 } 122 - }, [isSaved, openModal, feed, removeFeed, saveFeed, _]) 133 + }, [isSaved, openModal, feed, removeFeed, saveFeed, _, pinOnSave, pinFeed]) 123 134 124 135 if (!feed || !preferences) return null 125 136 ··· 159 170 {showSaveBtn && feed.type === 'feed' && ( 160 171 <View> 161 172 <Pressable 162 - disabled={isSavePending || isRemovePending} 173 + disabled={isSavePending || isPinPending || isRemovePending} 163 174 accessibilityRole="button" 164 175 accessibilityLabel={ 165 176 isSaved ? 'Remove from my feeds' : 'Add to my feeds'
+1
src/view/screens/Feeds.tsx
··· 437 437 showSaveBtn={hasSession} 438 438 showDescription 439 439 showLikes 440 + pinOnSave 440 441 /> 441 442 ) 442 443 } else if (item.type === 'popularFeedsNoResults') {