summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/components/elements/Footer/BasicFooter.jsx3
-rw-r--r--src/core/components/elements/Footer/SimpleFooter.jsx2
-rw-r--r--src/core/components/elements/Navbar/NavbarDesktop.jsx3
-rw-r--r--src/core/components/layouts/BasicLayout.jsx6
-rw-r--r--src/core/utils/slug.js6
-rw-r--r--src/core/utils/whatsappUrl.js22
6 files changed, 36 insertions, 6 deletions
diff --git a/src/core/components/elements/Footer/BasicFooter.jsx b/src/core/components/elements/Footer/BasicFooter.jsx
index 325d7d7b..d340ff3e 100644
--- a/src/core/components/elements/Footer/BasicFooter.jsx
+++ b/src/core/components/elements/Footer/BasicFooter.jsx
@@ -8,6 +8,7 @@ import {
import Link from '../Link/Link'
import MobileView from '../../views/MobileView'
import DesktopView from '../../views/DesktopView'
+import whatsappUrl from '@/core/utils/whatsappUrl'
const BasicFooter = () => {
return (
@@ -190,7 +191,7 @@ const InformationCenter = () => (
</li>
<li className='text-gray_r-12/80 flex items-center'>
<DevicePhoneMobileIcon className='w-[18px] mr-2' />
- <a href='https://wa.me/628128080622' target='_blank' rel='noreferrer'>
+ <a href={whatsappUrl()} target='_blank' rel='noreferrer'>
0812-8080-622
</a>
</li>
diff --git a/src/core/components/elements/Footer/SimpleFooter.jsx b/src/core/components/elements/Footer/SimpleFooter.jsx
index 41ca6094..343f041d 100644
--- a/src/core/components/elements/Footer/SimpleFooter.jsx
+++ b/src/core/components/elements/Footer/SimpleFooter.jsx
@@ -20,7 +20,7 @@ const SimpleFooter = () => (
</li>
<li className='text-gray_r-12/80 flex items-center'>
<DevicePhoneMobileIcon className='w-[18px] mr-2' />
- <a href='https://wa.me/628128080622' target='_blank' rel='noreferrer'>
+ <a href={whatsappUrl()} target='_blank' rel='noreferrer'>
0812-8080-622
</a>
</li>
diff --git a/src/core/components/elements/Navbar/NavbarDesktop.jsx b/src/core/components/elements/Navbar/NavbarDesktop.jsx
index 43407fab..3da0035a 100644
--- a/src/core/components/elements/Navbar/NavbarDesktop.jsx
+++ b/src/core/components/elements/Navbar/NavbarDesktop.jsx
@@ -15,6 +15,7 @@ import useAuth from '@/core/hooks/useAuth'
import NavbarUserDropdown from './NavbarUserDropdown'
import { getCart } from '@/core/utils/cart'
import TopBanner from './TopBanner'
+import whatsappUrl from '@/core/utils/whatsappUrl'
const Search = dynamic(() => import('./Search'))
@@ -89,7 +90,7 @@ const NavbarDesktop = () => {
Wishlist
</Link>
<a
- href='https://wa.me/628128080622'
+ href={whatsappUrl()}
target='_blank'
rel='noreferrer'
className='flex items-center gap-x-1 !text-gray_r-12/80'
diff --git a/src/core/components/layouts/BasicLayout.jsx b/src/core/components/layouts/BasicLayout.jsx
index 8f45d947..ae4c3eaa 100644
--- a/src/core/components/layouts/BasicLayout.jsx
+++ b/src/core/components/layouts/BasicLayout.jsx
@@ -1,6 +1,7 @@
import dynamic from 'next/dynamic'
import BasicFooter from '../elements/Footer/BasicFooter'
import Image from 'next/image'
+import whatsappUrl from '@/core/utils/whatsappUrl'
const Navbar = dynamic(() => import('../elements/Navbar/Navbar'))
const AnimationLayout = dynamic(() => import('./AnimationLayout'))
@@ -12,7 +13,10 @@ const BasicLayout = ({ children }) => {
<AnimationLayout>
{children}
<div className='fixed bottom-4 right-4 sm:bottom-10 sm:right-8 z-50'>
- <a href='https://wa.me/628128080622' className='py-2 pl-3 pr-4 rounded-full bg-[#4FB84A] border border-green-300 flex items-center'>
+ <a
+ href={whatsappUrl()}
+ className='py-2 pl-3 pr-4 rounded-full bg-[#4FB84A] border border-green-300 flex items-center'
+ >
<Image
src='/images/socials/WHATSAPP.svg'
alt='Whatsapp'
diff --git a/src/core/utils/slug.js b/src/core/utils/slug.js
index d5eecd3e..e91bcf83 100644
--- a/src/core/utils/slug.js
+++ b/src/core/utils/slug.js
@@ -9,7 +9,7 @@ import toTitleCase from './toTitleCase'
* @param {number} id - The ID to be appended to the slug.
* @returns {string} - The generated slug with the prefix, name, and ID.
*/
-const createSlug = (prefix, name, id) => {
+const createSlug = (prefix, name, id, withHost = false) => {
let slug =
name
?.trim()
@@ -19,7 +19,9 @@ const createSlug = (prefix, name, id) => {
id
let splitSlug = slug.split('-')
let filterSlugFromEmptyChar = splitSlug.filter((x) => x != '')
- return prefix + filterSlugFromEmptyChar.join('-')
+ slug = prefix + filterSlugFromEmptyChar.join('-')
+ if (withHost) slug = process.env.NEXT_PUBLIC_SELF_HOST + slug
+ return slug
}
/**
diff --git a/src/core/utils/whatsappUrl.js b/src/core/utils/whatsappUrl.js
new file mode 100644
index 00000000..696e01d8
--- /dev/null
+++ b/src/core/utils/whatsappUrl.js
@@ -0,0 +1,22 @@
+const whatsappUrl = (template = 'default', payload) => {
+ let url = 'https://wa.me/628128080622'
+ let text = ''
+ switch (template) {
+ case 'product':
+ text = `Halo, saya mau tanya ${payload.name}, bisa tolong bantu saya?\n\nBerikut ini linknya: ${payload.url}`
+ break
+ case 'productWeight':
+ text = `Mau tanya untuk berat ${payload.name}, bisa minta tolong informasikan beratnya?\n\nBerikut ini linknya: ${payload.url}`
+ break
+ case 'productSearch':
+ text = `Saya lagi cari-cari produk ${payload.name}, bisa bantu saya cari produknya?`
+ break
+ default:
+ text = 'Halo, saya mau tanya-tanya seputar produk, bisa tolong bantu saya?'
+ break
+ }
+ if (text) url += `?text=${encodeURI(text)}`
+ return url
+}
+
+export default whatsappUrl