UNPKG

@shopify/shop-minis-react

Version:

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

44 lines (34 loc) 1.06 kB
import {useMemo} from 'react' import {useShopActions} from '../../internal/useShopActions' import {useShopActionsPaginatedDataFetching} from '../../internal/useShopActionsPaginatedDataFetching' 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} = useShopActionsPaginatedDataFetching( getRecommendedShops, shopActionParamsToPass, { skip, hook: 'useRecommendedShops', } ) const shops = useMemo(() => { if (!data) return null return Array.from(new Map(data.map(shop => [shop.id, shop])).values()) }, [data]) return { ...rest, shops, } }