From a0bd8042621e108f47e09dd096cf0d73fe1cee53 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Sat, 10 May 2025 00:06:06 +0300 Subject: Live (#8354) --- src/view/com/posts/AviFollowButton.tsx | 143 --------------------------------- 1 file changed, 143 deletions(-) delete mode 100644 src/view/com/posts/AviFollowButton.tsx (limited to 'src/view/com/posts/AviFollowButton.tsx') diff --git a/src/view/com/posts/AviFollowButton.tsx b/src/view/com/posts/AviFollowButton.tsx deleted file mode 100644 index 1c894bffe..000000000 --- a/src/view/com/posts/AviFollowButton.tsx +++ /dev/null @@ -1,143 +0,0 @@ -import React from 'react' -import {View} from 'react-native' -import {AppBskyActorDefs, ModerationDecision} from '@atproto/api' -import {msg} from '@lingui/macro' -import {useLingui} from '@lingui/react' -import {useNavigation} from '@react-navigation/native' - -import {NavigationProp} from '#/lib/routes/types' -import {sanitizeDisplayName} from '#/lib/strings/display-names' -import {useProfileShadow} from '#/state/cache/profile-shadow' -import {useSession} from '#/state/session' -import { - DropdownItem, - NativeDropdown, -} from '#/view/com/util/forms/NativeDropdown' -import * as Toast from '#/view/com/util/Toast' -import {atoms as a, select, useTheme} from '#/alf' -import {Button} from '#/components/Button' -import {useFollowMethods} from '#/components/hooks/useFollowMethods' -import {PlusSmall_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus' - -export function AviFollowButton({ - author, - moderation, - children, -}: { - author: AppBskyActorDefs.ProfileViewBasic - moderation: ModerationDecision - children: React.ReactNode -}) { - const {_} = useLingui() - const t = useTheme() - const profile = useProfileShadow(author) - const {follow} = useFollowMethods({ - profile: profile, - logContext: 'AvatarButton', - }) - const {currentAccount, hasSession} = useSession() - const navigation = useNavigation() - - const name = sanitizeDisplayName( - profile.displayName || profile.handle, - moderation.ui('displayName'), - ) - const isFollowing = - profile.viewer?.following || profile.did === currentAccount?.did - - function onPress() { - follow() - Toast.show(_(msg`Following ${name}`)) - } - - const items: DropdownItem[] = [ - { - label: _(msg`View profile`), - onPress: () => { - navigation.navigate('Profile', {name: profile.did}) - }, - icon: { - ios: { - name: 'arrow.up.right.square', - }, - android: '', - web: ['far', 'arrow-up-right-from-square'], - }, - }, - { - label: _(msg`Follow ${name}`), - onPress: onPress, - icon: { - ios: { - name: 'person.badge.plus', - }, - android: '', - web: ['far', 'user-plus'], - }, - }, - ] - - return hasSession ? ( - - {children} - - {!isFollowing && ( - - )} - - ) : ( - children - ) -} -- cgit 1.4.1