import {useShopActionInfiniteQuery} from '../../internal/reactQuery' import {useShopActions} from '../../internal/useShopActions' import { Product, PaginatedDataHookOptionsBase, PaginatedDataHookReturnsBase, } from '../../types' export interface UsePopularProductsParams extends PaginatedDataHookOptionsBase {} export interface UsePopularProductsReturns extends PaginatedDataHookReturnsBase { products: Product[] | null } /** * @param options - The options for the query */ export const usePopularProducts = ( params?: UsePopularProductsParams ): UsePopularProductsReturns => { const {getPopularProducts} = useShopActions() const {skip, ...shopActionParams} = params ?? {} const {data, ...rest} = useShopActionInfiniteQuery( ['popularProducts', shopActionParams], getPopularProducts, shopActionParams, {skip} ) return { ...rest, products: data, } } /** * The `usePopularProducts` hook fetches popular products from the catalog. * @publicDocs */ export type UsePopularProductsGeneratedType = ( params?: UsePopularProductsParams ) => UsePopularProductsReturns