From b02510e26e7e9bc292a1779bd23801014b94aad4 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Wed, 26 Apr 2023 17:23:52 +0700 Subject: flash sale and countdown --- .../components/elements/CountDown/CountDown.jsx | 55 ++++++++++++++++++++++ .../elements/Navbar/NavbarUserDropdown.jsx | 1 + 2 files changed, 56 insertions(+) create mode 100644 src/core/components/elements/CountDown/CountDown.jsx (limited to 'src/core/components/elements') diff --git a/src/core/components/elements/CountDown/CountDown.jsx b/src/core/components/elements/CountDown/CountDown.jsx new file mode 100644 index 00000000..49a33d77 --- /dev/null +++ b/src/core/components/elements/CountDown/CountDown.jsx @@ -0,0 +1,55 @@ +import { useEffect, useState } from 'react' + +const CountDown = ({ initialTime }) => { + const days = Math.floor(initialTime / 86400) + const hours = Math.floor((initialTime % 86400) / 3600) + const minutes = Math.floor((initialTime % 3600) / 60) + const seconds = initialTime % 60 + + const [timeLeft, setTimeLeft] = useState({ + day: days, + hour: hours, + minute: minutes, + second: seconds + }) + + useEffect(() => { + const timer = setInterval(() => { + const totalSeconds = timeLeft.day * 86400 + timeLeft.hour * 3600 + timeLeft.minute * 60 + timeLeft.second + const secondsLeft = totalSeconds - 1 + if (secondsLeft < 0) { + clearInterval(timer) + } else { + const days = Math.floor(secondsLeft / 86400) + const hours = Math.floor((secondsLeft % 86400) / 3600) + const minutes = Math.floor((secondsLeft % 3600) / 60) + const seconds = secondsLeft % 60 + setTimeLeft({ day: days, hour: hours, minute: minutes, second: seconds }) + } + }, 1000) + return () => clearInterval(timer) + }, [timeLeft]) + + return ( +
+
+ {timeLeft.day} + Hari +
+
+ {timeLeft.hour} + Jam +
+
+ {timeLeft.minute} + Menit +
+
+ {timeLeft.second} + Detik +
+
+ ) +} + +export default CountDown diff --git a/src/core/components/elements/Navbar/NavbarUserDropdown.jsx b/src/core/components/elements/Navbar/NavbarUserDropdown.jsx index 1d2429a7..7848124c 100644 --- a/src/core/components/elements/Navbar/NavbarUserDropdown.jsx +++ b/src/core/components/elements/Navbar/NavbarUserDropdown.jsx @@ -13,6 +13,7 @@ const NavbarUserDropdown = () => { return (
+ Daftar Quotation Daftar Transaksi Invoice & Faktur Pajak Wishlist -- cgit v1.2.3 From 5d8ad078bdc735e708654e278b226868dc3bc403 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Thu, 27 Apr 2023 16:45:05 +0700 Subject: flash sale mapping, mobile flash sale --- src/core/components/elements/CountDown/CountDown.jsx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/core/components/elements') diff --git a/src/core/components/elements/CountDown/CountDown.jsx b/src/core/components/elements/CountDown/CountDown.jsx index 49a33d77..877f7998 100644 --- a/src/core/components/elements/CountDown/CountDown.jsx +++ b/src/core/components/elements/CountDown/CountDown.jsx @@ -31,22 +31,22 @@ const CountDown = ({ initialTime }) => { }, [timeLeft]) return ( -
+
- {timeLeft.day} - Hari + {timeLeft.day.toString().padStart(2, '0')} + Hari
- {timeLeft.hour} - Jam + {timeLeft.hour.toString().padStart(2, '0')} + Jam
- {timeLeft.minute} - Menit + {timeLeft.minute.toString().padStart(2, '0')} + Menit
- {timeLeft.second} - Detik + {timeLeft.second.toString().padStart(2, '0')} + Detik
) -- cgit v1.2.3 From 9a471fdf2fd6bcb52678c803c4b0b76f5e3417e9 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Fri, 28 Apr 2023 10:05:51 +0700 Subject: banner and link --- src/core/components/elements/Footer/BasicFooter.jsx | 2 +- src/core/components/elements/Navbar/NavbarDesktop.jsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/core/components/elements') diff --git a/src/core/components/elements/Footer/BasicFooter.jsx b/src/core/components/elements/Footer/BasicFooter.jsx index 42698cb2..eecd7fee 100644 --- a/src/core/components/elements/Footer/BasicFooter.jsx +++ b/src/core/components/elements/Footer/BasicFooter.jsx @@ -99,7 +99,7 @@ const AboutUs = () => (
Tentang Kami
  • - Company Profile + Company Profile
  • Karir diff --git a/src/core/components/elements/Navbar/NavbarDesktop.jsx b/src/core/components/elements/Navbar/NavbarDesktop.jsx index 837d436c..1ced4af4 100644 --- a/src/core/components/elements/Navbar/NavbarDesktop.jsx +++ b/src/core/components/elements/Navbar/NavbarDesktop.jsx @@ -44,10 +44,10 @@ const NavbarDesktop = () => { Tentang Indoteknik.com
    - + Pembayaran Tempo - + F.A.Q -- cgit v1.2.3 From ba46cdd517ccbab85b52f886d16e3161cab2f8c8 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Fri, 28 Apr 2023 15:20:02 +0700 Subject: fix suggestion --- src/core/components/elements/Navbar/Search.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/core/components/elements') diff --git a/src/core/components/elements/Navbar/Search.jsx b/src/core/components/elements/Navbar/Search.jsx index 3046782b..8c2ed8d4 100644 --- a/src/core/components/elements/Navbar/Search.jsx +++ b/src/core/components/elements/Navbar/Search.jsx @@ -13,6 +13,7 @@ const Search = () => { const loadSuggestion = useCallback(() => { if (query && document.activeElement == queryRef.current) { searchSuggestApi({ query }).then((response) => { + console.table(response.data.suggestions); setSuggestions(response.data.suggestions) }) } else { @@ -60,7 +61,7 @@ const Search = () => { - {suggestions.length > 1 && ( + {suggestions.length > 0 && ( <>
    {suggestions.map((suggestion, index) => ( -- cgit v1.2.3 From 3701899613c02e547fecebf62f7105860d1a2b72 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Fri, 28 Apr 2023 15:57:13 +0700 Subject: product similar product detail and top banner --- .../components/elements/Navbar/NavbarDesktop.jsx | 2 ++ .../components/elements/Navbar/NavbarMobile.jsx | 2 ++ src/core/components/elements/Navbar/TopBanner.jsx | 25 ++++++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 src/core/components/elements/Navbar/TopBanner.jsx (limited to 'src/core/components/elements') diff --git a/src/core/components/elements/Navbar/NavbarDesktop.jsx b/src/core/components/elements/Navbar/NavbarDesktop.jsx index 1ced4af4..ae4e09dd 100644 --- a/src/core/components/elements/Navbar/NavbarDesktop.jsx +++ b/src/core/components/elements/Navbar/NavbarDesktop.jsx @@ -14,6 +14,7 @@ import { useEffect, useState } from 'react' import useAuth from '@/core/hooks/useAuth' import NavbarUserDropdown from './NavbarUserDropdown' import { getCart } from '@/core/utils/cart' +import TopBanner from './TopBanner' const Search = dynamic(() => import('./Search')) @@ -38,6 +39,7 @@ const NavbarDesktop = () => { return ( +
    diff --git a/src/core/components/elements/Navbar/NavbarMobile.jsx b/src/core/components/elements/Navbar/NavbarMobile.jsx index 0502dba5..072ed572 100644 --- a/src/core/components/elements/Navbar/NavbarMobile.jsx +++ b/src/core/components/elements/Navbar/NavbarMobile.jsx @@ -7,6 +7,7 @@ import dynamic from 'next/dynamic' import IndoteknikLogo from '@/images/logo.png' import { useEffect, useState } from 'react' import { getCart } from '@/core/utils/cart' +import TopBanner from './TopBanner' const Search = dynamic(() => import('./Search')) @@ -30,6 +31,7 @@ const NavbarMobile = () => { return ( +
  • - + 0812-8080-622
  • 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 = () => (
  • - + 0812-8080-622
  • 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 Date: Thu, 4 May 2023 15:38:40 +0700 Subject: optimizing performance --- src/core/components/elements/Navbar/NavbarMobile.jsx | 2 +- src/core/components/elements/Navbar/Search.jsx | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/core/components/elements') diff --git a/src/core/components/elements/Navbar/NavbarMobile.jsx b/src/core/components/elements/Navbar/NavbarMobile.jsx index 1fd7658e..7ac967fa 100644 --- a/src/core/components/elements/Navbar/NavbarMobile.jsx +++ b/src/core/components/elements/Navbar/NavbarMobile.jsx @@ -47,7 +47,7 @@ const NavbarMobile = () => { {cartCount} -
diff --git a/src/core/components/elements/Navbar/Search.jsx b/src/core/components/elements/Navbar/Search.jsx index 77510773..47a9c235 100644 --- a/src/core/components/elements/Navbar/Search.jsx +++ b/src/core/components/elements/Navbar/Search.jsx @@ -56,7 +56,11 @@ const Search = () => { onBlur={onInputBlur} onFocus={loadSuggestion} /> - -- cgit v1.2.3 From e86b2ae98a5dc8d3f1a725278d20ddde6e3dc760 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Thu, 4 May 2023 15:50:40 +0700 Subject: fixing footer --- src/core/components/elements/Footer/SimpleFooter.jsx | 1 + 1 file changed, 1 insertion(+) (limited to 'src/core/components/elements') diff --git a/src/core/components/elements/Footer/SimpleFooter.jsx b/src/core/components/elements/Footer/SimpleFooter.jsx index 343f041d..26f7f786 100644 --- a/src/core/components/elements/Footer/SimpleFooter.jsx +++ b/src/core/components/elements/Footer/SimpleFooter.jsx @@ -1,3 +1,4 @@ +import whatsappUrl from '@/core/utils/whatsappUrl' import { DevicePhoneMobileIcon, EnvelopeIcon, -- cgit v1.2.3