Skip to Content

useSearchGames

The useSearchGames hook searches active pre-match and live games by text. It searches across game participants, leagues, and countries. The search input is automatically debounced and trimmed for optimal performance.

ℹ️

Hook represents a logic wrapper over TanStack Query’s useQuery hook. Explore TanStack Query docs  to understand what data the hook returns.

Usage

import { useSearchGames } from '@azuro-org/sdk' const { data, isFetching } = useSearchGames({ input: 'Man' }) const { games, page, perPage, total, totalPages } = data || {}

Pagination Example

import { useSearchGames } from '@azuro-org/sdk' import { useState } from 'react' const [currentPage, setCurrentPage] = useState(1) const { data, isFetching } = useSearchGames({ input: 'Manchester', page: currentPage, perPage: 20 })

Props

{ input: string // search query text (minimum 3 characters after trimming) chainId?: ChainId // chain ID, defaults to app chain page?: number // page number (1-based), default: 1 perPage?: number // items per page, default: 10 debounceMs?: number // debounce delay in milliseconds, default: 300ms (minimum: 300ms) query?: QueryParameter<SearchGamesResult> // useQuery params }
type ChainId = | 100 // Gnosis | 137 // Polygon | 80002 // Polygon Amoy | 88888 // Chiliz | 88882 // Chiliz Spicy | 8453 // Base | 84532 // Base Sepolia
⚠️

The search query is debounced by debounceMs (default: 300ms, minimum: 300ms) and trimmed with .trim(). The query must be at least 3 characters long to execute.

Return Value

UseQueryResult<SearchGamesResult>
import { type UseQueryResult } from '@tanstack/react-query' type SearchGamesResult = { games: Array<{ id: string gameId: string slug: string title: string startsAt: string state: GameState sport: { sportId: string slug: string name: string sporthub: { id: string slug: string } } league: { slug: string name: string } country: { slug: string name: string } participants: Array<{ image?: string | null name: string }> }> page: number // current page number perPage: number // items per page total: number // total number of matching games totalPages: number // total number of pages }
Last updated on