From 9a15f2eea3f182ce8b9cf749f3dcd7b7f42efbaf Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Sat, 16 Nov 2024 10:08:14 +0700 Subject: CR website --- src/pages/my/menu.jsx | 97 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 66 insertions(+), 31 deletions(-) (limited to 'src/pages') diff --git a/src/pages/my/menu.jsx b/src/pages/my/menu.jsx index a0ce223e..1b35d6ba 100644 --- a/src/pages/my/menu.jsx +++ b/src/pages/my/menu.jsx @@ -1,24 +1,24 @@ -import Divider from '@/core/components/elements/Divider/Divider' -import Link from '@/core/components/elements/Link/Link' -import AppLayout from '@/core/components/layouts/AppLayout' -import useAuth from '@/core/hooks/useAuth' -import { deleteAuth } from '@/core/utils/auth' -import IsAuth from '@/lib/auth/components/IsAuth' -import { ChevronRightIcon, UserIcon } from '@heroicons/react/24/solid' -import { signOut, useSession } from 'next-auth/react' -import { useRouter } from 'next/router' -import ImageNext from 'next/image' - +import Divider from '@/core/components/elements/Divider/Divider'; +import Link from '@/core/components/elements/Link/Link'; +import AppLayout from '@/core/components/layouts/AppLayout'; +import useAuth from '@/core/hooks/useAuth'; +import { deleteAuth } from '@/core/utils/auth'; +import IsAuth from '@/lib/auth/components/IsAuth'; +import { ChevronRightIcon, UserIcon } from '@heroicons/react/24/solid'; +import { signOut, useSession } from 'next-auth/react'; +import { useRouter } from 'next/router'; +import ImageNext from 'next/image'; +import whatsappUrl from '@/core/utils/whatsappUrl'; export default function Menu() { - const auth = useAuth() - const router = useRouter() - const { data: session } = useSession() + const auth = useAuth(); + const router = useRouter(); + const { data: session } = useSession(); const logout = () => { deleteAuth().then(() => { - router.push('/login') - }) - } + router.push('/login'); + }); + }; return ( @@ -29,8 +29,12 @@ export default function Menu() {
{auth?.name}
- {auth?.company &&
Akun Bisnis
} - {!auth?.company &&
Akun Individu
} + {auth?.company && ( +
Akun Bisnis
+ )} + {!auth?.company && ( +
Akun Individu
+ )}
@@ -47,32 +51,52 @@ export default function Menu() { {' '}
- +

Daftar Quotation

- +

Daftar Transaksi

- +

Daftar Pengiriman

{' '}
- +

Invoice & Faktur Pajak

- +

Wishlist

@@ -83,10 +107,14 @@ export default function Menu() { Pusat Bantuan
- + {' '}
- +

Layanan Pelanggan

@@ -99,7 +127,11 @@ export default function Menu() {
- +

Daftar Alamat

@@ -112,20 +144,23 @@ export default function Menu() {
- ) + ); } const MenuHeader = ({ children, ...props }) => (
{children}
-) +); const LinkItem = ({ children, ...props }) => ( - + {children}
-) +); -- cgit v1.2.3 From 3f0ad9fcd0827087c0c134cf9ce7608c1d937973 Mon Sep 17 00:00:00 2001 From: trisusilo48 Date: Fri, 29 Nov 2024 14:09:16 +0700 Subject: fixing redis flash sale --- src/pages/api/flashsale-header.js | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) (limited to 'src/pages') diff --git a/src/pages/api/flashsale-header.js b/src/pages/api/flashsale-header.js index 31f8efdd..6916318a 100644 --- a/src/pages/api/flashsale-header.js +++ b/src/pages/api/flashsale-header.js @@ -15,23 +15,36 @@ export default async function handler(req, res) { try { await connectRedis(); const cacheKey = `flashsale_header`; - // await client.del(cacheKey); + + // Cek data yang ada di Redis let cachedData = await client.get(cacheKey); if (cachedData) { - const data = JSON.parse(cachedData); + const data = JSON.parse(cachedData); + + // Periksa apakah data adalah array dan panjangnya 0 + if (!data || (Array.isArray(data) && data.length === 0)) { + await client.del(cacheKey); // Hapus kunci jika data kosong + return res.status(200).json({ data: [] }); + } return res.status(200).json({ data }); } else { const flashSale = await odooApi('GET', `/api/v1/flashsale/header`); + console.log('ini flash sale', flashSale.length); + if (flashSale.length === 0) { + return res.status(200).json({ data: [] }); + } else { + await client.set( + cacheKey, + JSON.stringify(flashSale), + 'EX', + flashSale.duration + ); - await client.set( - cacheKey, - JSON.stringify(flashSale), - 'EX', - flashSale.duration - ); - cachedData = await client.get(cacheKey); - return res.status(200).json({ data: cachedData }); + cachedData = await client.get(cacheKey); + const data = JSON.parse(cachedData); + return res.status(200).json({ data }); + } } } catch (error) { console.error('Error interacting with Redis or fetching data:', error); -- cgit v1.2.3 From f7331b83bd398187728c5ce098ada55053a055df Mon Sep 17 00:00:00 2001 From: trisusilo48 Date: Fri, 29 Nov 2024 14:10:18 +0700 Subject: delete cosnole log --- src/pages/api/flashsale-header.js | 1 - 1 file changed, 1 deletion(-) (limited to 'src/pages') diff --git a/src/pages/api/flashsale-header.js b/src/pages/api/flashsale-header.js index 6916318a..21cb9c9d 100644 --- a/src/pages/api/flashsale-header.js +++ b/src/pages/api/flashsale-header.js @@ -30,7 +30,6 @@ export default async function handler(req, res) { return res.status(200).json({ data }); } else { const flashSale = await odooApi('GET', `/api/v1/flashsale/header`); - console.log('ini flash sale', flashSale.length); if (flashSale.length === 0) { return res.status(200).json({ data: [] }); } else { -- cgit v1.2.3 From d324d01bb9413a023a158a7bd15ba36bb7beb9bc Mon Sep 17 00:00:00 2001 From: trisusilo48 Date: Fri, 29 Nov 2024 14:38:24 +0700 Subject: update performance --- src/pages/index.jsx | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'src/pages') diff --git a/src/pages/index.jsx b/src/pages/index.jsx index 2ec1231a..e685b382 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -16,7 +16,7 @@ import CategoryPilihan from '../lib/home/components/CategoryPilihan'; // import { getAuth } from '~/libs/auth'; const BasicLayout = dynamic(() => - import('@/core/components/layouts/BasicLayout'),{ssr: false} + import('@/core/components/layouts/BasicLayout') ); const HeroBanner = dynamic(() => import('@/components/ui/HeroBanner'), { loading: () => , @@ -40,24 +40,17 @@ const PreferredBrand = dynamic( const FlashSale = dynamic( () => import('@/lib/flashSale/components/FlashSale'), - { - loading: () => , - } ); const ProgramPromotion = dynamic( - () => import('@/lib/home/components/PromotionProgram'), - { - loading: () => , - } + () => import('@/lib/home/components/PromotionProgram') ); const BannerSection = dynamic(() => import('@/lib/home/components/BannerSection') ); const CategoryHomeId = dynamic( - () => import('@/lib/home/components/CategoryHomeId'), - { ssr: false } + () => import('@/lib/home/components/CategoryHomeId') ); const CategoryDynamic = dynamic(() => -- cgit v1.2.3 From 0c142968af5390d4cb615d18fae119aa77fb4654 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Mon, 2 Dec 2024 09:41:45 +0700 Subject: update redis search product flash sale --- src/pages/api/search-flashsale.js | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) (limited to 'src/pages') diff --git a/src/pages/api/search-flashsale.js b/src/pages/api/search-flashsale.js index d9e56c83..c00f6c64 100644 --- a/src/pages/api/search-flashsale.js +++ b/src/pages/api/search-flashsale.js @@ -23,20 +23,28 @@ export default async function handler(req, res) { if (cachedData) { const data = JSON.parse(cachedData); + // Periksa apakah data adalah array dan panjangnya 0 + if (!data || (Array.isArray(data) && data.length === 0)) { + await client.del(cacheKey); // Hapus kunci jika data kosong + return res.status(200).json({ data: [] }); + } return res.status(200).json({ data }); } else { const dataProductSearch = await axios( `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/search?${query}&operation=${operation}]` ); - - await client.set( - cacheKey, - JSON.stringify(dataProductSearch.data), - 'EX', - duration - ); - cachedData = await client.get(cacheKey); - return res.status(200).json({ data: cachedData }); + if (dataProductSearch.data.length === 0) { + return res.status(200).json({ data: [] }); + } else { + await client.set( + cacheKey, + JSON.stringify(dataProductSearch.data), + 'EX', + duration + ); + cachedData = await client.get(cacheKey); + return res.status(200).json({ data: cachedData }); + } } } catch (error) { console.error('Error interacting with Redis or fetching data:', error); -- cgit v1.2.3 From 4c8d08def514cb441007c0bd2bc78e105e6d0153 Mon Sep 17 00:00:00 2001 From: trisusilo48 Date: Wed, 4 Dec 2024 11:50:21 +0700 Subject: cr popup information method --- src/pages/api/hero-banner.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/pages') diff --git a/src/pages/api/hero-banner.js b/src/pages/api/hero-banner.js index 7a348cfa..b7f3c1c5 100644 --- a/src/pages/api/hero-banner.js +++ b/src/pages/api/hero-banner.js @@ -28,6 +28,8 @@ export default async function handler(req, res) { `/api/v1/banner?type=${type}` ); + if(!dataBannerSections) return res.status(200).json({ data: [] }); + // Simpan hasil fetch ke Redis dengan masa kadaluarsa 3 hari (259200 detik) await client.set( cacheKey, -- cgit v1.2.3 From 0ef6dd27b4c516c6948e8107c9e2477fca9f069f Mon Sep 17 00:00:00 2001 From: trisusilo48 Date: Fri, 6 Dec 2024 11:02:51 +0700 Subject: update performance --- src/pages/index.jsx | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'src/pages') diff --git a/src/pages/index.jsx b/src/pages/index.jsx index e685b382..fce2202a 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -1,23 +1,27 @@ import { HeroBannerSkeleton } from '@/components/skeleton/BannerSkeleton'; import { PopularProductSkeleton } from '@/components/skeleton/PopularProductSkeleton'; -import odooApi from '@/core/api/odooApi'; import Seo from '@/core/components/Seo'; import DelayRender from '@/core/components/elements/DelayRender/DelayRender'; import DesktopView from '@/core/components/views/DesktopView'; import MobileView from '@/core/components/views/MobileView'; -import { FlashSaleSkeleton } from '@/lib/flashSale/skeleton/FlashSaleSkeleton'; -import BannerPromoSkeleton from '@/lib/home/components/Skeleton/BannerPromoSkeleton'; import PreferredBrandSkeleton from '@/lib/home/components/Skeleton/PreferredBrandSkeleton'; import dynamic from 'next/dynamic'; -import { useEffect, useRef, useState } from 'react'; +import { useRef } from 'react'; import { getAuth } from '~/libs/auth'; -import PagePopupIformation from '~/modules/popup-information'; // need change to dynamic and ssr : false -import CategoryPilihan from '../lib/home/components/CategoryPilihan'; -// import { getAuth } from '~/libs/auth'; const BasicLayout = dynamic(() => import('@/core/components/layouts/BasicLayout') ); + +const PagePopupIformation = dynamic(() => + import('~/modules/popup-information'), { + ssr: false + } +); + +const CategoryPilihan = dynamic(() => + import('../lib/home/components/CategoryPilihan') +); const HeroBanner = dynamic(() => import('@/components/ui/HeroBanner'), { loading: () => , }); -- cgit v1.2.3 From bb118223e541504262da4509e9188610539702fe Mon Sep 17 00:00:00 2001 From: trisusilo48 Date: Mon, 9 Dec 2024 13:58:37 +0700 Subject: sitemaps homepage --- src/pages/sitemap/homepage.xml.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/pages/sitemap/homepage.xml.js (limited to 'src/pages') diff --git a/src/pages/sitemap/homepage.xml.js b/src/pages/sitemap/homepage.xml.js new file mode 100644 index 00000000..08c52112 --- /dev/null +++ b/src/pages/sitemap/homepage.xml.js @@ -0,0 +1,33 @@ +import { create } from 'xmlbuilder'; + +export async function getServerSideProps({ res }) { + const links = [ + { label: 'Hubungi Kami', url: 'https://indoteknik.com/hubungi-kami' }, + { label: 'Tentang Kami', url: 'https://indoteknik.com/tentang-kami' }, + { label: 'Karir', url: 'https://indoteknik.com/karir' }, + { label: 'Daftar Tempo', url: 'https://indoteknik.com/my/pembayaran-tempo' }, + ]; + const sitemap = create('urlset', { encoding: 'utf-8' }).att( + 'xmlns', + 'http://www.sitemaps.org/schemas/sitemap/0.9' + ) + + const date = new Date() + links.forEach((link) => { + const url = sitemap.ele('url') + url.ele('loc', link.url) + url.ele('lastmod', date.toISOString().slice(0, 10)) + url.ele('changefreq', 'daily') + url.ele('priority', '1.0') + }) + + res.setHeader('Content-Type', 'text/xml') + res.write(sitemap.end()) + res.end() + + return { props: {} } +} + +export default function SitemapProducts() { + return null +} -- cgit v1.2.3 From b3be7e6d5c320764ef3ca38df196218abf9be25b Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Tue, 10 Dec 2024 10:05:47 +0700 Subject: move formulis & add state field --- src/pages/daftar-merchant.jsx | 15 +++++++++++++++ src/pages/kunjungan-sales.jsx | 15 +++++++++++++++ src/pages/kunjungan-service.jsx | 15 +++++++++++++++ src/pages/my/daftar-merchant.jsx | 15 --------------- src/pages/my/kunjungan-sales.jsx | 15 --------------- src/pages/my/kunjungan-service.jsx | 15 --------------- src/pages/my/request-for-quotation.jsx | 15 --------------- src/pages/my/surat-dukungan.jsx | 16 ---------------- src/pages/request-for-quotation.jsx | 15 +++++++++++++++ src/pages/surat-dukungan.jsx | 16 ++++++++++++++++ 10 files changed, 76 insertions(+), 76 deletions(-) create mode 100644 src/pages/daftar-merchant.jsx create mode 100644 src/pages/kunjungan-sales.jsx create mode 100644 src/pages/kunjungan-service.jsx delete mode 100644 src/pages/my/daftar-merchant.jsx delete mode 100644 src/pages/my/kunjungan-sales.jsx delete mode 100644 src/pages/my/kunjungan-service.jsx delete mode 100644 src/pages/my/request-for-quotation.jsx delete mode 100644 src/pages/my/surat-dukungan.jsx create mode 100644 src/pages/request-for-quotation.jsx create mode 100644 src/pages/surat-dukungan.jsx (limited to 'src/pages') diff --git a/src/pages/daftar-merchant.jsx b/src/pages/daftar-merchant.jsx new file mode 100644 index 00000000..e1fa9bcb --- /dev/null +++ b/src/pages/daftar-merchant.jsx @@ -0,0 +1,15 @@ +import Seo from '@/core/components/Seo' +import BasicLayout from '@/core/components/layouts/BasicLayout' +import CreateMerchant from '@/lib/form/components/Merchant' + +export default function DaftarMerchant() { + return ( + <> + + + + + + + ) +} diff --git a/src/pages/kunjungan-sales.jsx b/src/pages/kunjungan-sales.jsx new file mode 100644 index 00000000..052991d9 --- /dev/null +++ b/src/pages/kunjungan-sales.jsx @@ -0,0 +1,15 @@ +import Seo from '@/core/components/Seo' +import BasicLayout from '@/core/components/layouts/BasicLayout' +import KunjunganSales from '@/lib/form/components/KunjunganSales' + +export default function kunjungan_sales() { + return ( + <> + + + + + + + ) +} diff --git a/src/pages/kunjungan-service.jsx b/src/pages/kunjungan-service.jsx new file mode 100644 index 00000000..37de5a0b --- /dev/null +++ b/src/pages/kunjungan-service.jsx @@ -0,0 +1,15 @@ +import Seo from '@/core/components/Seo' +import BasicLayout from '@/core/components/layouts/BasicLayout' +import CreateKunjunganService from '@/lib/form/components/KunjunganService' + +export default function kunjungan_service() { + return ( + <> + + + + + + + ) +} diff --git a/src/pages/my/daftar-merchant.jsx b/src/pages/my/daftar-merchant.jsx deleted file mode 100644 index e1fa9bcb..00000000 --- a/src/pages/my/daftar-merchant.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import Seo from '@/core/components/Seo' -import BasicLayout from '@/core/components/layouts/BasicLayout' -import CreateMerchant from '@/lib/form/components/Merchant' - -export default function DaftarMerchant() { - return ( - <> - - - - - - - ) -} diff --git a/src/pages/my/kunjungan-sales.jsx b/src/pages/my/kunjungan-sales.jsx deleted file mode 100644 index 052991d9..00000000 --- a/src/pages/my/kunjungan-sales.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import Seo from '@/core/components/Seo' -import BasicLayout from '@/core/components/layouts/BasicLayout' -import KunjunganSales from '@/lib/form/components/KunjunganSales' - -export default function kunjungan_sales() { - return ( - <> - - - - - - - ) -} diff --git a/src/pages/my/kunjungan-service.jsx b/src/pages/my/kunjungan-service.jsx deleted file mode 100644 index 37de5a0b..00000000 --- a/src/pages/my/kunjungan-service.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import Seo from '@/core/components/Seo' -import BasicLayout from '@/core/components/layouts/BasicLayout' -import CreateKunjunganService from '@/lib/form/components/KunjunganService' - -export default function kunjungan_service() { - return ( - <> - - - - - - - ) -} diff --git a/src/pages/my/request-for-quotation.jsx b/src/pages/my/request-for-quotation.jsx deleted file mode 100644 index 40fda009..00000000 --- a/src/pages/my/request-for-quotation.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import Seo from '@/core/components/Seo' -import BasicLayout from '@/core/components/layouts/BasicLayout' -import FormRequestForQuotation from '@/lib/form/components/RequestForQuotation' - -export default function RequestForQuotation() { - return ( - <> - - - - - - - ) -} diff --git a/src/pages/my/surat-dukungan.jsx b/src/pages/my/surat-dukungan.jsx deleted file mode 100644 index 8058f34d..00000000 --- a/src/pages/my/surat-dukungan.jsx +++ /dev/null @@ -1,16 +0,0 @@ -import Seo from '@/core/components/Seo' -import BasicLayout from '@/core/components/layouts/BasicLayout' -import CreateKunjunganService from '@/lib/form/components/KunjunganService' -import CreateSuratDukungan from '@/lib/form/components/SuratDukungan' - -export default function surat_dukungan() { - return ( - <> - - - - - - - ) -} diff --git a/src/pages/request-for-quotation.jsx b/src/pages/request-for-quotation.jsx new file mode 100644 index 00000000..40fda009 --- /dev/null +++ b/src/pages/request-for-quotation.jsx @@ -0,0 +1,15 @@ +import Seo from '@/core/components/Seo' +import BasicLayout from '@/core/components/layouts/BasicLayout' +import FormRequestForQuotation from '@/lib/form/components/RequestForQuotation' + +export default function RequestForQuotation() { + return ( + <> + + + + + + + ) +} diff --git a/src/pages/surat-dukungan.jsx b/src/pages/surat-dukungan.jsx new file mode 100644 index 00000000..8058f34d --- /dev/null +++ b/src/pages/surat-dukungan.jsx @@ -0,0 +1,16 @@ +import Seo from '@/core/components/Seo' +import BasicLayout from '@/core/components/layouts/BasicLayout' +import CreateKunjunganService from '@/lib/form/components/KunjunganService' +import CreateSuratDukungan from '@/lib/form/components/SuratDukungan' + +export default function surat_dukungan() { + return ( + <> + + + + + + + ) +} -- cgit v1.2.3 From 141e9113c7dc4483ab049137b4e4ac731657cfb0 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Tue, 10 Dec 2024 13:40:28 +0700 Subject: update code --- src/pages/my/pembayaran-tempo.jsx | 15 --------------- src/pages/pembayaran-tempo-detail.jsx | 13 +++++++++++++ src/pages/pembayaran-tempo.jsx | 14 ++++++++------ src/pages/sitemap/homepage.xml.js | 28 ++++++++++++++-------------- 4 files changed, 35 insertions(+), 35 deletions(-) delete mode 100644 src/pages/my/pembayaran-tempo.jsx create mode 100644 src/pages/pembayaran-tempo-detail.jsx (limited to 'src/pages') diff --git a/src/pages/my/pembayaran-tempo.jsx b/src/pages/my/pembayaran-tempo.jsx deleted file mode 100644 index 8947bdd9..00000000 --- a/src/pages/my/pembayaran-tempo.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import Seo from '@/core/components/Seo' -import BasicLayout from '@/core/components/layouts/BasicLayout' -import PembayaranTempo from '@/lib/form/components/PembayaranTempo' - -export default function pembayaranTempo() { - return ( - <> - - - - - - - ) -} diff --git a/src/pages/pembayaran-tempo-detail.jsx b/src/pages/pembayaran-tempo-detail.jsx new file mode 100644 index 00000000..363e3099 --- /dev/null +++ b/src/pages/pembayaran-tempo-detail.jsx @@ -0,0 +1,13 @@ +import Seo from '@/core/components/Seo' +import BasicLayout from '@/core/components/layouts/BasicLayout' +import IframeContent from '@/lib/iframe/components/IframeContent' + +export default function PembnayaranTempo() { + return ( + + + + + + ) +} diff --git a/src/pages/pembayaran-tempo.jsx b/src/pages/pembayaran-tempo.jsx index 363e3099..8947bdd9 100644 --- a/src/pages/pembayaran-tempo.jsx +++ b/src/pages/pembayaran-tempo.jsx @@ -1,13 +1,15 @@ import Seo from '@/core/components/Seo' import BasicLayout from '@/core/components/layouts/BasicLayout' -import IframeContent from '@/lib/iframe/components/IframeContent' +import PembayaranTempo from '@/lib/form/components/PembayaranTempo' -export default function PembnayaranTempo() { +export default function pembayaranTempo() { return ( - - + <> + - - + + + + ) } diff --git a/src/pages/sitemap/homepage.xml.js b/src/pages/sitemap/homepage.xml.js index 08c52112..fa622d5c 100644 --- a/src/pages/sitemap/homepage.xml.js +++ b/src/pages/sitemap/homepage.xml.js @@ -5,29 +5,29 @@ export async function getServerSideProps({ res }) { { label: 'Hubungi Kami', url: 'https://indoteknik.com/hubungi-kami' }, { label: 'Tentang Kami', url: 'https://indoteknik.com/tentang-kami' }, { label: 'Karir', url: 'https://indoteknik.com/karir' }, - { label: 'Daftar Tempo', url: 'https://indoteknik.com/my/pembayaran-tempo' }, + { label: 'Daftar Tempo', url: 'https://indoteknik.com/pembayaran-tempo' }, ]; const sitemap = create('urlset', { encoding: 'utf-8' }).att( 'xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9' - ) + ); - const date = new Date() + const date = new Date(); links.forEach((link) => { - const url = sitemap.ele('url') - url.ele('loc', link.url) - url.ele('lastmod', date.toISOString().slice(0, 10)) - url.ele('changefreq', 'daily') - url.ele('priority', '1.0') - }) + const url = sitemap.ele('url'); + url.ele('loc', link.url); + url.ele('lastmod', date.toISOString().slice(0, 10)); + url.ele('changefreq', 'daily'); + url.ele('priority', '1.0'); + }); - res.setHeader('Content-Type', 'text/xml') - res.write(sitemap.end()) - res.end() + res.setHeader('Content-Type', 'text/xml'); + res.write(sitemap.end()); + res.end(); - return { props: {} } + return { props: {} }; } export default function SitemapProducts() { - return null + return null; } -- cgit v1.2.3 From 9962d114e590bfc5e6c865489ab4dcd84de81ad9 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Mon, 16 Dec 2024 08:28:11 +0700 Subject: perbaikan code flash sale --- src/pages/api/flashsale-header.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/pages') diff --git a/src/pages/api/flashsale-header.js b/src/pages/api/flashsale-header.js index 21cb9c9d..578801ae 100644 --- a/src/pages/api/flashsale-header.js +++ b/src/pages/api/flashsale-header.js @@ -20,13 +20,19 @@ export default async function handler(req, res) { let cachedData = await client.get(cacheKey); if (cachedData) { - const data = JSON.parse(cachedData); + const data = JSON.parse(cachedData); // Periksa apakah data adalah array dan panjangnya 0 if (!data || (Array.isArray(data) && data.length === 0)) { await client.del(cacheKey); // Hapus kunci jika data kosong return res.status(200).json({ data: [] }); } + // Periksa apakah end_date lebih besar dari waktu saat ini + const currentTime = new Date(); + if (data[0].endDate && new Date(data[0].endDate) < currentTime) { + await client.del(cacheKey); // Hapus kunci jika end_date lebih kecil dari waktu saat ini + return res.status(200).json({ data: [] }); + } return res.status(200).json({ data }); } else { const flashSale = await odooApi('GET', `/api/v1/flashsale/header`); @@ -37,11 +43,11 @@ export default async function handler(req, res) { cacheKey, JSON.stringify(flashSale), 'EX', - flashSale.duration + flashSale.duration ); cachedData = await client.get(cacheKey); - const data = JSON.parse(cachedData); + const data = JSON.parse(cachedData); return res.status(200).json({ data }); } } -- cgit v1.2.3