summaryrefslogtreecommitdiff
path: root/src/core/components/elements/Navbar/NavbarDesktop.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/components/elements/Navbar/NavbarDesktop.jsx')
-rw-r--r--src/core/components/elements/Navbar/NavbarDesktop.jsx37
1 files changed, 18 insertions, 19 deletions
diff --git a/src/core/components/elements/Navbar/NavbarDesktop.jsx b/src/core/components/elements/Navbar/NavbarDesktop.jsx
index 655c4732..2e4b25fc 100644
--- a/src/core/components/elements/Navbar/NavbarDesktop.jsx
+++ b/src/core/components/elements/Navbar/NavbarDesktop.jsx
@@ -22,6 +22,7 @@ import productApi from '@/lib/product/api/productApi'
import { useSession } from 'next-auth/react'
import { AuthContext } from '@/pages/_app'
import { TopBannerSkeleton } from '../Skeleton/TopBannerSkeleton'
+import { useProductContext } from '@/contexts/ProductContext'
const Search = dynamic(() => import('./Search'))
const TopBanner = dynamic(() => import('./TopBanner'), {
@@ -30,7 +31,7 @@ const TopBanner = dynamic(() => import('./TopBanner'), {
const NavbarDesktop = () => {
const [isOpenCategory, setIsOpenCategory] = useState(false)
- const {authenticated} = useContext(AuthContext)
+ const { authenticated } = useContext(AuthContext)
const auth = useAuth()
const [cartCount, setCartCount] = useState(0)
@@ -40,7 +41,22 @@ const NavbarDesktop = () => {
const [urlPath, setUrlPath] = useState(null)
const router = useRouter()
-
+
+ const { product } = useProductContext()
+
+ useEffect(() => {
+ if (router.pathname === '/shop/product/[slug]') {
+ setPayloadWa({
+ name: product?.name,
+ manufacture: product?.manufacture.name,
+ url: createSlug('/shop/product/', product?.name, product?.id, true)
+ })
+ setTemplateWA('product')
+
+ setUrlPath(router.asPath)
+ }
+ }, [product, router])
+
useEffect(() => {
const handleCartChange = () => {
const cart = async () => {
@@ -52,23 +68,6 @@ const NavbarDesktop = () => {
handleCartChange()
window.addEventListener('localStorageChange', handleCartChange)
- if (router.pathname === '/shop/product/[slug]') {
- const authToken = getAuth().token
-
- const { slug } = router.query
- const getProduct = async () => {
- let product = await productApi({ id: getIdFromSlug(slug), headers: { Token: authToken } })
- setPayloadWa({
- name: product[0]?.name,
- manufacture: product[0]?.manufacture.name,
- url: createSlug('/shop/product/', product[0]?.name, product[0]?.id, true)
- })
- }
- getProduct()
- setTemplateWA('product')
-
- setUrlPath(router.asPath)
- }
return () => {
window.removeEventListener('localStorageChange', handleCartChange)