diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-10-04 08:57:23 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-04 08:57:23 -0700 |
commit | b1a1bae02e021e509f678ba423a4d030166a02a9 (patch) | |
tree | 4143d3befce048701229111c6203e9493c225b73 /src/view/screens/Home.tsx | |
parent | a76fb78d532e436b6b84efd09d70088410a2bb20 (diff) | |
download | voidsky-b1a1bae02e021e509f678ba423a4d030166a02a9.tar.zst |
Onboarding & feed fixes (#1602)
* Fix: improve the 'end of feed' detection condition * Fix the feeds link on mobile in the empty state * Align the following empty state better on web * Dont autofocus the search input in the search tab * Fix the error boundary render * Add 'end of feed' CTA to following feed * Reduce the default feeds to discover now that we have feed-selection during onboarding * Fix case where loading spinner fails to stop rendering in bottom of feed * Fix: dont show loading spinner at footer of feed when refreshing * Fix: dont fire reminders during onboarding * Optimize adding feeds and update to mirror the api behaviors more closely * Use the lock in preferences to avoid clobbering in-flight updates * Refresh the feed after onboarding to ensure content is visible * Remove the now-incorrect comment * Tune copy
Diffstat (limited to 'src/view/screens/Home.tsx')
-rw-r--r-- | src/view/screens/Home.tsx | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx index e53d4a08e..8560ad445 100644 --- a/src/view/screens/Home.tsx +++ b/src/view/screens/Home.tsx @@ -13,6 +13,7 @@ import {withAuthRequired} from 'view/com/auth/withAuthRequired' import {TextLink} from 'view/com/util/Link' import {Feed} from '../com/posts/Feed' import {FollowingEmptyState} from 'view/com/posts/FollowingEmptyState' +import {FollowingEndOfFeed} from 'view/com/posts/FollowingEndOfFeed' import {CustomFeedEmptyState} from 'view/com/posts/CustomFeedEmptyState' import {LoadLatestBtn} from '../com/util/load-latest/LoadLatestBtn' import {FeedsTabBar} from '../com/pager/FeedsTabBar' @@ -110,6 +111,10 @@ export const HomeScreen = withAuthRequired( return <FollowingEmptyState /> }, []) + const renderFollowingEndOfFeed = React.useCallback(() => { + return <FollowingEndOfFeed /> + }, []) + const renderCustomFeedEmptyState = React.useCallback(() => { return <CustomFeedEmptyState /> }, []) @@ -127,6 +132,7 @@ export const HomeScreen = withAuthRequired( isPageFocused={selectedPage === 0} feed={store.me.mainFeed} renderEmptyState={renderFollowingEmptyState} + renderEndOfFeed={renderFollowingEndOfFeed} /> {customFeeds.map((f, index) => { return ( @@ -149,11 +155,13 @@ const FeedPage = observer(function FeedPageImpl({ isPageFocused, feed, renderEmptyState, + renderEndOfFeed, }: { testID?: string feed: PostsFeedModel isPageFocused: boolean renderEmptyState?: () => JSX.Element + renderEndOfFeed?: () => JSX.Element }) { const store = useStores() const pal = usePalette('default') @@ -307,6 +315,7 @@ const FeedPage = observer(function FeedPageImpl({ onScroll={onMainScroll} scrollEventThrottle={100} renderEmptyState={renderEmptyState} + renderEndOfFeed={renderEndOfFeed} ListHeaderComponent={ListHeaderComponent} headerOffset={headerOffset} /> |