···6464import {PrivacyPolicyScreen} from '#/view/screens/PrivacyPolicy'
6565import {ProfileScreen} from '#/view/screens/Profile'
6666import {ProfileFeedLikedByScreen} from '#/view/screens/ProfileFeedLikedBy'
6767-import {SavedFeeds} from '#/view/screens/SavedFeeds'
6867import {Storybook} from '#/view/screens/Storybook'
6968import {SupportScreen} from '#/view/screens/Support'
7069import {TermsOfServiceScreen} from '#/view/screens/TermsOfService'
···9291import {ProfileLabelerLikedByScreen} from '#/screens/Profile/ProfileLabelerLikedBy'
9392import {ProfileSearchScreen} from '#/screens/Profile/ProfileSearch'
9493import {ProfileListScreen} from '#/screens/ProfileList'
9494+import {SavedFeeds} from '#/screens/SavedFeeds'
9595import {SearchScreen} from '#/screens/Search'
9696import {AboutSettingsScreen} from '#/screens/Settings/AboutSettings'
9797import {AccessibilitySettingsScreen} from '#/screens/Settings/AccessibilitySettings'
+16-18
src/screens/Feeds/NoFollowingFeed.tsx
···11-import React from 'react'
22-import {View} from 'react-native'
11+import {type GestureResponderEvent, View} from 'react-native'
32import {msg, Trans} from '@lingui/macro'
43import {useLingui} from '@lingui/react'
54···98import {InlineLinkText} from '#/components/Link'
109import {Text} from '#/components/Typography'
11101212-export function NoFollowingFeed() {
1111+export function NoFollowingFeed({onAddFeed}: {onAddFeed?: () => void}) {
1312 const t = useTheme()
1413 const {_} = useLingui()
1514 const {mutateAsync: addSavedFeeds} = useAddSavedFeedsMutation()
16151717- const addRecommendedFeeds = React.useCallback(
1818- (e: any) => {
1919- e.preventDefault()
1616+ const addRecommendedFeeds = (e: GestureResponderEvent) => {
1717+ e.preventDefault()
20182121- addSavedFeeds([
2222- {
2323- ...TIMELINE_SAVED_FEED,
2424- pinned: true,
2525- },
2626- ])
1919+ addSavedFeeds([
2020+ {
2121+ ...TIMELINE_SAVED_FEED,
2222+ pinned: true,
2323+ },
2424+ ])
27252828- // prevent navigation
2929- return false
3030- },
3131- [addSavedFeeds],
3232- )
2626+ onAddFeed?.()
2727+2828+ // prevent navigation
2929+ return false as const
3030+ }
33313432 return (
3533 <View style={[a.flex_row, a.flex_wrap, a.align_center, a.py_md, a.px_lg]}>
···3735 <Trans>
3836 Looks like you're missing a following feed.{' '}
3937 <InlineLinkText
4040- to="/"
3838+ to="#"
4139 label={_(msg`Add the default feed of only people you follow`)}
4240 onPress={addRecommendedFeeds}
4341 style={[a.leading_snug]}>
+10-7
src/screens/Feeds/NoSavedFeedsOfAnyType.tsx
···11-import React from 'react'
21import {View} from 'react-native'
32import {TID} from '@atproto/common-web'
43import {msg, Trans} from '@lingui/macro'
···1615 * feeds if pressed. It should only be presented to the user if they actually
1716 * have no other feeds saved.
1817 */
1919-export function NoSavedFeedsOfAnyType() {
1818+export function NoSavedFeedsOfAnyType({
1919+ onAddRecommendedFeeds,
2020+}: {
2121+ onAddRecommendedFeeds?: () => void
2222+}) {
2023 const t = useTheme()
2124 const {_} = useLingui()
2225 const {isPending, mutateAsync: overwriteSavedFeeds} =
2326 useOverwriteSavedFeedsMutation()
24272525- const addRecommendedFeeds = React.useCallback(async () => {
2828+ const addRecommendedFeeds = async () => {
2929+ onAddRecommendedFeeds?.()
2630 await overwriteSavedFeeds(
2731 RECOMMENDED_SAVED_FEEDS.map(f => ({
2832 ...f,
2933 id: TID.nextStr(),
3034 })),
3135 )
3232- }, [overwriteSavedFeeds])
3636+ }
33373438 return (
3539 <View
···4650 disabled={isPending}
4751 label={_(msg`Apply default recommended feeds`)}
4852 size="small"
4949- variant="solid"
5050- color="primary"
5353+ color="primary_subtle"
5154 onPress={addRecommendedFeeds}>
5252- <ButtonIcon icon={Plus} position="left" />
5555+ <ButtonIcon icon={Plus} />
5356 <ButtonText>{_(msg`Use recommended`)}</ButtonText>
5457 </Button>
5558 </View>