UNPKG

@shopify/shop-minis-react

Version:

React component library for Shopify Shop Minis with Tailwind CSS v4 support (source-only, requires TypeScript)

42 lines (32 loc) 1.02 kB
import {useMemo} from 'react' import {useShopActionInfiniteQuery} from '../../internal/reactQuery' import {useShopActions} from '../../internal/useShopActions' import { Shop, PaginatedDataHookOptionsBase, PaginatedDataHookReturnsBase, } from '../../types' interface UseRecommendedShopsParams extends PaginatedDataHookOptionsBase {} interface UseRecommendedShopsReturns extends PaginatedDataHookReturnsBase { shops: Shop[] | null } export const useRecommendedShops = ( params?: UseRecommendedShopsParams ): UseRecommendedShopsReturns => { const {getRecommendedShops} = useShopActions() const {skip, ...shopActionParamsToPass} = params || {} const {data, ...rest} = useShopActionInfiniteQuery( ['recommendedShops', shopActionParamsToPass], getRecommendedShops, shopActionParamsToPass, {skip} ) const shops = useMemo(() => { if (!data) return null return Array.from(new Map(data.map(shop => [shop.id, shop])).values()) }, [data]) return { ...rest, shops, } }