summaryrefslogtreecommitdiff
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/api/shop/brands.js6
-rw-r--r--src/pages/api/shop/search.js5
-rw-r--r--src/pages/shop/brands/[slug].jsx6
-rw-r--r--src/pages/shop/product/variant/[slug].jsx10
4 files changed, 19 insertions, 8 deletions
diff --git a/src/pages/api/shop/brands.js b/src/pages/api/shop/brands.js
index e93fe2c9..2025da70 100644
--- a/src/pages/api/shop/brands.js
+++ b/src/pages/api/shop/brands.js
@@ -12,6 +12,11 @@ export default async function handler(req, res) {
case 'level_s':
params = 'level_s:prioritas'
break
+ case 'search':
+ params = `name_s:${req?.query?.q}`
+ sort = ''
+ rows = 1
+ break;
default:
params = `name_s:${req.query.params}`
}
@@ -20,7 +25,6 @@ export default async function handler(req, res) {
process.env.SOLR_HOST +
`/solr/brands/select?q=${params}&q.op=OR&indent=true&rows=${rows}&${sort}`
)
-
let dataBrands = responseMap(brands.data.response.docs)
res.status(200).json(dataBrands)
diff --git a/src/pages/api/shop/search.js b/src/pages/api/shop/search.js
index b4d67c5d..576d028a 100644
--- a/src/pages/api/shop/search.js
+++ b/src/pages/api/shop/search.js
@@ -66,8 +66,9 @@ export default async function handler(req, res) {
)
}
- if (brand) parameter.push(`fq=manufacture_name:${brand.replace(/,/g, ' OR ')}`)
- if (category) parameter.push(`fq=category_name:${category}`)
+ if (brand) parameter.push(`fq=${brand.split(',').map(manufacturer => `manufacture_name:"${manufacturer}"`).join(" OR ")}`)
+ if (category) parameter.push(`fq=${category.split(',').map(cat => `category_name:"${cat}"`).join(' OR ')}`)
+ // if (category) parameter.push(`fq=category_name:${capitalizeFirstLetter(category.replace(/,/g, ' OR '))}`)
if (stock) parameter.push(`fq=stock_total_f:{1 TO *}`)
// Single fq in url params
diff --git a/src/pages/shop/brands/[slug].jsx b/src/pages/shop/brands/[slug].jsx
index d75475b7..c3a7299f 100644
--- a/src/pages/shop/brands/[slug].jsx
+++ b/src/pages/shop/brands/[slug].jsx
@@ -4,6 +4,7 @@ import { useRouter } from 'next/router'
import _ from 'lodash'
import Seo from '@/core/components/Seo'
import Breadcrumb from '@/lib/brand/components/Breadcrumb'
+import useBrand from '@/lib/brand/hooks/useBrand'
const BasicLayout = dynamic(() => import('@/core/components/layouts/BasicLayout'))
const ProductSearch = dynamic(() => import('@/lib/product/components/ProductSearch'))
@@ -14,6 +15,8 @@ export default function BrandDetail() {
const { slug = '' } = router.query
const brandName = getNameFromSlug(slug)
+ const id = getIdFromSlug(slug)
+ const {brand} = useBrand({id})
return (
<BasicLayout>
<Seo
@@ -29,12 +32,13 @@ export default function BrandDetail() {
<Breadcrumb brandName={brandName} />
- <Brand id={getIdFromSlug(slug)} />
+ <Brand brand={brand} />
{!_.isEmpty(router.query) && (
<ProductSearch
query={_.omit(router.query, 'slug')}
prefixUrl={`/shop/brands/${slug}`}
defaultBrand={getNameFromSlug(slug)}
+ brand={brand}
/>
)}
</BasicLayout>
diff --git a/src/pages/shop/product/variant/[slug].jsx b/src/pages/shop/product/variant/[slug].jsx
index 455b248b..401bce82 100644
--- a/src/pages/shop/product/variant/[slug].jsx
+++ b/src/pages/shop/product/variant/[slug].jsx
@@ -21,16 +21,18 @@ export async function getServerSideProps(context) {
const tier = auth.pricelist ? auth.pricelist : false
const authToken = auth?.token || ''
-
let response = await axios(
- `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/variant-detail?id=` + getIdFromSlug(slug) +'&auth=' + tier
+ `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/variant-detail?id=` +
+ getIdFromSlug(slug) +
+ '&auth=' +
+ tier
)
let product = response.data
// let product = await variantApi({ id: getIdFromSlug(slug), headers: { Token: authToken } })
-
+
if (product?.length == 1) {
product = product[0]
- /* const regexHtmlTags = /(<([^>]+)>)/gi
+ /* const regexHtmlTags = /(<([^>]+)>)/gi
const regexHtmlTagsExceptP = /<\/?(?!p\b)[^>]*>/g
product.description = product.description
.replace(regexHtmlTagsExceptP, ' ')