import { ChevronDownIcon, HeartIcon, ShoppingCartIcon, DocumentCheckIcon } from '@heroicons/react/24/outline' import Link from '../Link/Link' import Image from 'next/image' import DesktopView from '../../views/DesktopView' import dynamic from 'next/dynamic' import IndoteknikLogo from '@/images/logo.png' import Category from '@/lib/category/components/Category' import { useEffect, useState } from 'react' import useAuth from '@/core/hooks/useAuth' import NavbarUserDropdown from './NavbarUserDropdown' import { getCountCart } from '@/core/utils/cart' import whatsappUrl from '@/core/utils/whatsappUrl' import { useRouter } from 'next/router' import { getAuth } from '@/core/utils/auth' import { createSlug, getIdFromSlug } from '@/core/utils/slug' import productApi from '@/lib/product/api/productApi' import { TopBannerSkeleton } from '../Skeleton/TopBannerSkeleton' const Search = dynamic(() => import('./Search')) const TopBanner = dynamic(() => import('./TopBanner'), { loading: () => }) const NavbarDesktop = () => { const [isOpenCategory, setIsOpenCategory] = useState(false) const auth = useAuth() const [cartCount, setCartCount] = useState(0) const [templateWA, setTemplateWA] = useState(null) const [payloadWA, setPayloadWa] = useState(null) const [urlPath, setUrlPath] = useState(null) const router = useRouter() useEffect(() => { const handleCartChange = () => { const cart = async () => { const listCart = await getCountCart() setCartCount(listCart) } cart() } 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) } }, []) return ( Tentang Indoteknik.com Pembayaran Tempo Fitur Layanan Daftar Quotation 0 && 'mr-2'}`}> {cartCount > 0 && ( {cartCount} )} Keranjang Belanja Wishlist Whatsapp 0812 8080 622 (Chat) setIsOpenCategory((isOpen) => !isOpen)} onBlur={() => setIsOpenCategory(false)} className='w-3/12 p-4 font-semibold border border-gray_r-6 rounded-t-xl flex items-center relative' > Kategori Produk Semua Brand Ready Stock Blog Indoteknik Indoteknik TV {!auth && ( <> Masuk Daftar > )} {auth && ( <> Halo, {auth?.name} > )} ) } export default NavbarDesktop