- matrix-gateway: POST /internal/matrix/presence/online endpoint - usePresenceHeartbeat hook with activity tracking - Auto away after 5 min inactivity - Offline on page close/visibility change - Integrated in MatrixChatRoom component
82 lines
1.8 KiB
TypeScript
82 lines
1.8 KiB
TypeScript
'use client'
|
|
import { InfiniteQueryObserver } from '@tanstack/query-core'
|
|
import { useBaseQuery } from './useBaseQuery'
|
|
import type {
|
|
DefaultError,
|
|
InfiniteData,
|
|
QueryClient,
|
|
QueryKey,
|
|
QueryObserver,
|
|
} from '@tanstack/query-core'
|
|
import type {
|
|
DefinedUseInfiniteQueryResult,
|
|
UseInfiniteQueryOptions,
|
|
UseInfiniteQueryResult,
|
|
} from './types'
|
|
import type {
|
|
DefinedInitialDataInfiniteOptions,
|
|
UndefinedInitialDataInfiniteOptions,
|
|
} from './infiniteQueryOptions'
|
|
|
|
export function useInfiniteQuery<
|
|
TQueryFnData,
|
|
TError = DefaultError,
|
|
TData = InfiniteData<TQueryFnData>,
|
|
TQueryKey extends QueryKey = QueryKey,
|
|
TPageParam = unknown,
|
|
>(
|
|
options: DefinedInitialDataInfiniteOptions<
|
|
TQueryFnData,
|
|
TError,
|
|
TData,
|
|
TQueryKey,
|
|
TPageParam
|
|
>,
|
|
queryClient?: QueryClient,
|
|
): DefinedUseInfiniteQueryResult<TData, TError>
|
|
|
|
export function useInfiniteQuery<
|
|
TQueryFnData,
|
|
TError = DefaultError,
|
|
TData = InfiniteData<TQueryFnData>,
|
|
TQueryKey extends QueryKey = QueryKey,
|
|
TPageParam = unknown,
|
|
>(
|
|
options: UndefinedInitialDataInfiniteOptions<
|
|
TQueryFnData,
|
|
TError,
|
|
TData,
|
|
TQueryKey,
|
|
TPageParam
|
|
>,
|
|
queryClient?: QueryClient,
|
|
): UseInfiniteQueryResult<TData, TError>
|
|
|
|
export function useInfiniteQuery<
|
|
TQueryFnData,
|
|
TError = DefaultError,
|
|
TData = InfiniteData<TQueryFnData>,
|
|
TQueryKey extends QueryKey = QueryKey,
|
|
TPageParam = unknown,
|
|
>(
|
|
options: UseInfiniteQueryOptions<
|
|
TQueryFnData,
|
|
TError,
|
|
TData,
|
|
TQueryKey,
|
|
TPageParam
|
|
>,
|
|
queryClient?: QueryClient,
|
|
): UseInfiniteQueryResult<TData, TError>
|
|
|
|
export function useInfiniteQuery(
|
|
options: UseInfiniteQueryOptions,
|
|
queryClient?: QueryClient,
|
|
) {
|
|
return useBaseQuery(
|
|
options,
|
|
InfiniteQueryObserver as typeof QueryObserver,
|
|
queryClient,
|
|
)
|
|
}
|