···1import {useRef} from 'react'
2-import type {ListRenderItemInfo} from 'react-native'
3import {View} from 'react-native'
4-import {AppBskyActorDefs, ModerationOpts} from '@atproto/api'
5-import {GeneratorView} from '@atproto/api/dist/client/types/app/bsky/feed/defs'
0006import {msg, Trans} from '@lingui/macro'
7import {useLingui} from '@lingui/react'
89import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender'
10import {isWeb} from '#/platform/detection'
11import {useSession} from '#/state/session'
12-import {ListMethods} from '#/view/com/util/List'
13-import {WizardAction, WizardState} from '#/screens/StarterPack/Wizard/State'
00014import {atoms as a, native, useTheme, web} from '#/alf'
15import {Button, ButtonText} from '#/components/Button'
16import * as Dialog from '#/components/Dialog'
···21import {Text} from '#/components/Typography'
2223function keyExtractor(
24- item: AppBskyActorDefs.ProfileViewBasic | GeneratorView,
25 index: number,
26) {
27 return `${item.did}-${index}`
···1import {useRef} from 'react'
2+import {type ListRenderItemInfo} from 'react-native'
3import {View} from 'react-native'
4+import {
5+ type AppBskyActorDefs,
6+ type AppBskyFeedDefs,
7+ type ModerationOpts,
8+} from '@atproto/api'
9import {msg, Trans} from '@lingui/macro'
10import {useLingui} from '@lingui/react'
1112import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender'
13import {isWeb} from '#/platform/detection'
14import {useSession} from '#/state/session'
15+import {type ListMethods} from '#/view/com/util/List'
16+import {
17+ type WizardAction,
18+ type WizardState,
19+} from '#/screens/StarterPack/Wizard/State'
20import {atoms as a, native, useTheme, web} from '#/alf'
21import {Button, ButtonText} from '#/components/Button'
22import * as Dialog from '#/components/Dialog'
···27import {Text} from '#/components/Typography'
2829function keyExtractor(
30+ item: AppBskyActorDefs.ProfileViewBasic | AppBskyFeedDefs.GeneratorView,
31 index: number,
32) {
33 return `${item.did}-${index}`
···1import {Keyboard, View} from 'react-native'
2import {
3- AppBskyActorDefs,
4- AppBskyFeedDefs,
5 moderateFeedGenerator,
6 moderateProfile,
7- ModerationOpts,
8- ModerationUI,
9} from '@atproto/api'
10-import {GeneratorView} from '@atproto/api/dist/client/types/app/bsky/feed/defs'
11import {msg, Trans} from '@lingui/macro'
12import {useLingui} from '@lingui/react'
13···16import {sanitizeHandle} from '#/lib/strings/handles'
17import {useSession} from '#/state/session'
18import {UserAvatar} from '#/view/com/util/UserAvatar'
19-import {WizardAction, WizardState} from '#/screens/StarterPack/Wizard/State'
00020import {atoms as a, useTheme} from '#/alf'
21import {Button, ButtonText} from '#/components/Button'
22import * as Toggle from '#/components/forms/Toggle'
23import {Checkbox} from '#/components/forms/Toggle'
24import {Text} from '#/components/Typography'
25-import * as bsky from '#/types/bsky'
2627function WizardListCard({
28 type,
···174 moderationOpts,
175}: {
176 btnType: 'checkbox' | 'remove'
177- generator: GeneratorView
178 state: WizardState
179 dispatch: (action: WizardAction) => void
180 moderationOpts: ModerationOpts
···1import {Keyboard, View} from 'react-native'
2import {
3+ type AppBskyActorDefs,
4+ type AppBskyFeedDefs,
5 moderateFeedGenerator,
6 moderateProfile,
7+ type ModerationOpts,
8+ type ModerationUI,
9} from '@atproto/api'
010import {msg, Trans} from '@lingui/macro'
11import {useLingui} from '@lingui/react'
12···15import {sanitizeHandle} from '#/lib/strings/handles'
16import {useSession} from '#/state/session'
17import {UserAvatar} from '#/view/com/util/UserAvatar'
18+import {
19+ type WizardAction,
20+ type WizardState,
21+} from '#/screens/StarterPack/Wizard/State'
22import {atoms as a, useTheme} from '#/alf'
23import {Button, ButtonText} from '#/components/Button'
24import * as Toggle from '#/components/forms/Toggle'
25import {Checkbox} from '#/components/forms/Toggle'
26import {Text} from '#/components/Typography'
27+import type * as bsky from '#/types/bsky'
2829function WizardListCard({
30 type,
···176 moderationOpts,
177}: {
178 btnType: 'checkbox' | 'remove'
179+ generator: AppBskyFeedDefs.GeneratorView
180 state: WizardState
181 dispatch: (action: WizardAction) => void
182 moderationOpts: ModerationOpts
+3-3
src/screens/Hashtag.tsx
···1import React from 'react'
2import {type ListRenderItemInfo, View} from 'react-native'
3-import {type PostView} from '@atproto/api/dist/client/types/app/bsky/feed/defs'
4import {msg} from '@lingui/macro'
5import {useLingui} from '@lingui/react'
6import {useFocusEffect} from '@react-navigation/native'
···25import * as Layout from '#/components/Layout'
26import {ListFooter, ListMaybePlaceholder} from '#/components/Lists'
2728-const renderItem = ({item}: ListRenderItemInfo<PostView>) => {
29 return <Post post={item} />
30}
3132-const keyExtractor = (item: PostView, index: number) => {
33 return `${item.uri}-${index}`
34}
35
···1import React from 'react'
2import {type ListRenderItemInfo, View} from 'react-native'
3+import {type AppBskyFeedDefs} from '@atproto/api'
4import {msg} from '@lingui/macro'
5import {useLingui} from '@lingui/react'
6import {useFocusEffect} from '@react-navigation/native'
···25import * as Layout from '#/components/Layout'
26import {ListFooter, ListMaybePlaceholder} from '#/components/Lists'
2728+const renderItem = ({item}: ListRenderItemInfo<AppBskyFeedDefs.PostView>) => {
29 return <Post post={item} />
30}
3132+const keyExtractor = (item: AppBskyFeedDefs.PostView, index: number) => {
33 return `${item.uri}-${index}`
34}
35
+2-2
src/screens/Onboarding/StepFinished.tsx
···1import React from 'react'
2import {View} from 'react-native'
3import {
04 type AppBskyActorProfile,
5 type AppBskyGraphDefs,
6 AppBskyGraphStarterpack,
7 type Un$Typed,
8} from '@atproto/api'
9-import {type SavedFeed} from '@atproto/api/dist/client/types/app/bsky/actor/defs'
10import {TID} from '@atproto/common-web'
11import {msg, Trans} from '@lingui/macro'
12import {useLingui} from '@lingui/react'
···108 await agent.setInterestsPref({tags: selectedInterests})
109110 // Default feeds that every user should have pinned when landing in the app
111- const feedsToSave: SavedFeed[] = [
112 {
113 ...DISCOVER_SAVED_FEED,
114 id: TID.nextStr(),
···1import React from 'react'
2import {View} from 'react-native'
3import {
4+ type AppBskyActorDefs,
5 type AppBskyActorProfile,
6 type AppBskyGraphDefs,
7 AppBskyGraphStarterpack,
8 type Un$Typed,
9} from '@atproto/api'
010import {TID} from '@atproto/common-web'
11import {msg, Trans} from '@lingui/macro'
12import {useLingui} from '@lingui/react'
···108 await agent.setInterestsPref({tags: selectedInterests})
109110 // Default feeds that every user should have pinned when landing in the app
111+ const feedsToSave: AppBskyActorDefs.SavedFeed[] = [
112 {
113 ...DISCOVER_SAVED_FEED,
114 id: TID.nextStr(),
···1import {
2+ type AppBskyFeedDefs,
3 AppBskyGraphDefs,
4+ type AppBskyGraphGetStarterPack,
5 AppBskyGraphStarterpack,
6+ type AppBskyRichtextFacet,
7 AtUri,
8+ type BskyAgent,
9 RichText,
10} from '@atproto/api'
011import {
12+ type QueryClient,
13 useMutation,
14 useQuery,
15 useQueryClient,
···58}) {
59 const agent = useAgent()
6061+ return useQuery<AppBskyGraphDefs.StarterPackView>({
62 queryKey: RQKEY(uri ? {uri} : {did, rkey}),
63 queryFn: async () => {
64 if (!uri) {
+1-2
src/state/queries/trending/useGetTrendsQuery.ts
···1import React from 'react'
2-import {type AppBskyUnspeccedGetTrends} from '@atproto/api'
3-import {hasMutedWord} from '@atproto/api/dist/moderation/mutewords'
4import {useQuery} from '@tanstack/react-query'
56import {
···1import React from 'react'
2+import {type AppBskyUnspeccedGetTrends, hasMutedWord} from '@atproto/api'
03import {useQuery} from '@tanstack/react-query'
45import {
+1-2
src/state/queries/trending/useTrendingTopics.ts
···1import React from 'react'
2-import {AppBskyUnspeccedDefs} from '@atproto/api'
3-import {hasMutedWord} from '@atproto/api/dist/moderation/mutewords'
4import {useQuery} from '@tanstack/react-query'
56import {STALE} from '#/state/queries'
···1import React from 'react'
2+import {type AppBskyUnspeccedDefs, hasMutedWord} from '@atproto/api'
03import {useQuery} from '@tanstack/react-query'
45import {STALE} from '#/state/queries'
+1-2
src/view/com/composer/state/video.ts
···1import {type ImagePickerAsset} from 'expo-image-picker'
2import {type AppBskyVideoDefs, type BlobRef, type BskyAgent} from '@atproto/api'
3-import {type JobStatus} from '@atproto/api/dist/client/types/app/bsky/video/defs'
4import {type I18n} from '@lingui/core'
5import {msg} from '@lingui/macro'
6···328 }
329330 const videoAgent = createVideoAgent()
331- let status: JobStatus | undefined
332 let blob: BlobRef | undefined
333 try {
334 const response = await videoAgent.app.bsky.video.getJobStatus({jobId})
···1import {type ImagePickerAsset} from 'expo-image-picker'
2import {type AppBskyVideoDefs, type BlobRef, type BskyAgent} from '@atproto/api'
03import {type I18n} from '@lingui/core'
4import {msg} from '@lingui/macro'
5···327 }
328329 const videoAgent = createVideoAgent()
330+ let status: AppBskyVideoDefs.JobStatus | undefined
331 let blob: BlobRef | undefined
332 try {
333 const response = await videoAgent.app.bsky.video.getJobStatus({jobId})