Add hasPinnedCustomFeedOrList to usePinnedFeedsInfos hook

This commit is contained in:
Cooper Edmunds 2023-11-29 14:23:19 -05:00
parent 9fb2c29c67
commit ed391c346d
4 changed files with 12 additions and 5 deletions

View file

@ -246,13 +246,20 @@ const FOLLOWING_FEED_STUB: FeedSourceInfo = {
likeUri: '',
}
export function usePinnedFeedsInfos(): FeedSourceInfo[] {
export function usePinnedFeedsInfos(): {
feeds: FeedSourceInfo[]
hasPinnedCustomFeedOrList: boolean
} {
const queryClient = useQueryClient()
const [tabs, setTabs] = React.useState<FeedSourceInfo[]>([
FOLLOWING_FEED_STUB,
])
const {data: preferences} = usePreferencesQuery()
const hasPinnedCustomFeedOrList = React.useMemo<boolean>(() => {
return tabs.some(tab => tab !== FOLLOWING_FEED_STUB)
}, [tabs])
React.useEffect(() => {
if (!preferences?.feeds?.pinned) return
const uris = preferences.feeds.pinned
@ -300,5 +307,5 @@ export function usePinnedFeedsInfos(): FeedSourceInfo[] {
fetchFeedInfo()
}, [queryClient, setTabs, preferences?.feeds?.pinned])
return tabs
return {feeds: tabs, hasPinnedCustomFeedOrList}
}