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",
|
||||
"features": {
|
||||
"customerAuth": true,
|
||||
"cart": true
|
||||
"cart": true,
|
||||
"wishlist": true
|
||||
}
|
||||
}
|
||||
|
@ -1,16 +1,31 @@
|
||||
import { SWRHook } from '@commerce/utils/types'
|
||||
import useSearch, { UseSearch } from '@commerce/product/use-search'
|
||||
import data from '../data.json'
|
||||
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> = {
|
||||
fetchOptions: {
|
||||
query: '',
|
||||
},
|
||||
async fetcher({ input, options, fetch }) {},
|
||||
useHook: () => () => {
|
||||
useHook:
|
||||
({ useData }) =>
|
||||
({ search }) => {
|
||||
const { mutate } = useData()
|
||||
const products = productsFinder(search)
|
||||
mutate()
|
||||
return {
|
||||
data: {
|
||||
products: [],
|
||||
products,
|
||||
},
|
||||
}
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user