diff options
Diffstat (limited to 'src/view/screens')
-rw-r--r-- | src/view/screens/Home.tsx | 8 | ||||
-rw-r--r-- | src/view/screens/SavedFeeds.tsx | 50 |
2 files changed, 45 insertions, 13 deletions
diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx index bd800590d..35f7b826b 100644 --- a/src/view/screens/Home.tsx +++ b/src/view/screens/Home.tsx @@ -16,7 +16,6 @@ import {LoadLatestBtn} from '../com/util/load-latest/LoadLatestBtn' import {FeedsTabBar} from '../com/pager/FeedsTabBar' import {Pager, PagerRef, RenderTabBarFnProps} from 'view/com/pager/Pager' import {FAB} from '../com/util/fab/FAB' -import {SavedFeeds} from 'view/com/feeds/SavedFeeds' import {useStores} from 'state/index' import {s} from 'lib/styles' import {useOnMainScroll} from 'lib/hooks/useOnMainScroll' @@ -24,7 +23,7 @@ import {useAnalytics} from 'lib/analytics' import {ComposeIcon2} from 'lib/icons' import {isDesktopWeb} from 'platform/detection' -const HEADER_OFFSET = isDesktopWeb ? 50 : 40 +const HEADER_OFFSET = isDesktopWeb ? 50 : 74 const POLL_FREQ = 30e3 // 30sec type Props = NativeStackScreenProps<HomeTabNavigatorParams, 'Home'> @@ -127,11 +126,6 @@ export const HomeScreen = withAuthRequired( /> ) })} - <SavedFeeds - key={String(2 + store.me.savedFeeds.pinned.length)} - headerOffset={HEADER_OFFSET} - isPageFocused={selectedPage === 2 + store.me.savedFeeds.pinned.length} - /> </Pager> ) }), diff --git a/src/view/screens/SavedFeeds.tsx b/src/view/screens/SavedFeeds.tsx index e305e6305..b3a48b427 100644 --- a/src/view/screens/SavedFeeds.tsx +++ b/src/view/screens/SavedFeeds.tsx @@ -29,6 +29,7 @@ import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {CustomFeedModel} from 'state/models/feeds/custom-feed' import * as Toast from 'view/com/util/Toast' import {Haptics} from 'lib/haptics' +import {Link, TextLink} from 'view/com/util/Link' type Props = NativeStackScreenProps<CommonNavigatorParams, 'SavedFeeds'> @@ -65,11 +66,36 @@ export const SavedFeeds = withAuthRequired( const renderListFooterComponent = useCallback(() => { return ( - <View style={styles.footer}> + <> + <View style={[styles.footerLinks, pal.border]}> + <Link style={[styles.footerLink, pal.border]} href="/search/feeds"> + <FontAwesomeIcon + icon="search" + size={18} + color={pal.colors.icon} + /> + <Text type="lg-medium" style={pal.textLight}> + Discover new feeds + </Text> + </Link> + </View> + <View style={styles.footerText}> + <Text type="sm" style={pal.textLight}> + Feeds are custom algorithms that users build with a little coding + expertise.{' '} + <TextLink + type="sm" + style={pal.link} + href="https://github.com/bluesky-social/feed-generator" + text="See this guide" + />{' '} + for more information. + </Text> + </View> {savedFeeds.isLoading && <ActivityIndicator />} - </View> + </> ) - }, [savedFeeds]) + }, [pal, savedFeeds.isLoading]) const onRefresh = useCallback(() => savedFeeds.refresh(), [savedFeeds]) @@ -224,9 +250,6 @@ const styles = StyleSheet.create({ borderRightWidth: 1, minHeight: '100vh', }, - footer: { - paddingVertical: 20, - }, empty: { paddingHorizontal: 20, paddingVertical: 20, @@ -252,4 +275,19 @@ const styles = StyleSheet.create({ noBorder: { borderTopWidth: 0, }, + footerText: { + paddingHorizontal: 26, + paddingVertical: 22, + }, + footerLinks: { + borderBottomWidth: 1, + borderTopWidth: 0, + }, + footerLink: { + flexDirection: 'row', + borderTopWidth: 1, + paddingHorizontal: 26, + paddingVertical: 18, + gap: 18, + }, }) |