import cn from 'classnames' import type { SearchPropsType } from '@lib/search-props' import Link from 'next/link' import { useState } from 'react' import { useRouter } from 'next/router' import { Layout } from '@components/common' import { ProductCard } from '@components/product' import type { Product } from '@commerce/types/product' import { Container, Skeleton } from '@components/ui' // import useSearch from '@framework/product/use-search' import getSlug from '@lib/get-slug' import rangeMap from '@lib/range-map' const SORT = { 'trending-desc': 'Trending', 'latest-desc': 'Latest arrivals', 'price-asc': 'Price: Low to high', 'price-desc': 'Price: High to low', } import { filterQuery, getCategoryPath, getDesignerPath, useSearchMeta, } from '@lib/search' export default function Search() { return
} // export default function Search({ categories, brands }: SearchPropsType) { // const [activeFilter, setActiveFilter] = useState('') // const [toggleFilter, setToggleFilter] = useState(false) // const router = useRouter() // const { asPath, locale } = router // const { q, sort } = router.query // // `q` can be included but because categories and designers can't be searched // // in the same way of products, it's better to ignore the search input if one // // of those is selected // const query = filterQuery({ sort }) // const { pathname, category, brand } = useSearchMeta(asPath) // const activeCategory = categories.find((cat: any) => cat.slug === category) // const activeBrand = brands.find( // (b: any) => getSlug(b.node.path) === `brands/${brand}` // )?.node // const { data } = useSearch({ // search: typeof q === 'string' ? q : '', // categoryId: activeCategory?.id, // brandId: (activeBrand as any)?.entityId, // sort: typeof sort === 'string' ? sort : '', // locale, // }) // const handleClick = (event: any, filter: string) => { // if (filter !== activeFilter) { // setToggleFilter(true) // } else { // setToggleFilter(!toggleFilter) // } // setActiveFilter(filter) // } // return ( // //
//
// {/* Categories */} //
//
// // // //
// //
// {/* Designs */} //
//
// // // //
// //
//
// {/* Products */} //
// {(q || activeCategory || activeBrand) && ( //
// {data ? ( // <> // // Showing {data.products.length} results{' '} // {q && ( // <> // for "{q}" // // )} // // // {q ? ( // <> // There are no products that match "{q}" // // ) : ( // <> // There are no products that match the selected category. // // )} // // // ) : q ? ( // <> // Searching for: "{q}" // // ) : ( // <>Searching... // )} //
// )} // {data ? ( //
// {data.products.map((product: Product) => ( // // ))} //
// ) : ( //
// {rangeMap(12, (i) => ( // //
// // ))} //
// )}{' '} //
// {/* Sort */} //
//
//
// // // //
// //
//
//
// // ) // } Search.Layout = Layout