diff options
Diffstat (limited to 'src/screens/Onboarding')
-rw-r--r-- | src/screens/Onboarding/StepFinished.tsx | 16 | ||||
-rw-r--r-- | src/screens/Onboarding/StepInterests/index.tsx | 5 | ||||
-rw-r--r-- | src/screens/Onboarding/util.ts | 19 |
3 files changed, 16 insertions, 24 deletions
diff --git a/src/screens/Onboarding/StepFinished.tsx b/src/screens/Onboarding/StepFinished.tsx index 855e12ed0..9658cfe15 100644 --- a/src/screens/Onboarding/StepFinished.tsx +++ b/src/screens/Onboarding/StepFinished.tsx @@ -47,7 +47,7 @@ export function StepFinished() { const [saving, setSaving] = React.useState(false) const {mutateAsync: overwriteSavedFeeds} = useOverwriteSavedFeedsMutation() const queryClient = useQueryClient() - const {getAgent} = useAgent() + const agent = useAgent() const gate = useGate() const finishOnboarding = React.useCallback(async () => { @@ -70,12 +70,12 @@ export function StepFinished() { try { await Promise.all([ bulkWriteFollows( - getAgent, + agent, suggestedAccountsStepResults.accountDids.concat(BSKY_APP_ACCOUNT_DID), ), // these must be serial (async () => { - await getAgent().setInterestsPref({tags: selectedInterests}) + await agent.setInterestsPref({tags: selectedInterests}) /* * In the reduced onboading experiment, we'll rely on the default @@ -98,7 +98,7 @@ export function StepFinished() { * (mimics old behavior) */ if ( - IS_PROD_SERVICE(getAgent().service.toString()) && + IS_PROD_SERVICE(agent.service.toString()) && !otherFeeds.length ) { otherFeeds.push({ @@ -124,8 +124,8 @@ export function StepFinished() { const {imageUri, imageMime} = profileStepResults if (imageUri && imageMime) { - const blobPromise = uploadBlob(getAgent(), imageUri, imageMime) - await getAgent().upsertProfile(async existing => { + const blobPromise = uploadBlob(agent, imageUri, imageMime) + await agent.upsertProfile(async existing => { existing = existing ?? {} const res = await blobPromise if (res.data.blob) { @@ -156,7 +156,7 @@ export function StepFinished() { queryKey: preferencesQueryKey, }), queryClient.invalidateQueries({ - queryKey: profileRQKey(getAgent().session?.did ?? ''), + queryKey: profileRQKey(agent.session?.did ?? ''), }), ]).catch(e => { logger.error(e) @@ -176,7 +176,7 @@ export function StepFinished() { setSaving, overwriteSavedFeeds, track, - getAgent, + agent, gate, queryClient, ]) diff --git a/src/screens/Onboarding/StepInterests/index.tsx b/src/screens/Onboarding/StepInterests/index.tsx index d95445d79..2589e66c2 100644 --- a/src/screens/Onboarding/StepInterests/index.tsx +++ b/src/screens/Onboarding/StepInterests/index.tsx @@ -43,13 +43,12 @@ export function StepInterests() { state.interestsStepResults.selectedInterests.map(i => i), ) const onboardDispatch = useOnboardingDispatch() - const {getAgent} = useAgent() + const agent = useAgent() const {isLoading, isError, error, data, refetch, isFetching} = useQuery({ queryKey: ['interests'], queryFn: async () => { try { - const {data} = - await getAgent().app.bsky.unspecced.getTaggedSuggestions() + const {data} = await agent.app.bsky.unspecced.getTaggedSuggestions() return data.suggestions.reduce( (agg, s) => { const {tag, subject, subjectType} = s diff --git a/src/screens/Onboarding/util.ts b/src/screens/Onboarding/util.ts index fde4316e9..417417707 100644 --- a/src/screens/Onboarding/util.ts +++ b/src/screens/Onboarding/util.ts @@ -66,11 +66,8 @@ export function aggregateInterestItems( return Array.from(new Set(results)).slice(0, 20) } -export async function bulkWriteFollows( - getAgent: () => BskyAgent, - dids: string[], -) { - const session = getAgent().session +export async function bulkWriteFollows(agent: BskyAgent, dids: string[]) { + const session = agent.session if (!session) { throw new Error(`bulkWriteFollows failed: no session`) @@ -89,19 +86,15 @@ export async function bulkWriteFollows( value: r, })) - await getAgent().com.atproto.repo.applyWrites({ + await agent.com.atproto.repo.applyWrites({ repo: session.did, writes: followWrites, }) - await whenFollowsIndexed( - getAgent, - session.did, - res => !!res.data.follows.length, - ) + await whenFollowsIndexed(agent, session.did, res => !!res.data.follows.length) } async function whenFollowsIndexed( - getAgent: () => BskyAgent, + agent: BskyAgent, actor: string, fn: (res: AppBskyGraphGetFollows.Response) => boolean, ) { @@ -110,7 +103,7 @@ async function whenFollowsIndexed( 1e3, // 1s delay between tries fn, () => - getAgent().app.bsky.graph.getFollows({ + agent.app.bsky.graph.getFollows({ actor, limit: 1, }), |