diff options
| author | trisusilo <tri.susilo@altama.co.id> | 2023-07-26 02:06:44 +0000 |
|---|---|---|
| committer | trisusilo <tri.susilo@altama.co.id> | 2023-07-26 02:06:44 +0000 |
| commit | a72a7503dd5f04c9f3db5a3803dce0610fcff7ea (patch) | |
| tree | 556dc16a61d6b3c1a11081ed6d1df9512c5bc509 /src/core/components/layouts/BasicLayout.jsx | |
| parent | d51b9e83f71a58a6033d61b0f47309a7f4b1dbab (diff) | |
| parent | 0b81a072e67276350d25bfbf0edab87184405125 (diff) | |
Merged in CR/widget_WA (pull request #22)
CR/widget WA
Diffstat (limited to 'src/core/components/layouts/BasicLayout.jsx')
| -rw-r--r-- | src/core/components/layouts/BasicLayout.jsx | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/core/components/layouts/BasicLayout.jsx b/src/core/components/layouts/BasicLayout.jsx index 70482e12..073303fe 100644 --- a/src/core/components/layouts/BasicLayout.jsx +++ b/src/core/components/layouts/BasicLayout.jsx @@ -5,11 +5,21 @@ import whatsappUrl from '@/core/utils/whatsappUrl' import { useEffect, useState } from 'react' import axios from 'axios' import odooApi from '@/core/api/odooApi' +import { useRouter } from 'next/router' +import { getURL } from 'next/dist/shared/lib/utils' +import productApi from '@/lib/product/api/productApi' +import { getAuth } from '@/core/utils/auth' +import { createSlug, getIdFromSlug } from '@/core/utils/slug' const Navbar = dynamic(() => import('../elements/Navbar/Navbar')) const AnimationLayout = dynamic(() => import('./AnimationLayout')) const BasicLayout = ({ children }) => { + const [templateWA, setTemplateWA] = useState(null) + const [payloadWA, setPayloadWa] = useState(null) + + const router = useRouter() + useEffect(() => { const getIP = async () => { const ip = await odooApi('GET', '/api/ip-address') @@ -21,6 +31,23 @@ const BasicLayout = ({ children }) => { axios.get(`/api/user-activity?page_title=${data.page_title}&url=${data.url}&ip=${data.ip}`) } getIP() + 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 } }) + console.log('ini product', product) + setPayloadWa({ + name: product[0]?.name, + manufacture: product[0]?.manufacture.name, + url: createSlug('/shop/product/', product[0]?.name, product[0]?.id, true) + }) + } + getProduct() + setTemplateWA('product') + + } }, []) return ( <> @@ -29,8 +56,10 @@ const BasicLayout = ({ children }) => { {children} <div className='fixed bottom-4 right-4 sm:bottom-14 sm:right-10 z-50'> <a - href={whatsappUrl(null)} + href={whatsappUrl(templateWA, payloadWA)} className='py-2 pl-3 pr-4 rounded-full bg-[#4FB84A] border border-green-300 flex items-center' + rel='noopener noreferrer' + target='_blank' > <Image src='/images/socials/WHATSAPP.svg' |
