Get rid of deprecated interface usages

This commit is contained in:
Eric Bailey
2024-04-23 11:25:15 -05:00
parent e6761f8a2e
commit b0e394c42e
10 changed files with 75 additions and 56 deletions
+4
View File
@@ -1,5 +1,6 @@
import React from 'react'
import {useWindowDimensions, View} from 'react-native'
import {AppBskyActorDefs} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useNavigation} from '@react-navigation/native'
@@ -34,6 +35,7 @@ export function FeedPage({
feedParams,
renderEmptyState,
renderEndOfFeed,
savedFeedConfig,
}: {
testID?: string
feed: FeedDescriptor
@@ -41,6 +43,7 @@ export function FeedPage({
isPageFocused: boolean
renderEmptyState: () => JSX.Element
renderEndOfFeed?: () => JSX.Element
savedFeedConfig?: AppBskyActorDefs.SavedFeed
}) {
const {hasSession} = useSession()
const {_} = useLingui()
@@ -132,6 +135,7 @@ export function FeedPage({
renderEmptyState={renderEmptyState}
renderEndOfFeed={renderEndOfFeed}
headerOffset={headerOffset}
savedFeedConfig={savedFeedConfig}
/>
</MainScrollProvider>
{(isScrolledDown || hasNew) && (
+13 -1
View File
@@ -8,6 +8,7 @@ import {
View,
ViewStyle,
} from 'react-native'
import {AppBskyActorDefs} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useQueryClient} from '@tanstack/react-query'
@@ -63,6 +64,7 @@ let Feed = ({
desktopFixedHeightOffset,
ListHeaderComponent,
extraData,
savedFeedConfig,
}: {
feed: FeedDescriptor
feedParams?: FeedParams
@@ -81,6 +83,7 @@ let Feed = ({
desktopFixedHeightOffset?: number
ListHeaderComponent?: () => JSX.Element
extraData?: any
savedFeedConfig?: AppBskyActorDefs.SavedFeed
}): React.ReactNode => {
const theme = useTheme()
const {track} = useAnalytics()
@@ -278,6 +281,7 @@ let Feed = ({
feedDesc={feed}
error={error ?? undefined}
onPressTryAgain={onPressTryAgain}
savedFeedConfig={savedFeedConfig}
/>
)
} else if (item === LOAD_MORE_ERROR_ITEM) {
@@ -300,7 +304,15 @@ let Feed = ({
}
return <FeedSlice slice={item} />
},
[feed, error, onPressTryAgain, onPressRetryLoadMore, renderEmptyState, _],
[
feed,
error,
onPressTryAgain,
onPressRetryLoadMore,
renderEmptyState,
_,
savedFeedConfig,
],
)
const shouldRenderEndOfFeed =
+31 -22
View File
@@ -1,21 +1,22 @@
import React from 'react'
import {View} from 'react-native'
import {AppBskyFeedGetAuthorFeed, AtUri} from '@atproto/api'
import {Text} from '../util/text/Text'
import {Button} from '../util/forms/Button'
import * as Toast from '../util/Toast'
import {ErrorMessage} from '../util/error/ErrorMessage'
import {usePalette} from 'lib/hooks/usePalette'
import {useNavigation} from '@react-navigation/native'
import {NavigationProp} from 'lib/routes/types'
import {logger} from '#/logger'
import {AppBskyActorDefs, AppBskyFeedGetAuthorFeed, AtUri} from '@atproto/api'
import {msg as msgLingui, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {FeedDescriptor} from '#/state/queries/post-feed'
import {EmptyState} from '../util/EmptyState'
import {useNavigation} from '@react-navigation/native'
import {cleanError} from '#/lib/strings/errors'
import {logger} from '#/logger'
import {FeedDescriptor} from '#/state/queries/post-feed'
import {useRemoveFeedMutation} from '#/state/queries/preferences'
import {usePalette} from 'lib/hooks/usePalette'
import {NavigationProp} from 'lib/routes/types'
import * as Prompt from '#/components/Prompt'
import {EmptyState} from '../util/EmptyState'
import {ErrorMessage} from '../util/error/ErrorMessage'
import {Button} from '../util/forms/Button'
import {Text} from '../util/text/Text'
import * as Toast from '../util/Toast'
export enum KnownError {
Block = 'Block',
@@ -33,10 +34,12 @@ export function FeedErrorMessage({
feedDesc,
error,
onPressTryAgain,
savedFeedConfig,
}: {
feedDesc: FeedDescriptor
error?: Error
onPressTryAgain: () => void
savedFeedConfig?: AppBskyActorDefs.SavedFeed
}) {
const {_: _l} = useLingui()
const knownError = React.useMemo(
@@ -46,13 +49,15 @@ export function FeedErrorMessage({
if (
typeof knownError !== 'undefined' &&
knownError !== KnownError.Unknown &&
(feedDesc.startsWith('feedgen') || knownError === KnownError.FeedNSFPublic)
(savedFeedConfig?.type === 'feed' ||
knownError === KnownError.FeedNSFPublic)
) {
return (
<FeedgenErrorMessage
feedDesc={feedDesc}
knownError={knownError}
rawError={error}
savedFeedConfig={savedFeedConfig}
/>
)
}
@@ -79,10 +84,12 @@ function FeedgenErrorMessage({
feedDesc,
knownError,
rawError,
savedFeedConfig,
}: {
feedDesc: FeedDescriptor
knownError: KnownError
rawError?: Error
savedFeedConfig?: AppBskyActorDefs.SavedFeed
}) {
const pal = usePalette('default')
const {_: _l} = useLingui()
@@ -131,7 +138,8 @@ function FeedgenErrorMessage({
const onRemoveFeed = React.useCallback(async () => {
try {
await removeFeed({uri})
if (!savedFeedConfig) return
await removeFeed(savedFeedConfig)
} catch (err) {
Toast.show(
_l(
@@ -140,7 +148,7 @@ function FeedgenErrorMessage({
)
logger.error('Failed to remove feed', {message: err})
}
}, [uri, removeFeed, _l])
}, [removeFeed, _l, savedFeedConfig])
const cta = React.useMemo(() => {
switch (knownError) {
@@ -154,13 +162,14 @@ function FeedgenErrorMessage({
case KnownError.FeedgenUnknown: {
return (
<View style={{flexDirection: 'row', alignItems: 'center', gap: 10}}>
{knownError === KnownError.FeedgenDoesNotExist && (
<Button
type="inverted"
label={_l(msgLingui`Remove feed`)}
onPress={onRemoveFeed}
/>
)}
{knownError === KnownError.FeedgenDoesNotExist &&
savedFeedConfig && (
<Button
type="inverted"
label={_l(msgLingui`Remove feed`)}
onPress={onRemoveFeed}
/>
)}
<Button
type="default-light"
label={_l(msgLingui`View profile`)}
@@ -170,7 +179,7 @@ function FeedgenErrorMessage({
)
}
}
}, [knownError, onViewProfile, onRemoveFeed, _l])
}, [knownError, onViewProfile, onRemoveFeed, _l, savedFeedConfig])
return (
<>