migrate trending discovery queries to the appview client
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -7,14 +7,15 @@ import {
|
|||||||
import {getContentLanguages} from '#/state/preferences/languages'
|
import {getContentLanguages} from '#/state/preferences/languages'
|
||||||
import {STALE} from '#/state/queries'
|
import {STALE} from '#/state/queries'
|
||||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||||
import {useAgent} from '#/state/session'
|
import {useAppviewClient} from '#/state/session'
|
||||||
|
import {app} from '#/lexicons'
|
||||||
|
|
||||||
export const DEFAULT_LIMIT = 15
|
export const DEFAULT_LIMIT = 15
|
||||||
|
|
||||||
export const createGetSuggestedFeedsQueryKey = () => ['suggested-feeds']
|
export const createGetSuggestedFeedsQueryKey = () => ['suggested-feeds']
|
||||||
|
|
||||||
export function useGetSuggestedFeedsQuery({enabled}: {enabled?: boolean}) {
|
export function useGetSuggestedFeedsQuery({enabled}: {enabled?: boolean}) {
|
||||||
const agent = useAgent()
|
const client = useAppviewClient()
|
||||||
const {data: preferences} = usePreferencesQuery()
|
const {data: preferences} = usePreferencesQuery()
|
||||||
const savedFeeds = preferences?.savedFeeds
|
const savedFeeds = preferences?.savedFeeds
|
||||||
|
|
||||||
@@ -24,7 +25,8 @@ export function useGetSuggestedFeedsQuery({enabled}: {enabled?: boolean}) {
|
|||||||
queryKey: createGetSuggestedFeedsQueryKey(),
|
queryKey: createGetSuggestedFeedsQueryKey(),
|
||||||
queryFn: async () => {
|
queryFn: async () => {
|
||||||
const contentLangs = getContentLanguages().join(',')
|
const contentLangs = getContentLanguages().join(',')
|
||||||
const {data} = await agent.app.bsky.unspecced.getSuggestedFeeds(
|
const data = await client.call(
|
||||||
|
app.bsky.unspecced.getSuggestedFeeds,
|
||||||
{
|
{
|
||||||
limit: DEFAULT_LIMIT,
|
limit: DEFAULT_LIMIT,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,3 @@
|
|||||||
import {
|
|
||||||
type AppBskyActorDefs,
|
|
||||||
type AppBskyUnspeccedGetSuggestedOnboardingUsers,
|
|
||||||
} from '@atproto/api'
|
|
||||||
import {type QueryClient, useQuery} from '@tanstack/react-query'
|
import {type QueryClient, useQuery} from '@tanstack/react-query'
|
||||||
|
|
||||||
import {createBskyTopicsHeader} from '#/lib/api/feed/utils'
|
import {createBskyTopicsHeader} from '#/lib/api/feed/utils'
|
||||||
@@ -9,7 +5,8 @@ import {logger} from '#/logger'
|
|||||||
import {getContentLanguages} from '#/state/preferences/languages'
|
import {getContentLanguages} from '#/state/preferences/languages'
|
||||||
import {STALE} from '#/state/queries'
|
import {STALE} from '#/state/queries'
|
||||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||||
import {useAgent} from '#/state/session'
|
import {useAppviewClient} from '#/state/session'
|
||||||
|
import {app} from '#/lexicons'
|
||||||
|
|
||||||
export type QueryProps = {
|
export type QueryProps = {
|
||||||
category?: string | null
|
category?: string | null
|
||||||
@@ -30,7 +27,7 @@ export const createGetSuggestedOnboardingUsersQueryKey = (
|
|||||||
]
|
]
|
||||||
|
|
||||||
export function useGetSuggestedOnboardingUsersQuery(props: QueryProps) {
|
export function useGetSuggestedOnboardingUsersQuery(props: QueryProps) {
|
||||||
const agent = useAgent()
|
const client = useAppviewClient()
|
||||||
const {data: preferences} = usePreferencesQuery()
|
const {data: preferences} = usePreferencesQuery()
|
||||||
|
|
||||||
return useQuery({
|
return useQuery({
|
||||||
@@ -42,7 +39,8 @@ export function useGetSuggestedOnboardingUsersQuery(props: QueryProps) {
|
|||||||
|
|
||||||
const overrideInterests = props.overrideInterests.join(',')
|
const overrideInterests = props.overrideInterests.join(',')
|
||||||
|
|
||||||
const {data} = await agent.app.bsky.unspecced.getSuggestedOnboardingUsers(
|
const data = await client.call(
|
||||||
|
app.bsky.unspecced.getSuggestedOnboardingUsers,
|
||||||
{
|
{
|
||||||
category: props.category ?? undefined,
|
category: props.category ?? undefined,
|
||||||
limit: props.limit || 10,
|
limit: props.limit || 10,
|
||||||
@@ -66,9 +64,9 @@ export function useGetSuggestedOnboardingUsersQuery(props: QueryProps) {
|
|||||||
export function* findAllProfilesInQueryData(
|
export function* findAllProfilesInQueryData(
|
||||||
queryClient: QueryClient,
|
queryClient: QueryClient,
|
||||||
did: string,
|
did: string,
|
||||||
): Generator<AppBskyActorDefs.ProfileView, void> {
|
): Generator<app.bsky.actor.defs.ProfileView, void> {
|
||||||
const responses =
|
const responses =
|
||||||
queryClient.getQueriesData<AppBskyUnspeccedGetSuggestedOnboardingUsers.OutputSchema>(
|
queryClient.getQueriesData<app.bsky.unspecced.getSuggestedOnboardingUsers.$OutputBody>(
|
||||||
{
|
{
|
||||||
queryKey: [getSuggestedOnboardingUsersQueryKeyRoot],
|
queryKey: [getSuggestedOnboardingUsersQueryKeyRoot],
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,3 @@
|
|||||||
import {
|
|
||||||
type AppBskyActorDefs,
|
|
||||||
type AppBskyUnspeccedGetSuggestedUsersForDiscover,
|
|
||||||
} from '@atproto/api'
|
|
||||||
import {type QueryClient, useQuery} from '@tanstack/react-query'
|
import {type QueryClient, useQuery} from '@tanstack/react-query'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
@@ -12,7 +8,8 @@ import {logger} from '#/logger'
|
|||||||
import {getContentLanguages} from '#/state/preferences/languages'
|
import {getContentLanguages} from '#/state/preferences/languages'
|
||||||
import {STALE} from '#/state/queries'
|
import {STALE} from '#/state/queries'
|
||||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||||
import {useAgent} from '#/state/session'
|
import {useAppviewClient} from '#/state/session'
|
||||||
|
import {app} from '#/lexicons'
|
||||||
|
|
||||||
export type QueryProps = {
|
export type QueryProps = {
|
||||||
limit?: number
|
limit?: number
|
||||||
@@ -25,7 +22,7 @@ export const createGetSuggestedUsersForDiscoverQueryKey = (props: {
|
|||||||
}) => [getSuggestedUsersForDiscoverQueryKeyRoot, props.limit]
|
}) => [getSuggestedUsersForDiscoverQueryKeyRoot, props.limit]
|
||||||
|
|
||||||
export function useGetSuggestedUsersForDiscoverQuery(props: QueryProps = {}) {
|
export function useGetSuggestedUsersForDiscoverQuery(props: QueryProps = {}) {
|
||||||
const agent = useAgent()
|
const client = useAppviewClient()
|
||||||
const {data: preferences} = usePreferencesQuery()
|
const {data: preferences} = usePreferencesQuery()
|
||||||
|
|
||||||
return useQuery({
|
return useQuery({
|
||||||
@@ -35,18 +32,18 @@ export function useGetSuggestedUsersForDiscoverQuery(props: QueryProps = {}) {
|
|||||||
const contentLangs = getContentLanguages().join(',')
|
const contentLangs = getContentLanguages().join(',')
|
||||||
const userInterests = aggregateUserInterests(preferences)
|
const userInterests = aggregateUserInterests(preferences)
|
||||||
|
|
||||||
const {data} =
|
const data = await client.call(
|
||||||
await agent.app.bsky.unspecced.getSuggestedUsersForDiscover(
|
app.bsky.unspecced.getSuggestedUsersForDiscover,
|
||||||
{
|
{
|
||||||
limit: props.limit || 10,
|
limit: props.limit || 10,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
headers: {
|
||||||
|
...createBskyTopicsHeader(userInterests),
|
||||||
|
'Accept-Language': contentLangs,
|
||||||
},
|
},
|
||||||
{
|
},
|
||||||
headers: {
|
)
|
||||||
...createBskyTopicsHeader(userInterests),
|
|
||||||
'Accept-Language': contentLangs,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
)
|
|
||||||
if (!data.recIdStr) {
|
if (!data.recIdStr) {
|
||||||
logger.debug('getSuggestedUsersForDiscover response missing recIdStr')
|
logger.debug('getSuggestedUsersForDiscover response missing recIdStr')
|
||||||
}
|
}
|
||||||
@@ -58,9 +55,9 @@ export function useGetSuggestedUsersForDiscoverQuery(props: QueryProps = {}) {
|
|||||||
export function* findAllProfilesInQueryData(
|
export function* findAllProfilesInQueryData(
|
||||||
queryClient: QueryClient,
|
queryClient: QueryClient,
|
||||||
did: string,
|
did: string,
|
||||||
): Generator<AppBskyActorDefs.ProfileView, void> {
|
): Generator<app.bsky.actor.defs.ProfileView, void> {
|
||||||
const responses =
|
const responses =
|
||||||
queryClient.getQueriesData<AppBskyUnspeccedGetSuggestedUsersForDiscover.OutputSchema>(
|
queryClient.getQueriesData<app.bsky.unspecced.getSuggestedUsersForDiscover.$OutputBody>(
|
||||||
{
|
{
|
||||||
queryKey: [getSuggestedUsersForDiscoverQueryKeyRoot],
|
queryKey: [getSuggestedUsersForDiscoverQueryKeyRoot],
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,3 @@
|
|||||||
import {
|
|
||||||
type AppBskyActorDefs,
|
|
||||||
type AppBskyUnspeccedGetSuggestedUsersForExplore,
|
|
||||||
} from '@atproto/api'
|
|
||||||
import {type QueryClient, useQuery} from '@tanstack/react-query'
|
import {type QueryClient, useQuery} from '@tanstack/react-query'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
@@ -12,7 +8,8 @@ import {logger} from '#/logger'
|
|||||||
import {getContentLanguages} from '#/state/preferences/languages'
|
import {getContentLanguages} from '#/state/preferences/languages'
|
||||||
import {STALE} from '#/state/queries'
|
import {STALE} from '#/state/queries'
|
||||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||||
import {useAgent} from '#/state/session'
|
import {useAppviewClient} from '#/state/session'
|
||||||
|
import {app} from '#/lexicons'
|
||||||
|
|
||||||
export type QueryProps = {
|
export type QueryProps = {
|
||||||
category?: string | null
|
category?: string | null
|
||||||
@@ -26,7 +23,7 @@ export const createGetSuggestedUsersForExploreQueryKey = (
|
|||||||
) => [getSuggestedUsersForExploreQueryKeyRoot, props.category, props.limit]
|
) => [getSuggestedUsersForExploreQueryKeyRoot, props.category, props.limit]
|
||||||
|
|
||||||
export function useGetSuggestedUsersForExploreQuery(props: QueryProps = {}) {
|
export function useGetSuggestedUsersForExploreQuery(props: QueryProps = {}) {
|
||||||
const agent = useAgent()
|
const client = useAppviewClient()
|
||||||
const {data: preferences} = usePreferencesQuery()
|
const {data: preferences} = usePreferencesQuery()
|
||||||
|
|
||||||
return useQuery({
|
return useQuery({
|
||||||
@@ -36,7 +33,8 @@ export function useGetSuggestedUsersForExploreQuery(props: QueryProps = {}) {
|
|||||||
const contentLangs = getContentLanguages().join(',')
|
const contentLangs = getContentLanguages().join(',')
|
||||||
const userInterests = aggregateUserInterests(preferences)
|
const userInterests = aggregateUserInterests(preferences)
|
||||||
|
|
||||||
const {data} = await agent.app.bsky.unspecced.getSuggestedUsersForExplore(
|
const data = await client.call(
|
||||||
|
app.bsky.unspecced.getSuggestedUsersForExplore,
|
||||||
{
|
{
|
||||||
category: props.category ?? undefined,
|
category: props.category ?? undefined,
|
||||||
limit: props.limit || 10,
|
limit: props.limit || 10,
|
||||||
@@ -60,9 +58,9 @@ export function useGetSuggestedUsersForExploreQuery(props: QueryProps = {}) {
|
|||||||
export function* findAllProfilesInQueryData(
|
export function* findAllProfilesInQueryData(
|
||||||
queryClient: QueryClient,
|
queryClient: QueryClient,
|
||||||
did: string,
|
did: string,
|
||||||
): Generator<AppBskyActorDefs.ProfileView, void> {
|
): Generator<app.bsky.actor.defs.ProfileView, void> {
|
||||||
const responses =
|
const responses =
|
||||||
queryClient.getQueriesData<AppBskyUnspeccedGetSuggestedUsersForExplore.OutputSchema>(
|
queryClient.getQueriesData<app.bsky.unspecced.getSuggestedUsersForExplore.$OutputBody>(
|
||||||
{
|
{
|
||||||
queryKey: [getSuggestedUsersForExploreQueryKeyRoot],
|
queryKey: [getSuggestedUsersForExploreQueryKeyRoot],
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,3 @@
|
|||||||
import {
|
|
||||||
type AppBskyActorDefs,
|
|
||||||
type AppBskyUnspeccedGetSuggestedUsersForSeeMore,
|
|
||||||
} from '@atproto/api'
|
|
||||||
import {type QueryClient, useQuery} from '@tanstack/react-query'
|
import {type QueryClient, useQuery} from '@tanstack/react-query'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
@@ -12,7 +8,8 @@ import {logger} from '#/logger'
|
|||||||
import {getContentLanguages} from '#/state/preferences/languages'
|
import {getContentLanguages} from '#/state/preferences/languages'
|
||||||
import {STALE} from '#/state/queries'
|
import {STALE} from '#/state/queries'
|
||||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||||
import {useAgent} from '#/state/session'
|
import {useAppviewClient} from '#/state/session'
|
||||||
|
import {app} from '#/lexicons'
|
||||||
|
|
||||||
export type QueryProps = {
|
export type QueryProps = {
|
||||||
category?: string | null
|
category?: string | null
|
||||||
@@ -28,7 +25,7 @@ export const createGetSuggestedUsersForSeeMoreQueryKey = (props: {
|
|||||||
}) => [getSuggestedUsersForSeeMoreQueryKeyRoot, props.category, props.limit]
|
}) => [getSuggestedUsersForSeeMoreQueryKeyRoot, props.category, props.limit]
|
||||||
|
|
||||||
export function useGetSuggestedUsersForSeeMoreQuery(props: QueryProps = {}) {
|
export function useGetSuggestedUsersForSeeMoreQuery(props: QueryProps = {}) {
|
||||||
const agent = useAgent()
|
const client = useAppviewClient()
|
||||||
const {data: preferences} = usePreferencesQuery()
|
const {data: preferences} = usePreferencesQuery()
|
||||||
|
|
||||||
return useQuery({
|
return useQuery({
|
||||||
@@ -42,7 +39,8 @@ export function useGetSuggestedUsersForSeeMoreQuery(props: QueryProps = {}) {
|
|||||||
const contentLangs = getContentLanguages().join(',')
|
const contentLangs = getContentLanguages().join(',')
|
||||||
const userInterests = aggregateUserInterests(preferences)
|
const userInterests = aggregateUserInterests(preferences)
|
||||||
|
|
||||||
const {data} = await agent.app.bsky.unspecced.getSuggestedUsersForSeeMore(
|
const data = await client.call(
|
||||||
|
app.bsky.unspecced.getSuggestedUsersForSeeMore,
|
||||||
{
|
{
|
||||||
category: props.category ?? undefined,
|
category: props.category ?? undefined,
|
||||||
limit: props.limit || 50,
|
limit: props.limit || 50,
|
||||||
@@ -66,9 +64,9 @@ export function useGetSuggestedUsersForSeeMoreQuery(props: QueryProps = {}) {
|
|||||||
export function* findAllProfilesInQueryData(
|
export function* findAllProfilesInQueryData(
|
||||||
queryClient: QueryClient,
|
queryClient: QueryClient,
|
||||||
did: string,
|
did: string,
|
||||||
): Generator<AppBskyActorDefs.ProfileView, void> {
|
): Generator<app.bsky.actor.defs.ProfileView, void> {
|
||||||
const responses =
|
const responses =
|
||||||
queryClient.getQueriesData<AppBskyUnspeccedGetSuggestedUsersForSeeMore.OutputSchema>(
|
queryClient.getQueriesData<app.bsky.unspecced.getSuggestedUsersForSeeMore.$OutputBody>(
|
||||||
{
|
{
|
||||||
queryKey: [getSuggestedUsersForSeeMoreQueryKeyRoot],
|
queryKey: [getSuggestedUsersForSeeMoreQueryKeyRoot],
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user