migrate the trends query to the lex client

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Samuel Newman
2026-08-03 12:48:59 +03:00
parent f3a2674b9b
commit 1f3784fc7b
@@ -1,5 +1,5 @@
import {useCallback, useMemo} from 'react' import {useCallback, useMemo} from 'react'
import {type AppBskyUnspeccedGetTrends, hasMutedWord} from '@atproto/api' import {hasMutedWord} from '@atproto/api'
import {useQuery} from '@tanstack/react-query' import {useQuery} from '@tanstack/react-query'
import { import {
@@ -10,7 +10,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 {useLexClient} from '#/state/session'
import {app} from '#/lexicons'
export const DEFAULT_LIMIT = 5 export const DEFAULT_LIMIT = 5
@@ -32,7 +33,7 @@ export const createGetTrendsQueryKey = (limit?: number) =>
limit === undefined ? ['trends'] : ['trends', {limit}] limit === undefined ? ['trends'] : ['trends', {limit}]
export function useGetTrendsQuery(props: QueryProps = {}) { export function useGetTrendsQuery(props: QueryProps = {}) {
const agent = useAgent() const client = useLexClient()
const {data: preferences} = usePreferencesQuery() const {data: preferences} = usePreferencesQuery()
const limit = props.limit ?? DEFAULT_LIMIT const limit = props.limit ?? DEFAULT_LIMIT
const mutedWords = useMemo(() => { const mutedWords = useMemo(() => {
@@ -46,7 +47,8 @@ export function useGetTrendsQuery(props: QueryProps = {}) {
queryKey: createGetTrendsQueryKey(limit), queryKey: createGetTrendsQueryKey(limit),
queryFn: async () => { queryFn: async () => {
const contentLangs = getContentLanguages().join(',') const contentLangs = getContentLanguages().join(',')
const {data} = await agent.app.bsky.unspecced.getTrends( const data = await client.call(
app.bsky.unspecced.getTrends,
{ {
limit, limit,
}, },
@@ -63,7 +65,7 @@ export function useGetTrendsQuery(props: QueryProps = {}) {
return data return data
}, },
select: useCallback( select: useCallback(
(data: AppBskyUnspeccedGetTrends.OutputSchema) => { (data: app.bsky.unspecced.getTrends.$OutputBody) => {
return { return {
recId: data.recIdStr, recId: data.recIdStr,
trends: dedupe( trends: dedupe(