mirror of
https://github.com/tooot-app/app
synced 2025-06-05 22:19:13 +02:00
Fixed #446
This commit is contained in:
26
src/utils/queryHooks/status.ts
Normal file
26
src/utils/queryHooks/status.ts
Normal file
@ -0,0 +1,26 @@
|
||||
import apiInstance from '@api/instance'
|
||||
import { AxiosError } from 'axios'
|
||||
import { QueryFunctionContext, useQuery, UseQueryOptions } from 'react-query'
|
||||
|
||||
export type QueryKeyStatus = ['Status', { id: Mastodon.Status['id'] }]
|
||||
|
||||
const queryFunction = ({ queryKey }: QueryFunctionContext<QueryKeyStatus>) => {
|
||||
const { id } = queryKey[1]
|
||||
|
||||
return apiInstance<Mastodon.Status>({
|
||||
method: 'get',
|
||||
url: `statuses/${id}`
|
||||
}).then(res => res.body)
|
||||
}
|
||||
|
||||
const useStatusQuery = ({
|
||||
options,
|
||||
...queryKeyParams
|
||||
}: QueryKeyStatus[1] & {
|
||||
options?: UseQueryOptions<Mastodon.Status, AxiosError>
|
||||
}) => {
|
||||
const queryKey: QueryKeyStatus = ['Status', { ...queryKeyParams }]
|
||||
return useQuery(queryKey, queryFunction, options)
|
||||
}
|
||||
|
||||
export { useStatusQuery }
|
Reference in New Issue
Block a user