mirror of
https://github.com/vercel/commerce.git
synced 2025-05-18 07:26:59 +00:00
feat: Add search products by name
This commit is contained in:
parent
f33cb3fc86
commit
d1ea2354ee
@ -2,6 +2,7 @@
|
|||||||
"provider": "commercelayer",
|
"provider": "commercelayer",
|
||||||
"features": {
|
"features": {
|
||||||
"customerAuth": true,
|
"customerAuth": true,
|
||||||
"cart": true
|
"cart": true,
|
||||||
|
"wishlist": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,31 @@
|
|||||||
import { SWRHook } from '@commerce/utils/types'
|
import { SWRHook } from '@commerce/utils/types'
|
||||||
import useSearch, { UseSearch } from '@commerce/product/use-search'
|
import useSearch, { UseSearch } from '@commerce/product/use-search'
|
||||||
|
import data from '../data.json'
|
||||||
export default useSearch as UseSearch<typeof handler>
|
export default useSearch as UseSearch<typeof handler>
|
||||||
|
|
||||||
|
const productsFinder = (s: string) => {
|
||||||
|
const { products } = data
|
||||||
|
return s
|
||||||
|
? products.filter(
|
||||||
|
(p) => p.name.toLowerCase().search(s.toLowerCase()) !== -1
|
||||||
|
)
|
||||||
|
: []
|
||||||
|
}
|
||||||
|
|
||||||
export const handler: SWRHook<any> = {
|
export const handler: SWRHook<any> = {
|
||||||
fetchOptions: {
|
fetchOptions: {
|
||||||
query: '',
|
query: '',
|
||||||
},
|
},
|
||||||
async fetcher({ input, options, fetch }) {},
|
async fetcher({ input, options, fetch }) {},
|
||||||
useHook: () => () => {
|
useHook:
|
||||||
|
({ useData }) =>
|
||||||
|
({ search }) => {
|
||||||
|
const { mutate } = useData()
|
||||||
|
const products = productsFinder(search)
|
||||||
|
mutate()
|
||||||
return {
|
return {
|
||||||
data: {
|
data: {
|
||||||
products: [],
|
products,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user