summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/components/layouts/BasicLayout.jsx5
-rw-r--r--src/pages/shop/product/variant/[slug].jsx20
2 files changed, 18 insertions, 7 deletions
diff --git a/src/core/components/layouts/BasicLayout.jsx b/src/core/components/layouts/BasicLayout.jsx
index e6bd4de0..9441dbd7 100644
--- a/src/core/components/layouts/BasicLayout.jsx
+++ b/src/core/components/layouts/BasicLayout.jsx
@@ -24,13 +24,12 @@ const BasicLayout = ({ children }) => {
const router = useRouter()
const { product } = useProductContext()
-
useEffect(() => {
- if (router.pathname === '/shop/product/[slug]') {
+ if (router.pathname === '/shop/product/[slug]' || router.pathname === '/shop/product/variant/[slug]') {
setPayloadWa({
name: product?.name,
manufacture: product?.manufacture.name,
- url: createSlug('/shop/product/', product?.name, product?.id, true)
+ url: process.env.NEXT_PUBLIC_SELF_HOST + router.asPath
})
setTemplateWA('product')
diff --git a/src/pages/shop/product/variant/[slug].jsx b/src/pages/shop/product/variant/[slug].jsx
index d0790249..401bce82 100644
--- a/src/pages/shop/product/variant/[slug].jsx
+++ b/src/pages/shop/product/variant/[slug].jsx
@@ -7,6 +7,8 @@ import { useRouter } from 'next/router'
import cookie from 'cookie'
import variantApi from '@/lib/product/api/variantApi'
import axios from 'axios'
+import { useProductContext } from '@/contexts/ProductContext'
+import { useEffect } from 'react'
const BasicLayout = dynamic(() => import('@/core/components/layouts/BasicLayout'))
const Product = dynamic(() => import('@/lib/product/components/Product/Product'))
@@ -19,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, ' ')
@@ -46,6 +50,14 @@ export async function getServerSideProps(context) {
export default function ProductDetail({ product }) {
const router = useRouter()
+ const { setProduct } = useProductContext()
+
+ useEffect(() => {
+ if (product) {
+ setProduct(product)
+ }
+ }, [product, setProduct])
+
if (!product) return <PageNotFound />
return (