From 94b3d92bf998dc4705e33c6f171d2c52e7450889 Mon Sep 17 00:00:00 2001 From: MiladSadeghi Date: Sun, 13 Nov 2022 12:21:37 +0330 Subject: [PATCH] Home page - shop offers --- src/images/24-7-support.png | Bin 0 -> 2914 bytes src/images/cash-back.png | Bin 0 -> 2713 bytes src/images/free-delivery.png | Bin 0 -> 1918 bytes src/images/quality-product.png | Bin 0 -> 2617 bytes src/index.css | 4 +-- src/routes/Home/LatestProducts.tsx | 2 +- src/routes/Home/ShopOffers.tsx | 38 +++++++++++++++++++++++++++++ src/routes/Home/main.tsx | 2 ++ src/types/images.d.ts | 3 +++ src/types/public.types.ts | 6 +++++ tsconfig.json | 3 ++- 11 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 src/images/24-7-support.png create mode 100644 src/images/cash-back.png create mode 100644 src/images/free-delivery.png create mode 100644 src/images/quality-product.png create mode 100644 src/routes/Home/ShopOffers.tsx create mode 100644 src/types/images.d.ts diff --git a/src/images/24-7-support.png b/src/images/24-7-support.png new file mode 100644 index 0000000000000000000000000000000000000000..78b161c86b4e2c568f4ed6a6f6b045349106063a GIT binary patch literal 2914 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 M07*qoM6N<$f`%_j$^ZZW literal 0 HcmV?d00001 diff --git a/src/images/cash-back.png b/src/images/cash-back.png new file mode 100644 index 0000000000000000000000000000000000000000..c792d3eb8598cf0bd142e7144e7a4f9b1d152cd2 GIT binary patch literal 2713 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 Ef|*2**8l(j literal 0 HcmV?d00001 diff --git a/src/images/quality-product.png b/src/images/quality-product.png new file mode 100644 index 0000000000000000000000000000000000000000..da5f13c3d45ec507f7e202adac8c90348a866b62 GIT binary patch literal 2617 zcmV-93dZ$`P)AGK~#7F)mvR` z6xS90?#!;S3E(xL7-9lTqohBPz=Wnvq%^jZhpG<|fks5Bij1oYRcb}jO6g0gvLLk& ztwbU16RnD^RH_;tz-^?est9YS6iP^Aqe2y|-~}53)W-k#XLs+-xwHP6JKmYOcf59- zPa5ye%$>V4-<IVLevU@1Q<(VkWLOcO$Hbf?cf;5fwdve z(`CESjzs{&0z$lpBw|)02VSGyMA1gGBosr2?l3($&JR|+Lf;n%3qpc?coAdA1z3G( z<6shI!O*-=WR#Qy@gcqKoONL8%?HCuK*TB`hUxnd1IrCKTj*sBDYlazLR#ExE^UkLW1Nj_ph?-YehyaHG z+d88hlmtBT4wppkNCFN4A^I;BW{8L@ z&zwYp?kfU}NpP}2fxYfy{Gneh8UZuENkrU#^sstN;I-@t)WZD5zjn1a@7h}fOU_?Upebg(dF!=#d{WC-Yd3gK$H&OAgm$35mE?AS{*8}_RQ zZR6jct5Y?F(o$i4-y2hPjLOi)3pv9g9@~RzPo9l3+RQXq>QN4|w$puJaa5n?97tt)Te}APo&@lOVXL zXRg#rlAr@dZ=PLwogV&m=;DD3KXEn_Oss2klQ1O-p4PcmTMjl8$_U6A4K5*MSJx@~ z-un%LHVG6JYG;3;a?$gGFvz^Y6D4YOuhk;KnJjS)lSPF#$%_iUOnEU0UFWE03FFan z^2G+P*sLCS5S2RDMH)LGz7b0iJf`)`a}bS${2-PhtX#DF(j%c9YGCI}lLVIQR}b8U z){SbBz_vLg%n-pQ&C}b(fbGdbSrfDdBqnmm%zTq1keKlzjlxc zGHwz?#@;11oAhBm(F&ndgstA+7DDD{04V{L02#%Eam6}P1&Y7V&L|VEG_1}&dY-(e z`8X@8CCI!W@$c=PN|d=3NJJVtu$*XuD}$7lU}s*&Vq)c`UEWe0CYfkJ1Vkg@X=L(H z7fLY78|=*P1rM9j0#^O!xj7**FYsfNh~P%FQ6!=4NgNrKIllK$3u1=hq9#R0&buebn&*_J}$q|6YG1e%W~; ziFqJ$X+HI5k%SGWH2-Yk5bCOmIAwB}GJNtX|1w>eV~qEwoe1E4`x5W=zKRpK3iZfI zpsG2=B5BbmSyEunmb%Uk{M`ARLj+lc)lG$%JHG&zbqcCm>da5d2agT3q2k7yzKgj| z-1-fXFk5*lD=ZdEAp)XX!U>vw6;Nh$6R`~TtbgA5^aX`cXAJ{ciJ)n^+?WMEG&Hqn ztDSUzJ#ZCU&)8P9^c;6S-4Il0`F)B-iVl%Ta7&>WzO}IhPm~{mmCYa&n(G*|EP;22 z58%|b{l0C8h;2lK@oJT5j?oTYr?{%75&fG##>l!qQY|2f`QYBNI$Wtbj59SK<8Jl- zz_#>8jS8{Ti0Tt|_?=i;0jyb7_&%|!5xwz7{PTPVHkGIG*z#7aTh@Vc%irAZ=M#>p zcaGNM>PQ_Pd8Q7rc;VcdH8fUOPHpb{UM@pb3WhM214*HtEa8mb`7Kocc;-v9`ybr| zPXAYJBT1+(D}=gy-(dSdZ)L4~_%Yi0vT9}P@yCHLxDw&3SE{Z$MbqFYK7t zATc~fRr+E0gCYIveXN}Y+;m@`YW|XhwQGX9L?aAgM1ms)xK^!su+>we?YfI#AG)kC} z!2LU4yRsmMY3N8H^$N?#uQJ^Ylfl3D0?g%_pEL9LM}^DIC1gB}SiI4XFhaPuC5F{L*L99cqK{ { useEffect(() => { const products: Product[] = Products.filter(product => product.category === "Leatest Products" && product.section === section); setLatestProducts(products); - }, [section]) + }, [section, Products]) if (latestProducts.length === 0) return null; return ( diff --git a/src/routes/Home/ShopOffers.tsx b/src/routes/Home/ShopOffers.tsx new file mode 100644 index 0000000..8582760 --- /dev/null +++ b/src/routes/Home/ShopOffers.tsx @@ -0,0 +1,38 @@ +import React from 'react' +import FreeDeliveryIMG from "../../images/free-delivery.png"; +import CashBackIMG from "../../images/cash-back.png"; +import QualityProductIMG from "../../images/quality-product.png"; +import Support from "../../images/24-7-support.png"; +import { ShopOfferContent } from '../../types/public.types'; + +const ShopOffers = () => { + const content: ShopOfferContent[] = [ + {text: "For orders above 50%, we will have free shipping.", title: "Free Delivery", image: FreeDeliveryIMG}, + {text: "If you are not satisfied, we will refund your money.", title: "100% Cash Back", image: CashBackIMG}, + {text: "The quality of all products is checked at the time of entry", title: "Quality Product", image: QualityProductIMG}, + {text: "24/7 support to respond to customers", title: "24/7 Support", image: Support} + ] + + return ( +
+
+

What's Hekto Offer?

+
+
+ { + content.map(item => ( +
+ +

{item.title}

+

{item.text}

+
+ )) + } +
+
+
+
+ ) +} + +export default ShopOffers; \ No newline at end of file diff --git a/src/routes/Home/main.tsx b/src/routes/Home/main.tsx index 1fd6870..b5c103d 100644 --- a/src/routes/Home/main.tsx +++ b/src/routes/Home/main.tsx @@ -2,6 +2,7 @@ import React from 'react' import FeaturedProducts from './FeaturedProducts'; import Header from './header'; import LatestProducts from './LatestProducts'; +import ShopOffers from './ShopOffers'; const Home = () => { return ( @@ -9,6 +10,7 @@ const Home = () => {
+ ) } diff --git a/src/types/images.d.ts b/src/types/images.d.ts new file mode 100644 index 0000000..5836bda --- /dev/null +++ b/src/types/images.d.ts @@ -0,0 +1,3 @@ +declare module '*.jpg'; +declare module '*.jpeg'; +declare module '*.png'; \ No newline at end of file diff --git a/src/types/public.types.ts b/src/types/public.types.ts index bcd0187..8f1e9eb 100644 --- a/src/types/public.types.ts +++ b/src/types/public.types.ts @@ -2,4 +2,10 @@ import { Product } from "./IProducts.interface" export type FCTypes = { data: Product +} + +export type ShopOfferContent = { + text: string, + title: string, + image: string } \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index a273b0c..fc2979c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,7 +18,8 @@ "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, - "jsx": "react-jsx" + "jsx": "react-jsx", + "typeRoots" : ["node_modules/@types", "src/types"] }, "include": [ "src"