summaryrefslogtreecommitdiff
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/shop/product/[slug].jsx28
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 (