import {useShopActionInfiniteQuery} from '../../internal/reactQuery' import {useShopActions} from '../../internal/useShopActions' import { PaginatedDataHookOptionsBase, PaginatedDataHookReturnsBase, Product, } from '../../types' export interface UseSavedProductsParams extends PaginatedDataHookOptionsBase { includeSensitive?: boolean } export interface UseSavedProductsReturns extends PaginatedDataHookReturnsBase { products: Product[] | null } /** * Hook to fetch saved (favorited) products. * @param params - Options for the hook. */ export const useSavedProducts = ( params?: UseSavedProductsParams ): UseSavedProductsReturns => { const {getSavedProducts} = useShopActions() const {skip, ...shopActionParams} = params ?? {} const {data, ...rest} = useShopActionInfiniteQuery( ['savedProducts', shopActionParams], getSavedProducts, shopActionParams, {skip} ) return { ...rest, products: data, } } /** * The `useSavedProducts` hook fetches the current user's saved products. * @publicDocs */ export type UseSavedProductsGeneratedType = ( params?: UseSavedProductsParams ) => UseSavedProductsReturns