diff options
Diffstat (limited to 'src/pages')
| -rw-r--r-- | src/pages/shop/product/[slug].jsx | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/pages/shop/product/[slug].jsx b/src/pages/shop/product/[slug].jsx index 4c17ab37..d8366d3c 100644 --- a/src/pages/shop/product/[slug].jsx +++ b/src/pages/shop/product/[slug].jsx @@ -9,6 +9,7 @@ import cookie from 'cookie' import axios from 'axios' import { useProductContext } from '@/contexts/ProductContext' import { useEffect } from 'react' +import { updateItemCart } from '@/core/utils/cart' const BasicLayout = dynamic(() => import('@/core/components/layouts/BasicLayout')) const Product = dynamic(() => import('@/lib/product/components/Product/Product')) @@ -22,7 +23,10 @@ export async function getServerSideProps(context) { const authToken = auth?.token || '' let response = await axios( - `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/product-detail?id=` + getIdFromSlug(slug) +'&auth=' + tier + `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/product-detail?id=` + + getIdFromSlug(slug) + + '&auth=' + + tier ) let product = response.data // let productSolr = await productApi({ id: getIdFromSlug(slug), headers: { Token: authToken } }) @@ -39,7 +43,6 @@ export async function getServerSideProps(context) { } export default function ProductDetail({ product }) { - console.log(product); const router = useRouter() const { setProduct } = useProductContext() @@ -49,6 +52,27 @@ export default function ProductDetail({ product }) { } }, [product, setProduct]) + useEffect(() => { + const { action, variantId, qty } = router.query + const addToCart = async () => { + const data = { + productId: variantId, + quantity: qty, + selected: true, + programLineId: null, + source: action + } + console.log('data dr test', data) + await updateItemCart(data) + const redirectURL = action === 'buy' ? '/shop/checkout?source=buy' : '/shop/cart' + router.push(redirectURL) + } + + if (action && variantId && qty) { + addToCart() + } + }, [router]) + if (!product) return <PageNotFound /> return ( |
