diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/state/queries/feed.ts | 4 | ||||
-rw-r--r-- | src/view/com/post-thread/PostThreadItem.tsx | 17 | ||||
-rw-r--r-- | src/view/com/util/forms/PostDropdownBtn.tsx | 8 | ||||
-rw-r--r-- | src/view/screens/Feeds.tsx | 4 |
4 files changed, 24 insertions, 9 deletions
diff --git a/src/state/queries/feed.ts b/src/state/queries/feed.ts index 4acc7179a..67294ece2 100644 --- a/src/state/queries/feed.ts +++ b/src/state/queries/feed.ts @@ -136,6 +136,10 @@ export function getFeedTypeFromUri(uri: string) { return pathname.includes(feedSourceNSIDs.feed) ? 'feed' : 'list' } +export function getAvatarTypeFromUri(uri: string) { + return getFeedTypeFromUri(uri) === 'feed' ? 'algo' : 'list' +} + export function useFeedSourceInfoQuery({uri}: {uri: string}) { const type = getFeedTypeFromUri(uri) diff --git a/src/view/com/post-thread/PostThreadItem.tsx b/src/view/com/post-thread/PostThreadItem.tsx index a27ee0a58..1cc2bb824 100644 --- a/src/view/com/post-thread/PostThreadItem.tsx +++ b/src/view/com/post-thread/PostThreadItem.tsx @@ -40,6 +40,7 @@ import {useLingui} from '@lingui/react' import {useLanguagePrefs} from '#/state/preferences' import {useComposerControls} from '#/state/shell/composer' import {useModerationOpts} from '#/state/queries/preferences' +import {useOpenLink} from '#/state/preferences/in-app-browser' import {Shadow, usePostShadow, POST_TOMBSTONE} from '#/state/cache/post-shadow' import {ThreadPost} from '#/state/queries/post-thread' import {useSession} from '#/state/session' @@ -701,17 +702,23 @@ function ExpandedPostDetails({ }) { const pal = usePalette('default') const {_} = useLingui() + const openLink = useOpenLink() + const onTranslatePress = React.useCallback( + () => openLink(translatorUrl), + [openLink, translatorUrl], + ) return ( <View style={[s.flexRow, s.mt2, s.mb10]}> <Text style={pal.textLight}>{niceDate(post.indexedAt)}</Text> {needsTranslation && ( <> <Text style={pal.textLight}> · </Text> - <Link href={translatorUrl} title={_(msg`Translate`)}> - <Text style={pal.link}> - <Trans>Translate</Trans> - </Text> - </Link> + <Text + style={pal.link} + title={_(msg`Translate`)} + onPress={onTranslatePress}> + <Trans>Translate</Trans> + </Text> </> )} </View> diff --git a/src/view/com/util/forms/PostDropdownBtn.tsx b/src/view/com/util/forms/PostDropdownBtn.tsx index 940f39057..e56c88d2c 100644 --- a/src/view/com/util/forms/PostDropdownBtn.tsx +++ b/src/view/com/util/forms/PostDropdownBtn.tsx @@ -1,5 +1,5 @@ import React, {memo} from 'react' -import {Linking, StyleProp, View, ViewStyle} from 'react-native' +import {StyleProp, View, ViewStyle} from 'react-native' import Clipboard from '@react-native-clipboard/clipboard' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import { @@ -24,6 +24,7 @@ import {usePostDeleteMutation} from '#/state/queries/post' import {useMutedThreads, useToggleThreadMute} from '#/state/muted-threads' import {useLanguagePrefs} from '#/state/preferences' import {useHiddenPosts, useHiddenPostsApi} from '#/state/preferences' +import {useOpenLink} from '#/state/preferences/in-app-browser' import {logger} from '#/logger' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' @@ -61,6 +62,7 @@ let PostDropdownBtn = ({ const postDeleteMutation = usePostDeleteMutation() const hiddenPosts = useHiddenPosts() const {hidePost} = useHiddenPostsApi() + const openLink = useOpenLink() const rootUri = record.reply?.root?.uri || postUri const isThreadMuted = mutedThreads.includes(rootUri) @@ -111,8 +113,8 @@ let PostDropdownBtn = ({ }, [_, richText]) const onOpenTranslate = React.useCallback(() => { - Linking.openURL(translatorUrl) - }, [translatorUrl]) + openLink(translatorUrl) + }, [openLink, translatorUrl]) const onHidePost = React.useCallback(() => { hidePost({uri: postUri}) diff --git a/src/view/screens/Feeds.tsx b/src/view/screens/Feeds.tsx index 9b3fd6181..6651084bd 100644 --- a/src/view/screens/Feeds.tsx +++ b/src/view/screens/Feeds.tsx @@ -30,6 +30,7 @@ import { useFeedSourceInfoQuery, useGetPopularFeedsQuery, useSearchPopularFeedsMutation, + getAvatarTypeFromUri, } from '#/state/queries/feed' import {cleanError} from 'lib/strings/errors' import {useComposerControls} from '#/state/shell/composer' @@ -555,6 +556,7 @@ function SavedFeed({feedUri}: {feedUri: string}) { const pal = usePalette('default') const {isMobile} = useWebMediaQueries() const {data: info, error} = useFeedSourceInfoQuery({uri: feedUri}) + const typeAvatar = getAvatarTypeFromUri(feedUri) if (!info) return ( @@ -582,7 +584,7 @@ function SavedFeed({feedUri}: {feedUri: string}) { /> </View> ) : ( - <UserAvatar type="algo" size={28} avatar={info.avatar} /> + <UserAvatar type={typeAvatar} size={28} avatar={info.avatar} /> )} <View style={{flex: 1, flexDirection: 'row', gap: 8, alignItems: 'center'}}> |