diff options
| author | trisusilo <tri.susilo@altama.co.id> | 2023-09-15 02:29:14 +0000 |
|---|---|---|
| committer | trisusilo <tri.susilo@altama.co.id> | 2023-09-15 02:29:14 +0000 |
| commit | d6f88923e194d841d68030a18c305a2fdb558fa1 (patch) | |
| tree | ba9dbba7ae89c35d01bc4bb3f92d09de53f06385 /src/pages | |
| parent | 6b4a109615799bd6994499c62221b635c9539898 (diff) | |
| parent | e5c08cb213d0c6dbfa5a931e03eeccac518ddba1 (diff) | |
Merged in CR/migrasi_product_detail_to_solr (pull request #68)
CR/migrasi product detail to solr
Diffstat (limited to 'src/pages')
| -rw-r--r-- | src/pages/_app.jsx | 5 | ||||
| -rw-r--r-- | src/pages/shop/product/[slug].jsx | 13 |
2 files changed, 15 insertions, 3 deletions
diff --git a/src/pages/_app.jsx b/src/pages/_app.jsx index 7f23b94b..ef737794 100644 --- a/src/pages/_app.jsx +++ b/src/pages/_app.jsx @@ -10,6 +10,7 @@ import { createContext, useContext, useEffect, useState } from 'react' import LogoSpinner from '@/core/components/elements/Spinner/LogoSpinner' import { SessionProvider } from 'next-auth/react' import { getAuth } from '@/core/utils/auth' +import { ProductProvider } from '@/contexts/ProductContext' const queryClient = new QueryClient() @@ -93,7 +94,9 @@ function MyApp({ Component, pageProps: { session, ...pageProps } }) { initial={false} onExitComplete={() => window.scrollTo(0, 0)} > - {!animateLoader && <Component {...pageProps} key={router.asPath} />} + <ProductProvider> + {!animateLoader && <Component {...pageProps} key={router.asPath} />} + </ProductProvider> </AnimatePresence> </QueryClientProvider> </SessionProvider> diff --git a/src/pages/shop/product/[slug].jsx b/src/pages/shop/product/[slug].jsx index af20413f..534aa8da 100644 --- a/src/pages/shop/product/[slug].jsx +++ b/src/pages/shop/product/[slug].jsx @@ -7,6 +7,8 @@ import dynamic from 'next/dynamic' import { useRouter } from 'next/router' import cookie from 'cookie' 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,7 +21,7 @@ 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) + `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/product-detail?id=` + getIdFromSlug(slug) ) let product = response.data // let productSolr = await productApi({ id: getIdFromSlug(slug), headers: { Token: authToken } }) @@ -41,8 +43,15 @@ export async function getServerSideProps(context) { } } -export default function ProductDetail({ product}) { +export default function ProductDetail({ product }) { const router = useRouter() + const { setProduct } = useProductContext() + + useEffect(() => { + if (product) { + setProduct(product) + } + }, [product, setProduct]) if (!product) return <PageNotFound /> |
