import {useShopActionInfiniteQuery} from '../../internal/reactQuery' import {useShopActions} from '../../internal/useShopActions' import { PaginatedDataHookOptionsBase, PaginatedDataHookReturnsBase, ProductReview, } from '../../types' export interface UseProductReviewsParams extends PaginatedDataHookOptionsBase { /** * The product ID to fetch reviews for. */ id: string } interface UseProductReviewsReturns extends PaginatedDataHookReturnsBase { /** * The product reviews returned from the query. */ reviews: ProductReview[] | null } export const useProductReviews = ( params: UseProductReviewsParams ): UseProductReviewsReturns => { const {getProductReviews} = useShopActions() const {id, skip = false, ...restParams} = params const {data, ...rest} = useShopActionInfiniteQuery( ['productReviews', id, restParams], getProductReviews, {id, ...restParams}, {skip} ) return { ...rest, reviews: data, } }