import style from '../styles/product-detail.module.css' import Link from 'next/link' import { useRouter } from 'next/router' import { useEffect } from 'react' import { Button } from '@chakra-ui/react' import { MessageCircleIcon, Share2Icon } from 'lucide-react' import { LazyLoadComponent } from 'react-lazy-load-image-component' import { RWebShare } from 'react-web-share' import useDevice from '@/core/hooks/useDevice' import { whatsappUrl } from '~/libs/whatsappUrl' import ProductPromoSection from '~/modules/product-promo/components/Section' import { IProductDetail } from '~/types/product' import { useProductDetail } from '../stores/useProductDetail' import AddToWishlist from './AddToWishlist' import Breadcrumb from './Breadcrumb' import ProductImage from './Image' import Information from './Information' import PriceAction from './PriceAction' import SimilarBottom from './SimilarBottom' import SimilarSide from './SimilarSide' import VariantList from './VariantList' import { getAuth } from '~/libs/auth' import { gtagProductDetail } from '@/core/utils/googleTag' type Props = { product: IProductDetail } const SELF_HOST = process.env.NEXT_PUBLIC_SELF_HOST const ProductDetail = ({ product }: Props) => { const { isDesktop, isMobile } = useDevice() const router = useRouter() const auth = getAuth() const { setAskAdminUrl, askAdminUrl, activeVariantId, setIsApproval, isApproval } = useProductDetail() useEffect(() => { gtagProductDetail(product); },[product]) useEffect(() => { const createdAskUrl = whatsappUrl({ template: 'product', payload: { manufacture: product.manufacture.name, productName: product.name, url: process.env.NEXT_PUBLIC_SELF_HOST + router.asPath }, fallbackUrl: router.asPath }) setAskAdminUrl(createdAskUrl) }, [router.asPath, product.manufacture.name, product.name, setAskAdminUrl]) useEffect(() => { if (typeof auth === 'object') { setIsApproval(auth?.feature?.soApproval); } }, []); return ( <>

{product.name}

{isMobile && (
)}
{!!activeVariantId && !isApproval && }

Variant ({product.variant_total})

Informasi Produk


' ? 'Belum ada deskripsi' : product.description }} />
{isDesktop && (
Produk Serupa
)}
Kamu Mungkin Juga Suka
) } export default ProductDetail