forked from crowetic/commerce
Fetch only first 100 best selling products (#310)
* Fetch only first 250 best selling products * Update get-all-product-paths.ts * Update use-customer.tsx
This commit is contained in:
parent
a4f56d1549
commit
800ba45fae
@ -10,11 +10,15 @@ export const handler: SWRHook<Customer | null> = {
|
|||||||
query: getCustomerQuery,
|
query: getCustomerQuery,
|
||||||
},
|
},
|
||||||
async fetcher({ options, fetch }) {
|
async fetcher({ options, fetch }) {
|
||||||
const data = await fetch<any | null>({
|
const customerAccessToken = getCustomerToken()
|
||||||
...options,
|
if (customerAccessToken) {
|
||||||
variables: { customerAccessToken: getCustomerToken() },
|
const data = await fetch({
|
||||||
})
|
...options,
|
||||||
return data.customer ?? null
|
variables: { customerAccessToken: getCustomerToken() },
|
||||||
|
})
|
||||||
|
return data.customer
|
||||||
|
}
|
||||||
|
return null
|
||||||
},
|
},
|
||||||
useHook: ({ useData }) => (input) => {
|
useHook: ({ useData }) => (input) => {
|
||||||
return useData({
|
return useData({
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
import { Product } from '@commerce/types'
|
|
||||||
import { getConfig, ShopifyConfig } from '../api'
|
import { getConfig, ShopifyConfig } from '../api'
|
||||||
import fetchAllProducts from '../api/utils/fetch-all-products'
|
|
||||||
import { ProductEdge } from '../schema'
|
import { ProductEdge } from '../schema'
|
||||||
import getAllProductsPathsQuery from '../utils/queries/get-all-products-paths-query'
|
import getAllProductsPathsQuery from '../utils/queries/get-all-products-paths-query'
|
||||||
|
|
||||||
@ -21,21 +19,22 @@ const getAllProductPaths = async (options?: {
|
|||||||
config?: ShopifyConfig
|
config?: ShopifyConfig
|
||||||
preview?: boolean
|
preview?: boolean
|
||||||
}): Promise<ReturnType> => {
|
}): Promise<ReturnType> => {
|
||||||
let { config, variables = { first: 250 } } = options ?? {}
|
let { config, variables = { first: 100, sortKey: 'BEST_SELLING' } } =
|
||||||
|
options ?? {}
|
||||||
config = getConfig(config)
|
config = getConfig(config)
|
||||||
|
|
||||||
const products = await fetchAllProducts({
|
const { data } = await config.fetch(getAllProductsPathsQuery, {
|
||||||
config,
|
|
||||||
query: getAllProductsPathsQuery,
|
|
||||||
variables,
|
variables,
|
||||||
})
|
})
|
||||||
|
|
||||||
return {
|
return {
|
||||||
products: products?.map(({ node: { handle } }: ProductEdge) => ({
|
products: data.products?.edges?.map(
|
||||||
node: {
|
({ node: { handle } }: ProductEdge) => ({
|
||||||
path: `/${handle}`,
|
node: {
|
||||||
},
|
path: `/${handle}`,
|
||||||
})),
|
},
|
||||||
|
})
|
||||||
|
),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,10 +27,9 @@ const getAllProducts = async (options: {
|
|||||||
{ variables }
|
{ variables }
|
||||||
)
|
)
|
||||||
|
|
||||||
const products =
|
const products = data.products?.edges?.map(({ node: p }: ProductEdge) =>
|
||||||
data.products?.edges?.map(({ node: p }: ProductEdge) =>
|
normalizeProduct(p)
|
||||||
normalizeProduct(p)
|
)
|
||||||
) ?? []
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
products,
|
products,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user