diff --git a/Dockerfile.x b/Dockerfile.x index 18c6a56..4a454a5 100644 --- a/Dockerfile.x +++ b/Dockerfile.x @@ -15,5 +15,5 @@ CMD ["node_modules/.bin/next", "start"] -# docker build -f Dockerfile.x -t registry.vnfco.ir/netinashop/vesmeh:1.0.2.4 . -# docker push registry.vnfco.ir/netinashop/vesmeh:1.0.2.4 \ No newline at end of file +# docker build -f Dockerfile.x -t registry.vnfco.ir/netinashop/vesmeh:1.0.4.6 . +# docker push registry.vnfco.ir/netinashop/vesmeh:1.0.4.6 \ No newline at end of file diff --git a/components/AppsComponent/RootData/page.jsx b/components/AppsComponent/RootData/page.jsx index 72a6742..3b669a0 100644 --- a/components/AppsComponent/RootData/page.jsx +++ b/components/AppsComponent/RootData/page.jsx @@ -57,6 +57,8 @@ const RootData = ({ children }) => { const [cosmeticData, setCosmeticData] = useState([]); const [HomeCosmeticData, setHomeCosmeticData] = useState([]); const [sunCreamData, setSunCreamData] = useState([]); + const [eyeCosmeticData, setEyeCosmeticData] = useState([]); + const [hairCosmeticData, setHairCosmeticData] = useState([]); const [isChecked, setIsChecked] = useState(false); const [selectedBrands, setSelectedBrands] = useState([]); @@ -454,6 +456,22 @@ const RootData = ({ children }) => { setHomeCosmeticData(HomeCosmetic); }; + const fetchEyeCosmetic = async () => { + const res = await fetch( + `${process.env.NEXT_PUBLIC_API_URL}/product?page=0&categoryId=2e11e55c-0941-49f8-9d22-dfa21088f639` + ); + const eyeCosmetic = await res.json(); + setEyeCosmeticData(eyeCosmetic); + }; + + const fetchHairCosmetic = async () => { + const res = await fetch( + `${process.env.NEXT_PUBLIC_API_URL}/product?page=0&categoryId=3df995d4-6a36-4de2-9557-a5c3304529fe` + ); + const hairCosmetic = await res.json(); + setHairCosmeticData(hairCosmetic); + }; + const fetchSunCream = async () => { const res = await fetch( `${process.env.NEXT_PUBLIC_API_URL}/product?page=0&categoryId=df80c111-087f-4b2d-bc32-c44d660e76f2` @@ -541,6 +559,8 @@ const RootData = ({ children }) => { HomeCosmeticData, specialOfferData, sunCreamData, + eyeCosmeticData, + hairCosmeticData, }, setCart, setProducts, @@ -571,6 +591,7 @@ const RootData = ({ children }) => { setCooperationSystemProfileContractData, setCooperationSystemProfileData, setIsSearched, + setEyeCosmeticData, AddItemToCart, RemoveItemFromCart, fetchNavData, @@ -589,10 +610,13 @@ const RootData = ({ children }) => { setHomeCosmeticData, setCosmeticData, setSpecialOfferData, + setHairCosmeticData, fetchHomeCosmetic, fetchCosmetic, fetchSpecialOffer, fetchSunCream, + fetchEyeCosmetic, + fetchHairCosmetic, }} > {children} diff --git a/components/LandingPage/CategoriesHero/page.jsx b/components/LandingPage/CategoriesHero/page.jsx new file mode 100644 index 0000000..38349da --- /dev/null +++ b/components/LandingPage/CategoriesHero/page.jsx @@ -0,0 +1,167 @@ +import Image from "next/image"; +import Link from "next/link"; +import yek from "../../../public/images/1.png"; +import doo from "../../../public/images/2.png"; +import see from "../../../public/images/3.png"; +import chr from "../../../public/images/4.png"; +import png from "../../../public/images/5.png"; +import shs from "../../../public/images/6.png"; +import React from "react"; + +const CategoriesHero = () => { + return ( +
+
+ +
+ {" "} +
+
+
+ مراقبت پوست فروشگاه اینترنتی وسمه +
+
+
+
+
+

مراقبت پوست

+
+ +
+ +
+ +
+ {" "} +
+
+
+ آرایش لب فروشگاه اینترنتی وسمه +
+
+
+
+
+

آرایش لب

+
+ +
+ +
+ +
+ {" "} +
+
+
+ آرایش ناخن فروشگاه اینترنتی وسمه{" "} +
+
+
+
+
+

آرایش ناخن

+
+ +
+ +
+ +
+ {" "} +
+
+
+ بهداشت جنسی فروشگاه اینترنتی وسمه +
+
+
+
+
+

بهداشت جنسی

+
+ +
+ +
+ +
+ {" "} +
+
+
+ آرایش چشم فروشگاه اینترنتی وسمه +
+
+
+
+
+

آرایش چشم

+
+ +
+ +
+ +
+ {" "} +
+
+
+ کرم پودر فروشگاه اینترنتی وسمه{" "} +
+
+
+
+
+

کرم پودر

+
+ +
+
+ ); +}; + +export default CategoriesHero; diff --git a/components/LandingPage/EyeSection/page.jsx b/components/LandingPage/EyeSection/page.jsx new file mode 100644 index 0000000..ee02045 --- /dev/null +++ b/components/LandingPage/EyeSection/page.jsx @@ -0,0 +1,80 @@ +import CardNormal from "@comp/Cards/CardNormal/page"; +import Link from "next/link"; +import { Swiper, SwiperSlide } from "swiper/react"; + +const EyeSection = ({ data }) => { + return ( +
+
+
+ + + +
+
+ +
+
+
+

+ آرایش چشم{" "} +

+
+
+ console.log("slide change")} + className="rtl relative mt-5" + // dir="rtl" + breakpoints={{ + 320: { + slidesPerView: 1.3, + }, + 480: { + slidesPerView: 2, + }, + 768: { + slidesPerView: 3, + }, + 1024: { + slidesPerView: 4.5, + }, + 1440: { + slidesPerView: 6, + }, + }} + > + {data?.map((e, index) => ( + + + + ))} + + + +
+

+ مشاهده بیشتر{" "} +

+
+ +
+
+ ); +}; + +export default EyeSection; diff --git a/components/LandingPage/HeroSection/page.jsx b/components/LandingPage/HeroSection/page.jsx index 131d16c..e3ac521 100644 --- a/components/LandingPage/HeroSection/page.jsx +++ b/components/LandingPage/HeroSection/page.jsx @@ -1,175 +1,110 @@ +import { useState, useEffect } from "react"; import Image from "next/image"; +import ban1 from "@img/ban1.jpg"; +import ban2 from "@img/ban2.jpg"; +import ban3 from "@img/ban3.jpg"; +import ban1res from "@img/ban1res.jpg"; +import ban2res from "@img/ban2res.jpg"; +import ban3res from "@img/ban3res.jpg"; import Link from "next/link"; -import yek from "../../../public/images/1.png"; -import doo from "../../../public/images/2.png"; -import see from "../../../public/images/3.png"; -import chr from "../../../public/images/4.png"; -import png from "../../../public/images/5.png"; -import shs from "../../../public/images/6.png"; + +const slides = [ + { + id: 1, + image: ban1, + imageResponsive: ban1res, + title: "محصولات هیدرودرم", + description: "Slide 1 Description", + url: "/categories/0/%D9%87%D9%85%D9%87%20%D9%85%D8%AD%D8%B5%D9%88%D9%84%D8%A7%D8%AA?page=0&brandIds=677cfbc5-2aa0-42f2-90ec-69073058e76e", + }, + { + id: 2, + image: ban2, + imageResponsive: ban2res, + title: "محصولات فولیکا", + description: "Slide 2 Description", + url: "/categories/0/%D9%87%D9%85%D9%87%20%D9%85%D8%AD%D8%B5%D9%88%D9%84%D8%A7%D8%AA?brandIds=30be42fe-633b-4c43-886b-c946a68dddcc&page=0", + }, + { + id: 3, + image: ban3, + imageResponsive: ban3res, + title: "محصولات بیول", + description: "Slide 3 Description", + url: "/categories/0/%D9%87%D9%85%D9%87%20%D9%85%D8%AD%D8%B5%D9%88%D9%84%D8%A7%D8%AA?page=0&brandIds=93a2a376-5a18-49f3-b29c-a3c8ef2ff133", + }, + // Add more slides as needed +]; const HeroSection = () => { + const [currentIndex, setCurrentIndex] = useState(0); + + useEffect(() => { + const interval = setInterval(() => { + setCurrentIndex((prevIndex) => (prevIndex + 1) % slides.length); + }, 8000); // 8 seconds interval + + return () => clearInterval(interval); + }, []); + + const goToSlide = (index) => { + setCurrentIndex(index); + }; + return ( -
-
-

- وسمه ، بُن مضارع زیبایی -

-

- زیبایی شما در اولویت ماست{" "} -

-
-
-
- -
- {" "} -
-
-
- مراقبت پوست فروشگاه اینترنتی وسمه -
-
+ <> +
+
+ {slides.map((slide) => ( + +
+ {slide.title}
-
-
-

مراقبت پوست

-
- +
+ {slide.title} +
+ + ))}
-
- -
- {" "} -
-
-
- آرایش لب فروشگاه اینترنتی وسمه -
-
-
-
-
-

آرایش لب

-
- -
- -
- -
- {" "} -
-
-
- آرایش ناخن فروشگاه اینترنتی وسمه{" "} -
-
-
-
-
-

آرایش ناخن

-
- -
- -
- -
- {" "} -
-
-
- بهداشت جنسی فروشگاه اینترنتی وسمه -
-
-
-
-
-

بهداشت جنسی

-
- -
- -
- -
- {" "} -
-
-
- آرایش چشم فروشگاه اینترنتی وسمه -
-
-
-
-
-

آرایش چشم

-
- -
- -
- -
- {" "} -
-
-
- کرم پودر فروشگاه اینترنتی وسمه{" "} -
-
-
-
-
-

کرم پودر

-
- +
+ {slides.map((e, index) => ( + + ))}
-
+ ); }; diff --git a/components/LandingPage/HomeSection/page.jsx b/components/LandingPage/HomeSection/page.jsx index 138de26..a811399 100644 --- a/components/LandingPage/HomeSection/page.jsx +++ b/components/LandingPage/HomeSection/page.jsx @@ -15,7 +15,7 @@ const HomeSection = ({ data }) => { لوازم بهداشتی منزل وسمه
@@ -23,7 +23,7 @@ const HomeSection = ({ data }) => {

- لوازم بهداشتی منزل وسمه + آرایش و مراقبت مو

diff --git a/components/LandingPage/SurpriseSection/page.jsx b/components/LandingPage/SurpriseSection/page.jsx index 42e42b3..bd3f896 100644 --- a/components/LandingPage/SurpriseSection/page.jsx +++ b/components/LandingPage/SurpriseSection/page.jsx @@ -33,7 +33,7 @@ const SurpriseSection = ({ data }) => {

پیشنهاد های ویژه امروز{" "}

- + {/* */}
= 10" } }, + "node_modules/@next/third-parties": { + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/third-parties/-/third-parties-14.2.5.tgz", + "integrity": "sha512-PDRJm8RZ3rnGNporHKjcdCeZqoW8iJ5uP0clo1Z08TqJiQzuntJ66zrGYCJyqTakx62UJNOp73YsQCFo6kbYYg==", + "dependencies": { + "third-party-capital": "1.0.20" + }, + "peerDependencies": { + "next": "^13.0.0 || ^14.0.0", + "react": "^18.2.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -870,11 +883,17 @@ "integrity": "sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==", "dev": true }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" + }, "node_modules/@swc/helpers": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", - "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", "dependencies": { + "@swc/counter": "^0.1.3", "tslib": "^2.4.0" } }, @@ -1523,9 +1542,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001570", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz", - "integrity": "sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==", + "version": "1.0.30001642", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz", + "integrity": "sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==", "funding": [ { "type": "opencollective", @@ -2819,11 +2838,6 @@ "node": ">=10.13.0" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, "node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", @@ -3812,18 +3826,17 @@ "dev": true }, "node_modules/next": { - "version": "14.0.4", - "resolved": "https://registry.npmjs.org/next/-/next-14.0.4.tgz", - "integrity": "sha512-qbwypnM7327SadwFtxXnQdGiKpkuhaRLE2uq62/nRul9cj9KhQ5LhHmlziTNqUidZotw/Q1I9OjirBROdUJNgA==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.5.tgz", + "integrity": "sha512-0f8aRfBVL+mpzfBjYfQuLWh2WyAwtJXCRfkPF4UJ5qd2YwrHczsrSzXU4tRMV0OAxR8ZJZWPFn6uhSC56UTsLA==", "dependencies": { - "@next/env": "14.0.4", - "@swc/helpers": "0.5.2", + "@next/env": "14.2.5", + "@swc/helpers": "0.5.5", "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001406", + "caniuse-lite": "^1.0.30001579", "graceful-fs": "^4.2.11", "postcss": "8.4.31", - "styled-jsx": "5.1.1", - "watchpack": "2.4.0" + "styled-jsx": "5.1.1" }, "bin": { "next": "dist/bin/next" @@ -3832,18 +3845,19 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.0.4", - "@next/swc-darwin-x64": "14.0.4", - "@next/swc-linux-arm64-gnu": "14.0.4", - "@next/swc-linux-arm64-musl": "14.0.4", - "@next/swc-linux-x64-gnu": "14.0.4", - "@next/swc-linux-x64-musl": "14.0.4", - "@next/swc-win32-arm64-msvc": "14.0.4", - "@next/swc-win32-ia32-msvc": "14.0.4", - "@next/swc-win32-x64-msvc": "14.0.4" + "@next/swc-darwin-arm64": "14.2.5", + "@next/swc-darwin-x64": "14.2.5", + "@next/swc-linux-arm64-gnu": "14.2.5", + "@next/swc-linux-arm64-musl": "14.2.5", + "@next/swc-linux-x64-gnu": "14.2.5", + "@next/swc-linux-x64-musl": "14.2.5", + "@next/swc-win32-arm64-msvc": "14.2.5", + "@next/swc-win32-ia32-msvc": "14.2.5", + "@next/swc-win32-x64-msvc": "14.2.5" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", "react": "^18.2.0", "react-dom": "^18.2.0", "sass": "^1.3.0" @@ -3852,6 +3866,9 @@ "@opentelemetry/api": { "optional": true }, + "@playwright/test": { + "optional": true + }, "sass": { "optional": true } @@ -4649,30 +4666,6 @@ } } }, - "node_modules/react-spring-bottom-sheet/node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - }, - "peerDependencies": { - "react": "17.0.2" - } - }, - "node_modules/react-spring-bottom-sheet/node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, "node_modules/react-toastify": { "version": "9.1.3", "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", @@ -5411,6 +5404,11 @@ "node": ">=0.8" } }, + "node_modules/third-party-capital": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/third-party-capital/-/third-party-capital-1.0.20.tgz", + "integrity": "sha512-oB7yIimd8SuGptespDAZnNkzIz+NWaJCu2RMsbs4Wmp9zSDUM8Nhi3s2OOcqYuv3mN4hitXc8DVx+LyUmbUDiA==" + }, "node_modules/throttle-debounce": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz", @@ -5571,20 +5569,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "dev": true, - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -5684,18 +5668,6 @@ "loose-envify": "^1.0.0" } }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", diff --git a/package.json b/package.json index 9203dc3..de62835 100644 --- a/package.json +++ b/package.json @@ -10,11 +10,12 @@ }, "dependencies": { "@headlessui/react": "^1.7.17", + "@next/third-parties": "^14.2.5", "axios": "^1.6.5", "framer-motion": "^10.16.16", "jalali-moment": "^3.3.11", "lodash": "^4.17.21", - "next": "14.0.4", + "next": "^14.2.5", "nextjs-toploader": "^1.6.6", "rc-slider": "^10.5.0", "react": "^18", diff --git a/public/images/ban1.jpg b/public/images/ban1.jpg new file mode 100644 index 0000000..1e19235 Binary files /dev/null and b/public/images/ban1.jpg differ diff --git a/public/images/ban1res.jpg b/public/images/ban1res.jpg new file mode 100644 index 0000000..871933c Binary files /dev/null and b/public/images/ban1res.jpg differ diff --git a/public/images/ban2.jpg b/public/images/ban2.jpg new file mode 100644 index 0000000..6ba36d9 Binary files /dev/null and b/public/images/ban2.jpg differ diff --git a/public/images/ban2res.jpg b/public/images/ban2res.jpg new file mode 100644 index 0000000..e231209 Binary files /dev/null and b/public/images/ban2res.jpg differ diff --git a/public/images/ban3.jpg b/public/images/ban3.jpg new file mode 100644 index 0000000..5de08c0 Binary files /dev/null and b/public/images/ban3.jpg differ diff --git a/public/images/ban3res.jpg b/public/images/ban3res.jpg new file mode 100644 index 0000000..373bae7 Binary files /dev/null and b/public/images/ban3res.jpg differ diff --git a/public/images/khane.jpg b/public/images/khane.jpg index 99566b8..5de0927 100644 Binary files a/public/images/khane.jpg and b/public/images/khane.jpg differ diff --git a/src/app/layout.jsx b/src/app/layout.jsx index a0f8abb..ff9ee48 100644 --- a/src/app/layout.jsx +++ b/src/app/layout.jsx @@ -1,4 +1,6 @@ import RootData from "@comp/AppsComponent/RootData/page"; +import { GoogleAnalytics } from "@next/third-parties/google"; +import { Suspense } from "react"; export const metadata = { icons: { @@ -86,7 +88,10 @@ export default function RootLayout({ children }) { /> - {children} + + + {children} + ); diff --git a/src/app/page.jsx b/src/app/page.jsx index 9da4de1..45339f0 100644 --- a/src/app/page.jsx +++ b/src/app/page.jsx @@ -3,6 +3,8 @@ import Footer from "@comp/Footer/page"; import BeautySection from "@comp/LandingPage/BeautySection/page"; import BetweenSexualSection from "@comp/LandingPage/BetweenSexualSection/page"; import BrandsLogoSection from "@comp/LandingPage/BrandsLogoSection/page"; +import CategoriesHero from "@comp/LandingPage/CategoriesHero/page"; +import EyeSection from "@comp/LandingPage/EyeSection/page"; import HeroSection from "@comp/LandingPage/HeroSection/page"; import HomeSection from "@comp/LandingPage/HomeSection/page"; import SunCreamSection from "@comp/LandingPage/SunCreamSection/page"; @@ -10,6 +12,8 @@ import SurpriseSection from "@comp/LandingPage/SurpriseSection/page"; import Navbar from "@comp/Navbar/page"; import AppContext from "@ctx/AppContext"; import Head from "next/head"; +import Image from "next/image"; +import Link from "next/link"; import { useContext, useEffect, useState } from "react"; export default function Page() { @@ -17,13 +21,15 @@ export default function Page() { const specialOfferData = CTX.state.specialOfferData; const cosmeticData = CTX.state.cosmeticData; - const HomeCosmeticData = CTX.state.HomeCosmeticData; + const eyeCosmeticData = CTX.state.eyeCosmeticData; const sunCreamData = CTX.state.sunCreamData; + const hairCosmeticData = CTX.state.hairCosmeticData; useEffect(() => { CTX.fetchSpecialOffer(); CTX.fetchCosmetic(); - CTX.fetchHomeCosmetic(); + CTX.fetchEyeCosmetic(); + CTX.fetchHairCosmetic(); CTX.fetchSunCream(); }, []); return ( @@ -31,9 +37,10 @@ export default function Page() { My new cool app -
- +
+ +
@@ -43,7 +50,9 @@ export default function Page() { - + + +