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 --- src/lib/flashSale/api/flashSaleApi.js | 8 +++++++ src/lib/flashSale/components/FlashSale.jsx | 37 ++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 src/lib/flashSale/api/flashSaleApi.js create mode 100644 src/lib/flashSale/components/FlashSale.jsx (limited to 'src/lib/flashSale') diff --git a/src/lib/flashSale/api/flashSaleApi.js b/src/lib/flashSale/api/flashSaleApi.js new file mode 100644 index 00000000..115b07dc --- /dev/null +++ b/src/lib/flashSale/api/flashSaleApi.js @@ -0,0 +1,8 @@ +import odooApi from '@/core/api/odooApi' + +const flashSaleApi = async () => { + const flashSale = await odooApi('GET', '/api/v1/flashsale/header') + return flashSale +} + +export default flashSaleApi diff --git a/src/lib/flashSale/components/FlashSale.jsx b/src/lib/flashSale/components/FlashSale.jsx new file mode 100644 index 00000000..0167dc57 --- /dev/null +++ b/src/lib/flashSale/components/FlashSale.jsx @@ -0,0 +1,37 @@ +import { useEffect, useState } from 'react' +import flashSaleApi from '../api/flashSaleApi' +import Image from '@/core/components/elements/Image/Image' +import CountDown from '@/core/components/elements/CountDown/CountDown' + +const FlashSale = () => { + const [flashSales, setFlashSales] = useState(null) + + useEffect(() => { + const loadFlashSales = async () => { + const dataFlashSales = await flashSaleApi() + setFlashSales(dataFlashSales) + } + loadFlashSales() + }, []) + + return flashSales?.length > 0 && ( +
+ + {flashSales.map((flashSale, index) => ( +
+
{flashSale.name}
+ +
+
+ +
+ {flashSale.name} +
+ +
+ ))} +
+ ) +} + +export default FlashSale -- cgit v1.2.3