[SDK] Remove @atproto/api (#11386)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Samuel Newman
2026-08-13 22:26:22 +03:00
committed by GitHub
parent 54da80dfb0
commit 9fe0084874
391 changed files with 3130 additions and 3589 deletions
+2 -2
View File
@@ -1,5 +1,4 @@
import {View} from 'react-native'
import {type AppBskyActorDefs} from '@atproto/api'
import {type ModerationDecision} from '@bsky.app/sdk/moderation'
import {sanitizeDisplayName} from '#/lib/strings/display-names'
@@ -8,12 +7,13 @@ import {type Shadow} from '#/state/cache/types'
import {atoms as a, platform, useBreakpoints, useTheme} from '#/alf'
import {ProfileBadges} from '#/components/ProfileBadges'
import {Text} from '#/components/Typography'
import {type app} from '#/lexicons'
export function ProfileHeaderDisplayName({
profile,
moderation,
}: {
profile: Shadow<AppBskyActorDefs.ProfileViewDetailed>
profile: Shadow<app.bsky.actor.defs.ProfileViewDetailed>
moderation: ModerationDecision
}) {
const t = useTheme()
@@ -1,6 +1,5 @@
import {useCallback, useEffect, useState} from 'react'
import {View} from 'react-native'
import {type AppBskyActorDefs} from '@atproto/api'
import {msg} from '@lingui/core/macro'
import {useLingui} from '@lingui/react'
import {Plural, Trans} from '@lingui/react/macro'
@@ -25,13 +24,14 @@ import * as Prompt from '#/components/Prompt'
import * as Toast from '#/components/Toast'
import {Text} from '#/components/Typography'
import {useSimpleVerificationState} from '#/components/verification'
import {type app} from '#/lexicons'
export function EditProfileDialog({
profile,
control,
onUpdate,
}: {
profile: AppBskyActorDefs.ProfileViewDetailed
profile: app.bsky.actor.defs.ProfileViewDetailed
control: Dialog.DialogControlProps
onUpdate?: () => void
}) {
@@ -89,7 +89,7 @@ function DialogInner({
setDirty,
onPressCancel,
}: {
profile: AppBskyActorDefs.ProfileViewDetailed
profile: app.bsky.actor.defs.ProfileViewDetailed
onUpdate?: () => void
setDirty: (dirty: boolean) => void
onPressCancel: () => void
+2 -2
View File
@@ -1,5 +1,4 @@
import {View} from 'react-native'
import {type AppBskyActorDefs} from '@atproto/api'
import {msg} from '@lingui/core/macro'
import {useLingui} from '@lingui/react'
import {Trans} from '@lingui/react/macro'
@@ -10,12 +9,13 @@ import {atoms as a, useTheme, web} from '#/alf'
import {NewskieDialog} from '#/components/NewskieDialog'
import {Text} from '#/components/Typography'
import {IS_IOS, IS_NATIVE} from '#/env'
import {type app} from '#/lexicons'
export function ProfileHeaderHandle({
profile,
disableTaps,
}: {
profile: Shadow<AppBskyActorDefs.ProfileViewDetailed>
profile: Shadow<app.bsky.actor.defs.ProfileViewDetailed>
disableTaps?: boolean
}) {
const t = useTheme()
+2 -2
View File
@@ -1,5 +1,4 @@
import {View} from 'react-native'
import {type AppBskyActorDefs} from '@atproto/api'
import {msg, plural} from '@lingui/core/macro'
import {useLingui} from '@lingui/react'
@@ -9,11 +8,12 @@ import {formatCount} from '#/view/com/util/numeric/format'
import {atoms as a, useTheme} from '#/alf'
import {InlineLinkText} from '#/components/Link'
import {Text} from '#/components/Typography'
import {type app} from '#/lexicons'
export function ProfileHeaderMetrics({
profile,
}: {
profile: Shadow<AppBskyActorDefs.ProfileViewDetailed>
profile: Shadow<app.bsky.actor.defs.ProfileViewDetailed>
}) {
const t = useTheme()
const {_, i18n} = useLingui()
@@ -1,7 +1,6 @@
import {memo, useCallback, useMemo, useState} from 'react'
import {View} from 'react-native'
import {type AppBskyActorDefs} from '@atproto/api'
import {type ModerationOpts} from '@bsky.app/sdk/moderation'
import {moderateProfile, type ModerationOpts} from '@bsky.app/sdk/moderation'
import {type RichText as RichTextAPI} from '@bsky.app/sdk/richtext'
import {msg, plural} from '@lingui/core/macro'
import {useLingui} from '@lingui/react'
@@ -11,7 +10,6 @@ import {Plural, Trans} from '@lingui/react/macro'
import {MAX_LABELERS} from '#/lib/constants'
import {useHaptics} from '#/lib/haptics'
import {isAppLabeler} from '#/lib/moderation'
import {moderateProfile} from '#/lib/moderation/subjects'
import {useProfileShadow} from '#/state/cache/profile-shadow'
import {type Shadow} from '#/state/cache/types'
import {useLabelerSubscriptionMutation} from '#/state/queries/labeler'
@@ -42,7 +40,7 @@ import {ProfileHeaderMetrics} from './Metrics'
import {ProfileHeaderShell} from './Shell'
interface Props {
profile: AppBskyActorDefs.ProfileViewDetailed
profile: app.bsky.actor.defs.ProfileViewDetailed
labeler: app.bsky.labeler.defs.LabelerViewDetailed
descriptionRT: RichTextAPI | null
moderationOpts: ModerationOpts
@@ -58,7 +56,7 @@ let ProfileHeaderLabeler = ({
hideBackButton = false,
isPlaceholderProfile,
}: Props): React.ReactNode => {
const profile: Shadow<AppBskyActorDefs.ProfileViewDetailed> =
const profile: Shadow<app.bsky.actor.defs.ProfileViewDetailed> =
useProfileShadow(profileUnshadowed)
const t = useTheme()
const ax = useAnalytics()
@@ -232,7 +230,7 @@ export function HeaderLabelerButtons({
profile,
minimal = false,
}: {
profile: Shadow<AppBskyActorDefs.ProfileViewDetailed>
profile: Shadow<app.bsky.actor.defs.ProfileViewDetailed>
/** disable the subscribe button */
minimal?: boolean
}) {
@@ -1,7 +1,7 @@
import {memo, useMemo, useState} from 'react'
import {View} from 'react-native'
import {type AppBskyActorDefs} from '@atproto/api'
import {
moderateProfile,
type ModerationDecision,
type ModerationOpts,
} from '@bsky.app/sdk/moderation'
@@ -11,7 +11,6 @@ import {useLingui} from '@lingui/react'
import {Trans} from '@lingui/react/macro'
import {useHaptics} from '#/lib/haptics'
import {moderateProfile} from '#/lib/moderation/subjects'
import {sanitizeDisplayName} from '#/lib/strings/display-names'
import {logger} from '#/logger'
import {type Shadow, useProfileShadow} from '#/state/cache/profile-shadow'
@@ -40,6 +39,7 @@ import {useAnalytics} from '#/analytics'
import {IS_IOS, IS_NATIVE} from '#/env'
import {InviteFriendsDialog} from '#/features/inviteFriends'
import {useActorStatus} from '#/features/liveNow'
import {type app} from '#/lexicons'
import {GermButton} from '../components/GermButton'
import {ProfileHeaderDisplayName} from './DisplayName'
import {EditProfileDialog} from './EditProfileDialog'
@@ -49,7 +49,7 @@ import {ProfileHeaderShell} from './Shell'
import {ProfileHeaderSuggestedFollows} from './SuggestedFollows'
interface Props {
profile: AppBskyActorDefs.ProfileViewDetailed
profile: app.bsky.actor.defs.ProfileViewDetailed
descriptionRT: RichTextAPI | null
moderationOpts: ModerationOpts
hideBackButton?: boolean
@@ -64,7 +64,7 @@ let ProfileHeaderStandard = ({
isPlaceholderProfile,
}: Props): React.ReactNode => {
const profile =
useProfileShadow<AppBskyActorDefs.ProfileViewDetailed>(profileUnshadowed)
useProfileShadow<app.bsky.actor.defs.ProfileViewDetailed>(profileUnshadowed)
const {currentAccount} = useSession()
const {_} = useLingui()
const moderation = useMemo(
@@ -213,7 +213,7 @@ export function HeaderStandardButtons({
onUnfollow,
minimal,
}: {
profile: Shadow<AppBskyActorDefs.ProfileViewDetailed>
profile: Shadow<app.bsky.actor.defs.ProfileViewDetailed>
moderation: ModerationDecision
moderationOpts: ModerationOpts
onFollow?: () => void
+2 -2
View File
@@ -5,7 +5,6 @@ import Animated, {
useAnimatedRef,
} from 'react-native-reanimated'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import {type AppBskyActorDefs} from '@atproto/api'
import {utils} from '@bsky.app/alf'
import {type ModerationDecision} from '@bsky.app/sdk/moderation'
import {useLingui} from '@lingui/react/macro'
@@ -32,12 +31,13 @@ import {useActorStatus} from '#/features/liveNow'
import {EditLiveDialog} from '#/features/liveNow/components/EditLiveDialog'
import {LiveIndicator} from '#/features/liveNow/components/LiveIndicator'
import {LiveStatusDialog} from '#/features/liveNow/components/LiveStatusDialog'
import {type app} from '#/lexicons'
import {GrowableAvatar} from './GrowableAvatar'
import {GrowableBanner} from './GrowableBanner'
import {StatusBarShadow} from './StatusBarShadow'
interface Props {
profile: Shadow<AppBskyActorDefs.ProfileViewDetailed>
profile: Shadow<app.bsky.actor.defs.ProfileViewDetailed>
moderation: ModerationDecision
hideBackButton?: boolean
isPlaceholderProfile?: boolean
+3 -5
View File
@@ -7,12 +7,10 @@ import Animated, {
} from 'react-native-reanimated'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import {scheduleOnRN} from 'react-native-worklets'
import {type AppBskyActorDefs} from '@atproto/api'
import {type ModerationOpts} from '@bsky.app/sdk/moderation'
import {moderateProfile, type ModerationOpts} from '@bsky.app/sdk/moderation'
import {type RichText as RichTextAPI} from '@bsky.app/sdk/richtext'
import {useIsFocused} from '@react-navigation/native'
import {moderateProfile} from '#/lib/moderation/subjects'
import {sanitizeHandle} from '#/lib/strings/handles'
import {useProfileShadow} from '#/state/cache/profile-shadow'
import {useModerationOpts} from '#/state/preferences/moderation-opts'
@@ -58,7 +56,7 @@ ProfileHeaderLoading = memo(ProfileHeaderLoading)
export {ProfileHeaderLoading}
interface Props {
profile: AppBskyActorDefs.ProfileViewDetailed
profile: app.bsky.actor.defs.ProfileViewDetailed
labeler: app.bsky.labeler.defs.LabelerViewDetailed | undefined
descriptionRT: RichTextAPI | null
moderationOpts: ModerationOpts
@@ -103,7 +101,7 @@ const MinimalHeader = memo(function MinimalHeader({
hideBackButton = false,
}: {
onLayout: (e: LayoutChangeEvent) => void
profile: AppBskyActorDefs.ProfileViewDetailed
profile: app.bsky.actor.defs.ProfileViewDetailed
labeler?: app.bsky.labeler.defs.LabelerViewDetailed
hideBackButton?: boolean
}) {
+3 -3
View File
@@ -1,5 +1,4 @@
import {useMemo, useState} from 'react'
import {type AppBskyActorDefs} from '@atproto/api'
import {msg} from '@lingui/core/macro'
import {useLingui} from '@lingui/react'
@@ -17,12 +16,13 @@ import {List} from '#/view/com/util/List'
import {ViewHeader} from '#/view/com/util/ViewHeader'
import * as Layout from '#/components/Layout'
import {ListFooter, ListMaybePlaceholder} from '#/components/Lists'
import {type app} from '#/lexicons'
function renderItem({
item,
index,
}: {
item: AppBskyActorDefs.ProfileView
item: app.bsky.actor.defs.ProfileView
index: number
}) {
return (
@@ -34,7 +34,7 @@ function renderItem({
)
}
function keyExtractor(item: AppBskyActorDefs.ProfileView) {
function keyExtractor(item: app.bsky.actor.defs.ProfileView) {
return item.did
}
@@ -1,6 +1,5 @@
import {Platform, View} from 'react-native'
import {Image} from 'expo-image'
import {type AppBskyActorDefs} from '@atproto/api'
import {type Client} from '@atproto/lex'
import {type DidString} from '@atproto/syntax'
import {msg} from '@lingui/core/macro'
@@ -29,7 +28,7 @@ export function GermButton({
germ,
profile,
}: {
germ: AppBskyActorDefs.ProfileAssociatedGerm
germ: app.bsky.actor.defs.ProfileAssociatedGerm
profile: bsky.profile.AnyProfileView
}) {
const t = useTheme()
@@ -279,7 +278,7 @@ function GermSelfButton({did}: {did: string}) {
}
function constructGermUrl(
declaration: AppBskyActorDefs.ProfileAssociatedGerm,
declaration: app.bsky.actor.defs.ProfileAssociatedGerm,
profile: bsky.profile.AnyProfileView,
viewerDid?: string,
) {