From 9329f6bfa9bc1cc91d4b3269c7a9ced73c065a5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D8=AD=D8=B3=DB=8C=D9=86=20=D9=85=D8=B9=D8=B5=D9=88=D9=85?= =?UTF-8?q?=DB=8C=20=D9=BE=D9=88=D8=B1?= Date: Sun, 11 Feb 2024 17:24:30 +0330 Subject: [PATCH] pre sub order --- .env | 10 +- .vscode/launch.json | 15 + components/Cards/CardCart/page.jsx | 83 +- components/Cards/CardCategories/page.jsx | 116 ++- .../Cards/CardCategoriesMobile/page.jsx | 101 +-- components/Cards/CardNormal/page.jsx | 120 ++- components/Cards/CardSurprise/page.jsx | 39 +- .../Cards/Components/AddToCart/page.jsx | 62 ++ .../Carts/component/NavBarDownCart/page.jsx | 37 + components/Category/FilterCategory/page.jsx | 25 +- components/Category/ListProdocts/page.jsx | 2 +- .../Mobile/Component/SearchSideBar/page.jsx | 69 ++ .../Mobile/FilterCategoryMobile/page.jsx | 193 +++-- .../Category/PaginationCategoory/page.jsx | 65 +- components/Footer/page.jsx | 212 +++--- components/LandingPage/BeautySection/page.jsx | 719 +----------------- .../LandingPage/BetweenSexualSection/page.jsx | 56 +- components/LandingPage/HeroSection/page.jsx | 133 ++-- components/LandingPage/HomeSection/page.jsx | 239 +----- .../LandingPage/SurpriseSection/page.jsx | 27 +- components/Navbar/CartNavbar/page.jsx | 21 +- .../Navbar/SideBarNavBarMobile/page.jsx | 141 +++- components/Navbar/page.jsx | 73 +- components/TimerDown/TimerDown.jsx | 2 +- next.config.js | 9 +- plugins/Gallery/page.jsx | 21 +- plugins/bottomSheet/BottomSheetCart.jsx | 45 +- plugins/bottomSheet/BottomSheetDiscount.jsx | 41 + plugins/bottomSheet/BottomSheetFilter.jsx | 40 + public/images/ap.png | Bin 0 -> 10549 bytes public/images/divider.png | Bin 6266 -> 1846 bytes public/images/zarin.png | Bin 0 -> 39412 bytes src/app/about-us/page.jsx | 173 +++++ src/app/cart/checkout/page.jsx | 426 +++++++++++ src/app/cart/page.jsx | 191 +++++ src/app/categories/[id]/page.jsx | 14 +- src/app/contact-us/page.jsx | 247 ++++++ src/app/layout.jsx | 96 ++- src/app/page.jsx | 39 +- src/app/products/[id]/page.jsx | 10 +- style/globals.css | 37 +- tailwind.config.js | 4 +- 42 files changed, 2345 insertions(+), 1608 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 components/Cards/Components/AddToCart/page.jsx create mode 100644 components/Carts/component/NavBarDownCart/page.jsx create mode 100644 components/Category/Mobile/Component/SearchSideBar/page.jsx create mode 100644 plugins/bottomSheet/BottomSheetDiscount.jsx create mode 100644 plugins/bottomSheet/BottomSheetFilter.jsx create mode 100644 public/images/ap.png create mode 100644 public/images/zarin.png create mode 100644 src/app/about-us/page.jsx create mode 100644 src/app/cart/checkout/page.jsx create mode 100644 src/app/cart/page.jsx create mode 100644 src/app/contact-us/page.jsx diff --git a/.env b/.env index a71ca81..adde5c2 100644 --- a/.env +++ b/.env @@ -2,6 +2,7 @@ NODE_ENV="development" NEXT_PUBLIC_SERVER_URL=http://192.168.88.17:32770 NEXT_PUBLIC_PUBLIC_URL=http://192.168.88.17:32770 NEXT_PUBLIC_API_URL=http://192.168.88.17:32770/api +NEXT_PUBLIC_STORAGE_URL=http://storage.vesmook.com NEXT_PUBLIC_PACKAGE_VERSION=0.1.1 @@ -15,9 +16,12 @@ NEXT_PUBLIC_PACKAGE_VERSION=0.1.1 -# NEXT_PUBLIC_SERVER_URL=https://apinetinashop.visabartar.com -# NEXT_PUBLIC_PUBLIC_URL=https://apinetinashop.visabartar.com -# NEXT_PUBLIC_API_URL=https://apinetinashop.visabartar.com/api +# NEXT_PUBLIC_SERVER_URL=https://api.vesmook.com +# NEXT_PUBLIC_PUBLIC_URL=https://api.vesmook.com +# NEXT_PUBLIC_API_URL=https://api.vesmook.com/api +# NEXT_PUBLIC_STORAGE_URL=http://storage.vesmook.com +# NEXT_PUBLIC_PACKAGE_VERSION=0.1.1 + # NEXT_PUBLIC_API_URL_IMAGE=https://api.macsonline.ir/Files/ReportImages # NEXT_PUBLIC_API_URL_BackUp=https://api.macsonline.ir/Files/BackUps \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..8f30e65 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "chrome", + "request": "launch", + "name": "Launch Chrome against localhost", + "url": "http://localhost:8080", + "webRoot": "${workspaceFolder}" + } + ] +} diff --git a/components/Cards/CardCart/page.jsx b/components/Cards/CardCart/page.jsx index f1d5875..b6b42bc 100644 --- a/components/Cards/CardCart/page.jsx +++ b/components/Cards/CardCart/page.jsx @@ -2,87 +2,58 @@ import Image from "next/image"; import PersianNumber from "plugins/PersianNumber"; import React, { useContext } from "react"; -import p1 from "../../../public/images/product/1.png"; +import logo from "../../../public/images/logo.png"; import p2 from "../../../public/images/product/2.png"; import AppContext from "@ctx/AppContext"; +import AddToCart from "../Components/AddToCart/page"; const CardCart = ({ data }) => { const CTX = useContext(AppContext); - console.log("data", data); - return ( -
+
- + {!!data.mainImage ? ( + + ) : ( +
+ +
+ )}

{data?.persianName}

- {data?.hasDiscount && ( -

- {" "} - 3 عدد موجود انبار -

- )}
-
- {/*{cart.find(e=>id)}*/} - {data?.count < 0 ? ( -
-
CTX.AddItemToCart(data.id, data.persianName)} - > - - - -
-
- ) : ( -
-
CTX.AddItemToCart(data.id)} - > -

+

-
-

- -

-
CTX.RemoveItemFromCart(data.id)} - > -

-

-
-
- )} -
+
{data?.hasDiscount ? (

- +

{" "}

- +

تومان
@@ -91,7 +62,7 @@ const CardCart = ({ data }) => {
{" "}

- +

تومان
diff --git a/components/Cards/CardCategories/page.jsx b/components/Cards/CardCategories/page.jsx index 251a139..89f69be 100644 --- a/components/Cards/CardCategories/page.jsx +++ b/components/Cards/CardCategories/page.jsx @@ -3,16 +3,17 @@ import Image from "next/image"; import PersianNumber from "plugins/PersianNumber"; import React, { useContext, useState } from "react"; -import p1 from "../../../public/images/product/1.png"; +import logo from "../../../public/images/logo.png"; import AppContext from "@ctx/AppContext"; import Link from "next/link"; +import AddToCart from "../Components/AddToCart/page"; const CardCategories = ({ data }) => { const CTX = useContext(AppContext); const cart = CTX.state.cart; return ( -
+
<>
{ // onClick={() => handleRoutineShiftPlanWithDay(index)} > {data.hasDiscount && ( -
-
-
-

- - % -

-
-
{" "} +
+
+

+ + % +

+
)} {data.hasDiscount && (
-
-
+
+

اصالت کالا

{" "}
)} -
- +
+ {!!data.mainImage ? ( + + ) : ( +
+ +
+ )}

{data.persianName}{" "}

- {data.hasDiscount && ( + + {data.stock <= 3 && (

{" "} - 3 عدد موجود انبار + {data.stock}عدد موجود انبار

)}
@@ -65,66 +79,26 @@ const CardCategories = ({ data }) => {
-
- {/*{cart.find(e=>id)}*/} - {!cart.find((item) => item.id === data.id) ? ( -
-
- CTX.AddItemToCart(data.id, data.persianName, data.cost) - } - > - - - -
-
- ) : ( -
-
- CTX.AddItemToCart(data.id, data.persianName, data.cost) - } - > -

+

-
-

- item.id === data.id).count} - /> -

-
CTX.RemoveItemFromCart(data.id)} - > -

-

-
-
- )} +
+
- {data.hasDiscount ? ( + {data?.hasDiscount ? (

- +

{" "}

- +

تومان
@@ -133,7 +107,7 @@ const CardCategories = ({ data }) => {
{" "}

- +

تومان
diff --git a/components/Cards/CardCategoriesMobile/page.jsx b/components/Cards/CardCategoriesMobile/page.jsx index a5596e7..7af8bd3 100644 --- a/components/Cards/CardCategoriesMobile/page.jsx +++ b/components/Cards/CardCategoriesMobile/page.jsx @@ -3,94 +3,73 @@ import Image from "next/image"; import PersianNumber from "plugins/PersianNumber"; import React, { useContext, useState } from "react"; -import p1 from "../../../public/images/product/1.png"; +import logo from "../../../public/images/logo.png"; import AppContext from "@ctx/AppContext"; import Link from "next/link"; +import AddToCart from "../Components/AddToCart/page"; const CardCategoriesMobile = ({ data }) => { const CTX = useContext(AppContext); const cart = CTX.state.cart; - console.log("data ", data, cart); - return (
- + {!!data.mainImage ? ( + + ) : ( +
+ +
+ )}

{data?.persianName}

- {data?.hasDiscount && ( + + {data.stock <= 3 && (

{" "} - 3 عدد موجود انبار + {data.stock}عدد موجود انبار

)}
-
- {/*{cart.find(e=>id)}*/} - {!cart.find((item) => item.id === data.id) ? ( -
-
- CTX.AddItemToCart(data.id, data.persianName, data.cost) - } - > - - - -
-
- ) : ( -
-
- CTX.AddItemToCart(data.id, data.persianName, data.cost) - } - > -

+

-
-

- item.id === data.id).count} - /> -

-
CTX.RemoveItemFromCart(data.id)} - > -

-

-
-
- )} -
- -
+ {" "} +
{data?.hasDiscount ? (
-

+

- + -

+ + + + % + +
{" "}

- +

تومان
@@ -99,7 +78,7 @@ const CardCategoriesMobile = ({ data }) => {
{" "}

- +

تومان
diff --git a/components/Cards/CardNormal/page.jsx b/components/Cards/CardNormal/page.jsx index fe9444b..a318c6f 100644 --- a/components/Cards/CardNormal/page.jsx +++ b/components/Cards/CardNormal/page.jsx @@ -1,15 +1,14 @@ "use client"; import React, { useContext } from "react"; import { SwiperSlide } from "swiper/react"; -import p1 from "../../../public/images/product/1.png"; -import p2 from "../../../public/images/product/2.png"; -import p3 from "../../../public/images/product/3.png"; -import p4 from "../../../public/images/product/4.png"; +import logo from "../../../public/images/logo.png"; + import Image from "next/image"; import PersianNumber from "plugins/PersianNumber"; import AppContext from "@ctx/AppContext"; +import AddToCart from "../Components/AddToCart/page"; -const CardNormal = (props) => { +const CardNormal = ({ data }) => { const CTX = useContext(AppContext); const cart = CTX.state.cart; return ( @@ -17,82 +16,79 @@ const CardNormal = (props) => { {" "} <>
handleRoutineShiftPlanWithDay(index)} > -
-
-

- - % -

-
-
{" "} -
- -
-
-

- لوسیون بدن سلامتی | maya -

-

- {" "} - 3 عدد موجود انبار -

-
-
- -
-
- {/*{cart.find(e=>id)}*/} - {2 == 1 ? ( -
-
CTX.AddItemToCart(123, 1)}> - - +
+

+ - -

-
- ) : ( -
-
-

+

-
-

- -

-
-

-

+ % +

)} + +
+ {!!data.mainImage ? ( + + ) : ( +
+ +
+ )} +
+
+

+ {data.persianName}{" "} +

+ + {data.stock <= 3 && ( +

+ {" "} + {data.stock}عدد موجود انبار +

+ )} +
+
+ +
+
+
- {2 == 2 ? ( + {data?.hasDiscount ? ( <>

- +

{" "}

- +

تومان
@@ -101,7 +97,7 @@ const CardNormal = (props) => {
{" "}

- +

تومان
diff --git a/components/Cards/CardSurprise/page.jsx b/components/Cards/CardSurprise/page.jsx index b608ad0..a7b9ec9 100644 --- a/components/Cards/CardSurprise/page.jsx +++ b/components/Cards/CardSurprise/page.jsx @@ -2,6 +2,7 @@ import Image from "next/image"; import PersianNumber from "plugins/PersianNumber"; import React from "react"; import p1 from "../../../public/images/product/1.png"; +import AddToCart from "../Components/AddToCart/page"; const CardSurprise = () => { return ( @@ -36,42 +37,8 @@ const CardSurprise = () => {
-
-
- {/*
-
- - - -
-
*/} -
-
- - - -
-
-
+
+
{2 == 2 ? ( diff --git a/components/Cards/Components/AddToCart/page.jsx b/components/Cards/Components/AddToCart/page.jsx new file mode 100644 index 0000000..d3dd022 --- /dev/null +++ b/components/Cards/Components/AddToCart/page.jsx @@ -0,0 +1,62 @@ +"use client"; +import AppContext from "@ctx/AppContext"; +import PersianNumber from "plugins/PersianNumber"; +import React, { useContext } from "react"; + +const AddToCart = ({ data }) => { + const CTX = useContext(AppContext); + const cart = CTX.state.cart; + + const handleAddItemToCart = (id) => { + CTX.AddItemToCart( + data.id, + data.persianName, + data.cost, + data.costWithDiscount, + data.mainImage, + data.hasDiscount, + data.maxOrderCount + ); + }; + return ( + <> + {data.stock == 0 ? ( +
+

اتمام موجودی

+
+ ) : ( +
+ {!cart.find((item) => item.id === data.id) ? ( +
+
handleAddItemToCart()}> +

+

+
+
+ ) : ( +
+
handleAddItemToCart()} + > +

+

+
+

+ item.id === data.id).count} + /> +

+
CTX.RemoveItemFromCart(data.id)} + > +

-

+
+
+ )} +
+ )} + + ); +}; + +export default AddToCart; diff --git a/components/Carts/component/NavBarDownCart/page.jsx b/components/Carts/component/NavBarDownCart/page.jsx new file mode 100644 index 0000000..e718182 --- /dev/null +++ b/components/Carts/component/NavBarDownCart/page.jsx @@ -0,0 +1,37 @@ +"use client"; +import Link from "next/link"; +import PersianNumber from "plugins/PersianNumber"; +import React from "react"; + +const NavBarDownCart = ({ calculateTotalCost, event }) => { + return ( +
+
+ {/* */} + + {/* */} +
+

+ قابل پرداخت{" "} +

+
+

+ +

+ + {" "} + تومان + +
+
+
+
+ ); +}; + +export default NavBarDownCart; diff --git a/components/Category/FilterCategory/page.jsx b/components/Category/FilterCategory/page.jsx index 9119902..2884896 100644 --- a/components/Category/FilterCategory/page.jsx +++ b/components/Category/FilterCategory/page.jsx @@ -15,6 +15,7 @@ const FilterCategory = ({ setRangePrice, sortBy, isRangePrice, + theme, }) => { const CTX = useContext(AppContext); const brands = CTX.state.brands; @@ -55,10 +56,18 @@ const FilterCategory = ({ }, [selectedBrands, isChecked]); return ( -
+
-
+

برند

@@ -98,7 +107,11 @@ const FilterCategory = ({ ))}
-
+

فقط محصولات موجود

-
+

محدوده قیمت

diff --git a/components/Category/ListProdocts/page.jsx b/components/Category/ListProdocts/page.jsx index 3735370..7bf7df0 100644 --- a/components/Category/ListProdocts/page.jsx +++ b/components/Category/ListProdocts/page.jsx @@ -33,7 +33,7 @@ const ListProdocts = ({ return (
-
+
diff --git a/components/Category/Mobile/Component/SearchSideBar/page.jsx b/components/Category/Mobile/Component/SearchSideBar/page.jsx new file mode 100644 index 0000000..f62f631 --- /dev/null +++ b/components/Category/Mobile/Component/SearchSideBar/page.jsx @@ -0,0 +1,69 @@ +"use client"; +import SideBarNavBarMobile from "@comp/Navbar/SideBarNavBarMobile/page"; +import AppContext from "@ctx/AppContext"; +import React, { useContext } from "react"; + +const SearchSideBar = () => { + const CTX = useContext(AppContext); + + return ( + <> +
+
+
{ + CTX.setCloseNavbar(true); + }} + > +
+ + + +
+
+
+ + +
+
+ + + +
+
+
+ + + ); +}; + +export default SearchSideBar; diff --git a/components/Category/Mobile/FilterCategoryMobile/page.jsx b/components/Category/Mobile/FilterCategoryMobile/page.jsx index 16813a5..5b1da01 100644 --- a/components/Category/Mobile/FilterCategoryMobile/page.jsx +++ b/components/Category/Mobile/FilterCategoryMobile/page.jsx @@ -1,69 +1,33 @@ "use client"; import SideBarNavBarMobile from "@comp/Navbar/SideBarNavBarMobile/page"; import AppContext from "@ctx/AppContext"; -import React, { useContext } from "react"; +import BottomSheetFilter from "plugins/bottomSheet/BottomSheetFilter"; +import React, { useContext, useEffect, useState } from "react"; const FilterCategoryMobile = (props) => { const CTX = useContext(AppContext); + const [trendFilter, setTrendFilter] = useState(false); + + useEffect(() => { + CTX.fetchProducts( + props.id, + props.selectedBrands, + props.isChecked, + props.rangePrice, + props.rangePrice, + props.sortBy, + props.isRangePrice + ); + }, [props.sortBy]); + return ( <> -
-
-
{ - CTX.setCloseNavbar(true); - }} - > -
- - - -
-
-
- - -
-
- - - -
-
-
- -
-
+
+
CTX.setBottomSheetFilterOpen(true)} + >
{

فیلتر ها

-
+
setTrendFilter(!trendFilter)} + >
{
- + {trendFilter ? ( +
+ {/*
props.setSortBy(1)} + > +

پربازدید ترین ها

+
+
props.setSortBy(2)} + > +

پربازدید ها

+
+
props.setSortBy(3)} + > +

ترین ها

+
+
props.setSortBy(4)} + > +

پربازدید ها

+
+
props.setSortBy(5)} + > +

پربازدید ترین

+
*/} + +
props.setSortBy(1)} + > +

+ پربازدید ترین +

+
+
props.setSortBy(2)} + > +

+ محبوب ترین +

+
+
props.setSortBy(3)} + > +

+ گران ترین +

+
+
props.setSortBy(4)} + > +

+ ارزان ترین +

+
+
props.setSortBy(5)} + > +

+ پرفروش ترین +

+
+
+ ) : ( + "" + )} + + ); }; diff --git a/components/Category/PaginationCategoory/page.jsx b/components/Category/PaginationCategoory/page.jsx index 8f304c8..d0a565b 100644 --- a/components/Category/PaginationCategoory/page.jsx +++ b/components/Category/PaginationCategoory/page.jsx @@ -4,14 +4,14 @@ import React from "react"; const PaginationCategoory = (props) => { return (
-
+
{ />
-
-

- +

+

+

-
-

- +

+

+

-
-

- +

+

+

-
-

- +

+

+

-
-

- +

+

+

-
+
{ return ( <> -
+
@@ -23,7 +24,7 @@ const Footer = () => {
@@ -33,96 +34,130 @@ const Footer = () => {
-
-
-
-
-
+ +
+
+
+
+
+
+
+
+

محصولات

+
+
+ +
+
+
    + +
  • + کرم مرطوب کننده دست و پا{" "} +
  • + + + +
  • + مرطوب کننده و آبرسان صورت{" "} +
  • + + +
  • + شوینده سطوح +
  • + + +
  • + بهداشت دهان و دندان +
  • + + +
  • + نرم کننده مو +
  • + +
+
+
+
    + +
  • + کیت رنگ مو{" "} +
  • + + +
  • + بهداشت خانه و آشپرخانه{" "} +
  • + + +
  • + سرم مو{" "} +
  • + + +
  • + ژل بهداشتی بانوان{" "} +
  • + +
+
+
+
+
-

محصولات

+

درباره ما

- -
-
-
    -
  • - بهداشت شخصی{" "} -
  • -
  • - بهداشت و زیبایی ناخن{" "} -
  • -
  • - مراقبت از کودکان{" "} -
  • -
  • - بهداشت خانگی{" "} -
  • -
  • - ضدعفونی کننده{" "} -
  • -
  • - لوازم آرایشی -
  • -
-
-
-
    -
  • - لوازم آرایشی -
  • -
  • - آرایش و مراقبت مو{" "} -
  • -
  • - مراقبت از پوست{" "} -
  • -
  • - لوازم بهداشتی{" "} -
  • -
  • - عطر، ادوکلن و اسپری{" "} -
  • -
-
+
+
    +
  • + سوالات متداول{" "} +
  • +
  • تماس باما
  • +
  • قوانین سایت
  • +
  • درباره ما
  • +
-
+ +
-

درباره ما

+

چرا وسمه

-
-
    -
  • - سوالات متداول{" "} -
  • -
  • تماس باما
  • -
  • قوانین سایت
  • -
  • درباره ما
  • -
-
-
-
-
-
-

چرا وسمه

-
-
- -

- وسمه تعهد داره تجربه خرید لوازم آرایشی و بهداشتی رو متحول کنه. این - تحول می‌تونه برای مشتری احساس قسمتی از خانواده وسمه‌ بودن رو داشته - باشه. وسمه با برطرف کردن دغدغه‌های خرید لوازم آرایشی و بهداشتی به - ساختن لایف استایل شخصی خانم‌های ایرانی کمک می‌کنه و زندگی راحت‌تری - پیش روی مشتریانش قرار می‌ده. از سال 1400 ما تمام انرژیمون رو به - کار گرفتیم تا با تمرکز برکیفیت کالا، سرعت ارسال و قیمت کالا ، نیاز - افراد رو برطرف کنیم و تجربه جدیدی از لذت خرید به وجود بیاریم. -

- {/* +

+ وسمه تعهد داره تجربه خرید لوازم آرایشی و بهداشتی رو متحول کنه. + این تحول می‌تونه برای مشتری احساس قسمتی از خانواده وسمه‌ بودن رو + داشته باشه. وسمه با برطرف کردن دغدغه‌های خرید لوازم آرایشی و + بهداشتی به ساختن لایف استایل شخصی خانم‌های ایرانی کمک می‌کنه و + زندگی راحت‌تری پیش روی مشتریانش قرار می‌ده. از سال 1400 ما تمام + انرژیمون رو به کار گرفتیم تا با تمرکز برکیفیت کالا، سرعت ارسال و + قیمت کالا ، نیاز افراد رو برطرف کنیم و تجربه جدیدی از لذت خرید + به وجود بیاریم. +

+ {/*
@@ -145,19 +180,18 @@ const Footer = () => {
*/} -
-
-
-
-
+
+
+
+
+
+
-
-
-

+

استفاده از مطالب فروشگاه شاواز فقط برای مقاصد غیرتجاری و باذکر منبع بلامانع است. کلیه حقوق این سایت متعلق به شرکت وسمه می باشد. ورژن {process.env.NEXT_PUBLIC_PACKAGE_VERSION} diff --git a/components/LandingPage/BeautySection/page.jsx b/components/LandingPage/BeautySection/page.jsx index 44ddbce..bcc25f4 100644 --- a/components/LandingPage/BeautySection/page.jsx +++ b/components/LandingPage/BeautySection/page.jsx @@ -6,8 +6,10 @@ import p1 from "../../../public/images/product/1.png"; import p2 from "../../../public/images/product/2.png"; import p3 from "../../../public/images/product/3.png"; import p4 from "../../../public/images/product/4.png"; +import CardNormal from "@comp/Cards/CardNormal/page"; -const BeautySection = () => { +const BeautySection = ({ data }) => { + console.log("BeautySection", data); return (

@@ -34,8 +36,6 @@ const BeautySection = () => {

لوازم بهداشتی زیبایی{" "}

- -

مشاهده بیشتر

{ className="rtl relative mt-5" breakpoints={{ 320: { - slidesPerView: 1.6, + slidesPerView: 1.3, }, 480: { slidesPerView: 2, @@ -62,707 +62,18 @@ const BeautySection = () => { }, }} > - - <> -
handleRoutineShiftPlanWithDay(index)} - > -
-
-

- - % -

-
-
{" "} -
- -
-
-

- لوسیون بدن سلامتی | maya -

-

- {" "} - 3 عدد موجود انبار -

-
-
- - -
-
- {/*
-
- - - -
-
*/} -
-
- - - -
-
-
- -
- {2 == 2 ? ( - <> -

- - - -

-
- {" "} -

- -

- تومان -
- - ) : ( -
- {" "} -

- -

- تومان -
- )} -
-
-
- - <> -
handleRoutineShiftPlanWithDay(index)} - > -
-
-

- - % -

-
-
{" "} -
- -
-
-

- سلامتی | maya -

-

- {" "} - 3 عدد موجود انبار -

-
-
- - -
-
- {/*
-
- - - -
-
*/} -
-
- - - -
-
-
- -
- {2 == 2 ? ( - <> -

- - - -

-
- {" "} -

- -

- تومان -
- - ) : ( -
- {" "} -

- -

- تومان -
- )} -
-
-
- - <> -
handleRoutineShiftPlanWithDay(index)} - > -
-
-

- - % -

-
-
{" "} -
- -
-
-

- لوسیو -

-

- {" "} - 3 عدد موجود انبار -

-
-
- - -
-
- {/*
-
- - - -
-
*/} -
-
- - - -
-
-
- -
- {2 == 2 ? ( - <> -

- - - -

-
- {" "} -

- -

- تومان -
- - ) : ( -
- {" "} -

- -

- تومان -
- )} -
-
-
- - <> -
handleRoutineShiftPlanWithDay(index)} - > -
-
-

- - % -

-
-
{" "} -
- -
-
-

- لوسیون |mexicano milanono -

-

- {" "} - 3 عدد موجود انبار -

-
-
- - -
-
- {/*
-
- - - -
-
*/} -
-
- - - -
-
-
- -
- {2 == 2 ? ( - <> -

- - - -

-
- {" "} -

- -

- تومان -
- - ) : ( -
- {" "} -

- -

- تومان -
- )} -
-
-
- - <> -
handleRoutineShiftPlanWithDay(index)} - > -
-
-

- - % -

-
-
{" "} -
- -
-
-

- لوسیون بدن سلامتی | maya -

-

- {" "} - 3 عدد موجود انبار -

-
-
- - -
-
- {/*
-
- - - -
-
*/} -
-
- - - -
-
-
- -
- {2 == 2 ? ( - <> -

- - - -

-
- {" "} -

- -

- تومان -
- - ) : ( -
- {" "} -

- -

- تومان -
- )} -
-
-
- - <> -
handleRoutineShiftPlanWithDay(index)} - > -
-
-

- - % -

-
-
{" "} -
- -
-
-

- لوسیون بدن سلامتی | maya -

-

- {" "} - 3 عدد موجود انبار -

-
-
- - -
-
- {/*
-
- - - -
-
*/} -
-
- - - -
-
-
- -
- {2 == 2 ? ( - <> -

- - - -

-
- {" "} -

- -

- تومان -
- - ) : ( -
- {" "} -

- -

- تومان -
- )} -
-
-
- - <> -
handleRoutineShiftPlanWithDay(index)} - > -
-
-

- - % -

-
-
{" "} -
- -
-
-

- لوسیون بدن سلامتی | maya -

-

- {" "} - 3 عدد موجود انبار -

-
-
- - -
-
- {/*
-
- - - -
-
*/} -
-
- - - -
-
-
- -
- {2 == 2 ? ( - <> -

- - - -

-
- {" "} -

- -

- تومان -
- - ) : ( -
- {" "} -

- -

- تومان -
- )} -
-
-
+ {data?.map((e) => ( + + + + ))}
+ +
+

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

+
); diff --git a/components/LandingPage/BetweenSexualSection/page.jsx b/components/LandingPage/BetweenSexualSection/page.jsx index 7daaa5c..274d3b8 100644 --- a/components/LandingPage/BetweenSexualSection/page.jsx +++ b/components/LandingPage/BetweenSexualSection/page.jsx @@ -3,6 +3,7 @@ import React from "react"; import between1 from "../../../public/images/between1.png"; import between2 from "../../../public/images/between2.png"; import between from "../../../public/images/between.jpeg"; +import Link from "next/link"; const BetweenSexualSection = () => { return ( @@ -32,34 +33,45 @@ const BetweenSexualSection = () => {

-
-
-
-
- + +
+
+
+
+ +
-
-

لوازم بانوان وسمه

+

لوازم بانوان وسمه

-

- شروع خرید{" "} -

-
-
-
-
-
- +

+ شروع خرید{" "} +

+
+ + + +
+
+
+
+ +
-
-

لوازم آقایان وسمه

+

لوازم آقایان وسمه

-

- شروع خرید{" "} -

-
+

+ شروع خرید{" "} +

+
+
diff --git a/components/LandingPage/HeroSection/page.jsx b/components/LandingPage/HeroSection/page.jsx index f22cb32..43c07e0 100644 --- a/components/LandingPage/HeroSection/page.jsx +++ b/components/LandingPage/HeroSection/page.jsx @@ -7,6 +7,7 @@ import png from "../../../public/images/5.png"; import shs from "../../../public/images/6.png"; import hft from "../../../public/images/7.png"; import Image from "next/image"; +import Link from "next/link"; const HeroSection = () => { return ( @@ -21,99 +22,111 @@ const HeroSection = () => {
-
- {" "} -
-
-
- + +
+ {" "} +
+
+
+ +
-
-
-

عطر و ادکلن

-
+
+

مراقبت پوست

+
+
-
- {" "} -
-
-
- + +
+ {" "} +
+
+
+ +
-
-
-

وسایل بهداشتی

-
+
+

آرایش لب

+
+
-
- {" "} -
-
-
- {" "} + +
+ {" "} +
+
+
+ {" "} +
-
-
-

آرایشی چشم

-
+
+

آرایش ناخن

+
+
-
- {" "} -
-
-
- + +
+ {" "} +
+
+
+ +
-
-
-

آرایش صورت

-
+
+

بهداشت جنسی

+
+
-
- {" "} -
-
-
- + +
+ {" "} +
+
+
+ +
-
-
-

بهداشت زنانه

-
+
+

آرایش چشم

+
+
-
- {" "} -
-
-
- {" "} + +
+ {" "} +
+
+
+ {" "} +
-
-
-

بهداشت مردانه

-
+
+

کرم پودر

+
+
diff --git a/components/LandingPage/HomeSection/page.jsx b/components/LandingPage/HomeSection/page.jsx index b07a77f..8e95ddf 100644 --- a/components/LandingPage/HomeSection/page.jsx +++ b/components/LandingPage/HomeSection/page.jsx @@ -7,8 +7,9 @@ import p2 from "../../../public/images/product/2.png"; import p3 from "../../../public/images/product/3.png"; import p4 from "../../../public/images/product/4.png"; import khane from "../../../public/images/khane.jpg"; +import CardNormal from "@comp/Cards/CardNormal/page"; -const HomeSection = () => { +const HomeSection = ({ data }) => { return (
@@ -38,7 +39,7 @@ const HomeSection = () => { className="rtl relative mt-4" breakpoints={{ 320: { - slidesPerView: 1.6, + slidesPerView: 1.3, }, 480: { slidesPerView: 2, @@ -47,238 +48,18 @@ const HomeSection = () => { slidesPerView: 3, }, 1024: { - slidesPerView: 3.2, + slidesPerView: 3.4, }, 1440: { - slidesPerView: 4, + slidesPerView: 3.8, }, }} > - - <> -
handleRoutineShiftPlanWithDay(index)} - > -
-
-

- - % -

-
-
{" "} -
- -
-
- - -
-
-
-
- - - -
-
-
- -
- {2 == 2 ? ( - <> -

- - - -

-
- {" "} -

- -

- تومان -
- - ) : ( -
- {" "} -

- -

- تومان -
- )} -
-
-
- - <> -
handleRoutineShiftPlanWithDay(index)} - > -
-
-

- - % -

-
-
{" "} -
- -
-
- - -
-
-
-
- - - -
-
-
- -
- {2 == 2 ? ( - <> -

- - - -

-
- {" "} -

- -

- تومان -
- - ) : ( -
- {" "} -

- -

- تومان -
- )} -
-
-
- - <> -
handleRoutineShiftPlanWithDay(index)} - > -
-
-

- - % -

-
-
{" "} -
- -
-
- - -
-
-
-
- - - -
-
-
- -
- {2 == 2 ? ( - <> -

- - - -

-
- {" "} -

- -

- تومان -
- - ) : ( -
- {" "} -

- -

- تومان -
- )} -
-
-
+ {data?.map((e) => ( + + + + ))}
diff --git a/components/LandingPage/SurpriseSection/page.jsx b/components/LandingPage/SurpriseSection/page.jsx index 33da682..d6fffab 100644 --- a/components/LandingPage/SurpriseSection/page.jsx +++ b/components/LandingPage/SurpriseSection/page.jsx @@ -9,7 +9,8 @@ import p3 from "../../../public/images/product/3.png"; import p4 from "../../../public/images/product/4.png"; import CardNormal from "@comp/Cards/CardNormal/page"; -const SurpriseSection = () => { +const SurpriseSection = ({ data }) => { + console.log("sss injaaaha", data); return (
@@ -32,11 +33,11 @@ const SurpriseSection = () => {
-
+

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

- + {/* */}
{ }, }} > - - - - - - - - - + {data?.map((e) => ( + + + + ))} + +
+

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

+
); diff --git a/components/Navbar/CartNavbar/page.jsx b/components/Navbar/CartNavbar/page.jsx index 747041c..0cb9c94 100644 --- a/components/Navbar/CartNavbar/page.jsx +++ b/components/Navbar/CartNavbar/page.jsx @@ -1,6 +1,7 @@ "use client"; import CardCart from "@comp/Cards/CardCart/page"; import AppContext from "@ctx/AppContext"; +import Link from "next/link"; import PersianNumber from "plugins/PersianNumber"; import React, { useContext, useState } from "react"; @@ -19,6 +20,14 @@ const CartNavbar = (props) => {

سبد خرید

+
+
+
+ {" "} +
+
+
+ {smallBasket && (
{ onMouseEnter={() => setSmallBasket(true)} onMouseLeave={() => setSmallBasket(false)} > -
+

{ تومان

*/} - + + +
diff --git a/components/Navbar/SideBarNavBarMobile/page.jsx b/components/Navbar/SideBarNavBarMobile/page.jsx index f1780b3..68c4885 100644 --- a/components/Navbar/SideBarNavBarMobile/page.jsx +++ b/components/Navbar/SideBarNavBarMobile/page.jsx @@ -1,12 +1,18 @@ "use client"; import Image from "next/image"; -import React, { useContext } from "react"; +import React, { useContext, useState } from "react"; import logo from "../../../public/images/logo.png"; import Link from "next/link"; import AppContext from "@ctx/AppContext"; const SideBarNavBarMobile = () => { const CTX = useContext(AppContext); + const [firstChild, setFirstChild] = useState([]); + const [firstChildIndex, setFirstChildIndex] = useState(-1); + + const dataNav = CTX.state.navData; + + console.log(firstChild); const closeNavbar = CTX.state.closeNavbar; console.log("closeNavbar", closeNavbar); @@ -14,25 +20,40 @@ const SideBarNavBarMobile = () => { <>
CTX.setCloseNavbar(false) - // setOpenResIgType(false) & - // setResponsiveNavBarItemStep(0) - } - >
+ className="rounded-full text-center m-2 " + onClick={() => { + CTX.setCloseNavbar(false); + setFirstChildIndex(-1); + }} + > + + + +
-
+
@@ -40,31 +61,87 @@ const SideBarNavBarMobile = () => {
- - -
- -
- - - -
- -
- - +
+ + +
+
+
    + {dataNav?.map((e, index) => ( +
  • { + setFirstChild(dataNav[index].children); + setFirstChildIndex(index); + }} + > +
    +

    {e.name}

    + +
    + + + +
    +
    + + {firstChildIndex == index && ( + <> +
      +
    • + CTX.setCloseNavbar(false)} + > +

      + همه موارد +

      + +
    • {" "} + {firstChild.map((e) => ( +
    • + CTX.setCloseNavbar(false)} + > +
      +

      {e.name}

      +
      + +
    • + ))} +
    + + )} +
  • + ))} +
+
diff --git a/components/Navbar/page.jsx b/components/Navbar/page.jsx index f66d65c..071b533 100644 --- a/components/Navbar/page.jsx +++ b/components/Navbar/page.jsx @@ -15,8 +15,11 @@ import CartNavbar from "./CartNavbar/page"; import AppContext from "@ctx/AppContext"; import BottomSheetCart from "plugins/bottomSheet/BottomSheetCart"; import { BottomSheet } from "react-spring-bottom-sheet"; +import SearchSideBar from "@comp/Category/Mobile/Component/SearchSideBar/page"; const Navbar = ({ theme }) => { + const [open, setOpen] = useState(false); + const CTX = useContext(AppContext); const dataNav = CTX.state.navData; const cart = CTX.state.cart; @@ -68,7 +71,7 @@ const Navbar = ({ theme }) => {
@@ -80,7 +83,7 @@ const Navbar = ({ theme }) => {
{1 == 2 ? (
-
+
ورود / عضویت{" "}
@@ -88,7 +91,7 @@ const Navbar = ({ theme }) => {
setSmallDashboard(!smallDashboard)} >

حسین معصومی پور

@@ -103,7 +106,7 @@ const Navbar = ({ theme }) => { onMouseEnter={() => setSmallDashboard(true)} onMouseLeave={() => setSmallDashboard(false)} > -
+
  • @@ -163,8 +166,8 @@ const Navbar = ({ theme }) => {
    @@ -178,7 +181,7 @@ const Navbar = ({ theme }) => { : " relative top-[-18px] " } - ${theme == 0 ? "" : "!bg-white"}`} + ${theme == 0 ? "" : "!bg-gray-100"}`} >
    {dataNav?.map((e, index) => ( @@ -223,7 +226,7 @@ const Navbar = ({ theme }) => {
    @@ -329,19 +332,25 @@ const Navbar = ({ theme }) => { {!isDesktop && ( <>
    {" "} -
    - +
    + {isScrolled ? ( + + ) : ( + + )}
    {1 == 2 ? (
    -
    +
    ورود / عضویت{" "}
    @@ -349,7 +358,7 @@ const Navbar = ({ theme }) => {
    setSmallDashboard(!smallDashboard)} >

    حسین معصومی پور

    @@ -363,7 +372,7 @@ const Navbar = ({ theme }) => { onMouseEnter={() => setSmallDashboard(true)} onMouseLeave={() => setSmallDashboard(false)} > -
    +
    • @@ -420,15 +429,23 @@ const Navbar = ({ theme }) => {
      CTX.setBottomSheetCart(true)} + onClick={() => CTX.setBottomSheetCartOpen(true)} > -
      -
      - -
      +
      + {cart?.length > 0 && ( +
      + +
      + )}
      { > {
    + + )} diff --git a/components/TimerDown/TimerDown.jsx b/components/TimerDown/TimerDown.jsx index bfdfd97..0704450 100644 --- a/components/TimerDown/TimerDown.jsx +++ b/components/TimerDown/TimerDown.jsx @@ -4,7 +4,7 @@ import Link from "next/link"; import PersianNumber from "plugins/PersianNumber"; const TimerDown = () => { - const targetTimestamp = 1704170967 * 1000; // Convert to milliseconds + const targetTimestamp = 1707629566 * 1000; // Convert to milliseconds const [timeRemaining, setTimeRemaining] = useState({ days: 0, diff --git a/next.config.js b/next.config.js index 767719f..51f61fb 100644 --- a/next.config.js +++ b/next.config.js @@ -1,4 +1,9 @@ /** @type {import('next').NextConfig} */ -const nextConfig = {} +const nextConfig = { + reactStrictMode: false, // React Strict Mode is off + images: { + domains: ["storage.vesmook.com"], + }, +}; -module.exports = nextConfig +module.exports = nextConfig; diff --git a/plugins/Gallery/page.jsx b/plugins/Gallery/page.jsx index 26e3251..251cd12 100644 --- a/plugins/Gallery/page.jsx +++ b/plugins/Gallery/page.jsx @@ -7,12 +7,29 @@ import p3 from "../../public/images/product/3.png"; import p4 from "../../public/images/product/4.png"; import Image from "next/image"; -const GalleryBox = () => { +const GalleryBox = ({ file }) => { + console.log(file && file[0]?.fileLocation); return (
    - + {!!file ? ( + + ) : ( +
    + {/* */} +
    + )}
    diff --git a/plugins/bottomSheet/BottomSheetCart.jsx b/plugins/bottomSheet/BottomSheetCart.jsx index a4c4945..170c6e9 100644 --- a/plugins/bottomSheet/BottomSheetCart.jsx +++ b/plugins/bottomSheet/BottomSheetCart.jsx @@ -1,23 +1,58 @@ "use client"; +import CardCart from "@comp/Cards/CardCart/page"; import AppContext from "@ctx/AppContext"; +import Link from "next/link"; +import PersianNumber from "plugins/PersianNumber"; import React, { useContext } from "react"; import { BottomSheet } from "react-spring-bottom-sheet"; import { toast } from "react-toastify"; const BottomSheetCart = (props) => { const CTX = useContext(AppContext); + const cart = CTX.state.cart; return ( CTX.setBottomSheetCart(false)} + open={CTX.state.bottomSheetCartOpen} + onDismiss={() => CTX.setBottomSheetCartOpen(false)} + className={"z-50 relative"} > -
    -

    افزودن نقش جدید

    +
    +

    + + محصول موجود در سبد +

    + + {/*
    */} +
    + {cart.map((e) => ( + + ))} +
    -
    +
    + {/*
    +

    + جمع کل : + + تومان +

    +
    */} + + + +
    ); }; diff --git a/plugins/bottomSheet/BottomSheetDiscount.jsx b/plugins/bottomSheet/BottomSheetDiscount.jsx new file mode 100644 index 0000000..f5eb7da --- /dev/null +++ b/plugins/bottomSheet/BottomSheetDiscount.jsx @@ -0,0 +1,41 @@ +"use client"; + +import CardCart from "@comp/Cards/CardCart/page"; +import AppContext from "@ctx/AppContext"; +import Link from "next/link"; +import PersianNumber from "plugins/PersianNumber"; +import React, { useContext } from "react"; +import { BottomSheet } from "react-spring-bottom-sheet"; +import { toast } from "react-toastify"; + +const BottomSheetDiscount = (props) => { + const CTX = useContext(AppContext); + const cart = CTX.state.cart; + + return ( + CTX.setBottomSheetDiscountOpen(false)} + className={"z-50 relative"} + > +
    +

    افزودن کد تخفیف

    +
    + +
    + +
    +
    + +
    +
    + ); +}; + +export default BottomSheetDiscount; diff --git a/plugins/bottomSheet/BottomSheetFilter.jsx b/plugins/bottomSheet/BottomSheetFilter.jsx new file mode 100644 index 0000000..a3c2ba0 --- /dev/null +++ b/plugins/bottomSheet/BottomSheetFilter.jsx @@ -0,0 +1,40 @@ +"use client"; + +import CardCart from "@comp/Cards/CardCart/page"; +import FilterCategory from "@comp/Category/FilterCategory/page"; +import AppContext from "@ctx/AppContext"; +import PersianNumber from "plugins/PersianNumber"; +import React, { useContext } from "react"; +import { BottomSheet } from "react-spring-bottom-sheet"; +import { toast } from "react-toastify"; + +const BottomSheetFilter = ({ data }) => { + const CTX = useContext(AppContext); + const cart = CTX.state.cart; + + return ( + CTX.setBottomSheetFilterOpen(false)} + className={"z-50 relative"} + > +
    + +
    +
    + ); +}; + +export default BottomSheetFilter; diff --git a/public/images/ap.png b/public/images/ap.png new file mode 100644 index 0000000000000000000000000000000000000000..625ceb728af49c01b51806880020ac3316eb2f09 GIT binary patch literal 10549 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 literal 6266 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 diff --git a/public/images/zarin.png b/public/images/zarin.png new file mode 100644 index 0000000000000000000000000000000000000000..ba96d653aa043bbe450d9307810846ae6bde3492 GIT binary patch literal 39412 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

    T3<}he?rgV z8Ce#1j?y8_ZX~_rJH-&ocy}>-@Dgn0Rh`_VjFRMjoifS=Z?M?L^zXmBJcLbagsI+& z76y}kXoN$k0bmwm&*0z@>?f<(JjUBesFHg;9_8W)a}e`d5FMV_0c8R&2 zWK@VD#6C|Ii$%S#h~{ULKd*f;ps|v$n7S|oGRmdP88`49AZ$9x4`aji4*OwZxZ(+K zJAX&j z+z*z=HbIZk3_HFuWI=1OrRi&zq{F6rO-5PglOTJpN>0sj`*almRxPd-sZ!$oAXNyD z=A0)corn)F0bwJg#a!3x3$(?cU5xAGOCMqP6O(TbVJU-Hyn!cbz1mVqJIYO9G4n=+ zQeEf(ECVby{rvG|aM-k8CHp4dtn}x(L>7xkW2DAt5)WTL<9c}D=B%U3*qKBj#@4H; zl)J!UyW>iWB_-c+wSWJI6hZ8tpJx)!vpN2PCA-QzOn)*QhUX|Zp-$FYhR1RXMviSS zQlSJIyKsh-pu@O}dQo)Pov5cj&sQ25d{wJ!<{hq2F4Ay)YDS!sQFSkf#9m(t!jd3{ zzAH$v-IrexjcK)iKPmZ6EyTY0L()dlz8F{;{I zRvvpuv1=)VSSQw}pO3`gdEL+hVysiy+^hq}5MoyEV>^#Q#l^ZU{+zg%)H zl@f^zz-Ax@^Ic&#;5CXpxHN=~*rU33zSyTvpsRY9EDH}}y_4^>ve;vQSSKkq%6Ray z)so62_9YsO0gHhcYqTtj360&pkPe$x2wS4@VfI8W`C)siN>-&x0&y7%gD0~X;O^NR z_9%*FLFbMxNr(9?_Ci<;HiwCjE@*& zOkx1B2Q!z~IC*!%PNeIt4rJ@ z`0iUL4a7c34a7db_D$Y1EJW-J#`0F`+j1$!*e38;2{Fb;L`d)xi!Du`Ck+RLMLc~* z*aPyz?%3q}i43B~yFiMlzf6$?_97NrD?Y;w2ia5zMXAvmdh zM%exPE}uN1P(J;0iXiq}O{~cKFtbo&%`d(fYB7Kqi!n`OhrFi*jD2t(9X8$D(r-y? zg>qc+>_-`Qk^B4PiLDj+3ve4Jlz0t|G$S5e?g5tDAGyI#Dg*y&ZI=qAyG>X1A)W-W zk+eYUyW8J9@0WZN&KPFuOn83NZ7H!*I`7}O^u9B?79xSj9;}%4Bxg_i- z5n|Qp3sjuu6L|kp_A`2 zIr>l|8DI3dhTcULkA_gU7+)>_;IfBP-Tvr-KV0ln3o-F5u19ICKf-=-?N)jq_V*8; z``w2b)mEXd8O5w3}4Y7w(D{r6vsK~uXzls%@Ood=23$uB-j55)fW4}XXbM-k!A zG-iD6w|HL{YdPGFaA$@AofoHv0llyuvgwknm`Qq zl|W*9b*sh}x4lxiH2urWss0=N?t_hAMkvfPEAH4H*G=1ji0xrWV*6Ai*K7pNNW(%2 zJ4)m{9+vX();nRb7h>(taZk0lV%J|@A6NI~o?;n@{Zon{7IiH=ut{1e9X+;*f0JTL zf>?=4<$_XUP%A0@nZ7Z7?PMYw{ZPxW*sVrzt&y+8rX-gHH;k0N$7D|Jm+9U%VX>K` zhnKAO?e+6+dL6X#>=MMrBhKrowAc?{{3<;V`xQV;W65nGeFppg*gN0XHm>ZA<49oE z45NaKB##M^ViQrpjI$NB3i>8xGJ%b=ty{Zkvv`}vfk1-%A|ZLxg@XR|?>)cnJ$GjG z!);^B${bm;WxLQ_fBKx~o^$TKB4qe0!&?m+O&pRLd*o_kd(4<|V+h&*8OUze=0mpG z;hv;V*ay3m+}S}JrX~>STof9r=qdez*M!Qhm@xZ&Jb|-;yTRdh=I7gY@BO`YfAjFI zCt{c;kBk#LJ!L26&mt~>Y!?&d+94(lB9|U-sdB5AC|!36GNmnC*i`w=ZAq2P7zo+d zTb+?R4CXZJDR7sM=O+qU+ejh)Bkd51T-6`1p z#`fX)`Q6svpC_NI4mjk=qm<7}p_+wCl#5hs7gg;0^+D`Jsus8M^ZHx1Cgu?)#j+tc z#D_V=tQ}K+%s}>!gL|#}#g5W%cWNI$6c&_=oP@4! z5##Wy+TzA`|M^b)@4Ogbk7?16Hc7KUPx$)!4`XF}PdH91qkviA;-YU

    JJ3}jz?bFa2}=l*vD+Hd#o+-Y?_e(B8~It|Me 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 f%gOn?hk}}dA>2C!V(7C?aXF0i% { + const number = "02188195164"; + return ( + <> +

    +
    + + +
    +
    +
    +

    + {" "} + , +

    +
    +
    +
    + +
    +
    +

    + وسمه ، بن ماضی زیبایی +

    + +

    + وسمه تهعد داره تجربه خرید لوازم آرایشی و بهداشتی رو متحول کنه. + این تحول می‌تونه برای مشتری احساس قسمتی از خانواده وسمه‌ بودن رو + داشته باشه. وسمه با برطرف کردن دغدغه‌های خرید لوازم آرایشی و + بهداشتی به ساختن لایف استایل شخصی خانم‌های ایرانی کمک می‌کنه و + زندگی راحت‌تری پیش روی مشتریانش قرار می‌ده. از سال 1400 ما تمام + انرژیمون رو به کار گرفتیم تا با تمرکز برکیفیت کالا، سرعت ارسال و + قیمت کالا ، نیاز افراد رو برطرف کنیم و تجربه جدیدی از لذت خرید + به وجود بیاریم. +

    +
    + +
    +
    +
    +
    +

    + جوایز و تقدیر +

    + +

    + ما مفتخریم که به خاطر کاری که هر روز از طرف مشتریان، + کارمندان و جوامع خود انجام می دهیم، مورد تقدیر قرار می + گیریم. +

    + +
    + +
    +
    +
    +
    +
    +

    + موقعیت های ما +

    + +

    + در حالی که مواضع ما به دقت مورد بررسی قرار می گیرد و + عمیقاً حفظ می شود، فضای زیادی برای بحث سالم و نظرات متفاوت + وجود دارد. ما امیدواریم که شفاف بودن در مورد مواضع ما مفید + باشد. +

    + +
    + +
    +
    +
    +
    +
    +

    + سیاست عمومی{" "} +

    + +

    + ما با سیاستگذاران در مورد طیف وسیعی از موضوعاتی که برای + مشتریان و کارمندان ما مهم است، تعامل داریم. درباره نظرات + ما در مورد مسائل جاری سیاست بیشتر بیاموزید. +

    + +
    + +
    +
    +
    +
    +
    +

    + اصول رهبری +

    + +

    + اصول رهبری ما چیزی فراتر از دیوارکوب های الهام بخش است. + این 16 اصل، هر روز بحث ها و تصمیمات ما را هدایت می کن +

    + +
    + +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +

    + موقعیت های ما در وسمه +

    +

    + فروشگاه ما به عنوان یک منبع قابل اعتماد برای خرید لوازم آرایشی و + زیبایی، به شفافیت و صداقت ارزشمندی می‌دهد. ما به دقت مواضع و + ارزش‌هایمان را تعیین کرده‌ایم و همواره به دنبال بهبود و توسعه آنها + هستیم. همچنین، در فضای ما، به نظرات و دیدگاه‌های مختلف احترام + می‌گذاریم و فضایی را برای بحث سالم و تبادل نظر فراهم می‌کنیم. با + ایجاد این امکان، ما امیدواریم که از تنوع نظرات و دیدگاه‌ها بهره‌مند + شویم و از این طریق، به تصمیمات بهتری برای رشد و پیشرفت فروشگاهمان + برسیم. با شفافیت، احترام به نظرات متفاوت و توجه به مواضع ما، ما به + ایجاد یک جامعه پویا و پایدار از مشتریان و مشتریان آینده‌ی خود تلاش + می‌کنیم +

    + +

    + جوایز و تقدیر در وسمه +

    +

    + ما در "وسمه" مفتخریم که به خاطر کاری که هر روز از طرف مشتریان، + کارمندان و جوامع خود انجام می‌دهیم، مورد تقدیر قرار می‌گیریم. این + تقدیر و اعتراف‌ها، نشان از ارزشی است که ما برای ارتباط مستمر و + صادقانه با همه‌ی اعضای جامعه‌ی ما قائل هستیم. همه‌ی تلاش ما در + "وسمه" به منظور ارائه‌ی بهترین تجربه‌ی ممکن برای مشتریان عزیزمان + است. از انتخاب محصولات با کیفیت تا ارائه‌ی خدمات استثنایی، ما به دقت + به نیازها و خواسته‌های شما توجه می‌کنیم تا اطمینان حاصل شود که هرگز + از "وسمه" ناراضی نخواهید شد. با تمام وجود و انگیزه‌ی بی‌پایان، ما به + ارتقاء محصولات و خدماتمان ادامه می‌دهیم تا همیشه بهترین را برای شما + فراهم کنیم. وعده‌ی ما این است که در "وسمه" همیشه یک محیط پذیرایی، + احترام و نوآوری برای شما وجود داشته باشد +

    +
    +
    + +
    + + ); +}; + +export default page; diff --git a/src/app/cart/checkout/page.jsx b/src/app/cart/checkout/page.jsx new file mode 100644 index 0000000..b4fb4ab --- /dev/null +++ b/src/app/cart/checkout/page.jsx @@ -0,0 +1,426 @@ +"use client"; +import NavBarDownCart from "@comp/Carts/component/NavBarDownCart/page"; +import Navbar from "@comp/Navbar/page"; +import PersianNumber from "plugins/PersianNumber"; +import React, { useContext, useEffect } from "react"; + +import zarin from "@img/zarin.png"; +import ap from "@img/ap.png"; +import Image from "next/image"; +import AppContext from "@ctx/AppContext"; +import BottomSheetDiscount from "plugins/bottomSheet/BottomSheetDiscount"; +import { useRouter } from "next/navigation"; + +const page = () => { + const CTX = useContext(AppContext); + const router = useRouter(); + const checkOutData = CTX.state.checkOutData; + + console.log(checkOutData); + + useEffect(() => { + if (CTX.state.checkOutData.length <= 0) { + router.push("/cart"); + } + }, []); + + return ( + <> +
    + + +
    +

    آدس ها

    + +
    +

    تغییر آدرس

    +
    +
    + +
    +
    + + + + +
    +
    +

    + آدرس شما{" "} +

    +

    + {" "} + تهران ، نارمک ، فلکه پنجم پلاک 5 ، واحد 22 +

    +
    +
    + +
    +

    زمان و نحوه ارسال

    + +
    +
    +
    + + + +
    +

    + سریع ترین زمان ارسال +

    +
    +
    +
    + +
    +
    +
    + + + +
    +
    +

    + ارسال با پیک (فقط محدوده تهران){" "} +

    +

    + {" "} + + ساعت + | + هزینه ارسال + + هزار تومان +

    +
    +
    + +
    +
    + + + +
    +
    +

    + پست عادی{" "} +

    +

    + {" "} + حداکثر + + روز کاری + | + هزینه ارسال + + هزار تومان +

    +
    +
    + +
    +
    + + + + +
    +
    +

    + پست سفارشی{" "} +

    +

    + {" "} + هزینه ارسال + + هزار تومان +

    +
    +
    + +
    +
    + + + + +
    +
    +

    + پست پیشتاز{" "} +

    +

    + {" "} + حداکثر + + روز کاری + | هزینه ارسال + + هزار تومان +

    +
    +
    +
    + +
    +

    روش پرداخت

    +
    + +
    +
    +
    + +
    +
    +

    + پرداخت آنلاین +

    +

    زرین پال

    +
    +
    + +
    +
    + +
    +
    +

    + پرداخت آنلاین +

    +

    آسان پرداخت

    +
    +
    +
    CTX.setBottomSheetDiscountOpen(true)} + > +
    +
    + + + +
    +
    +

    + افزودن کد تخفیف{" "} +

    +

    + کد تخفیف خود را وارد کنید +

    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +

    حساب نهایی

    + +
    +

    مشاهده اقلام

    +
    +
    + +
    +
    +

    قیمت

    + +
    +

    + +

    + + {" "} + تومان + +
    +
    + +
    +

    تخفیف محصول

    + +
    +

    + +

    + + {" "} + تومان + +
    +
    + +
    +

    هزینه بسته بندی

    + +
    +

    + +

    + + {" "} + تومان + +
    +
    + +
    +

    هزینه ارسال

    + +
    +

    + +

    + + {" "} + تومان + +
    +
    + +
    +

    + قابل پرداخت +

    + +
    +

    + +

    + + {" "} + تومان + +
    +
    +
    +
    + + console.log("D")} + /> +
    + + + + ); +}; + +export default page; diff --git a/src/app/cart/page.jsx b/src/app/cart/page.jsx new file mode 100644 index 0000000..7f84811 --- /dev/null +++ b/src/app/cart/page.jsx @@ -0,0 +1,191 @@ +"use client"; +import CardCart from "@comp/Cards/CardCart/page"; +import NavBarDownCart from "@comp/Carts/component/NavBarDownCart/page"; +import Navbar from "@comp/Navbar/page"; +import AppContext from "@ctx/AppContext"; +import Link from "next/link"; +import { useRouter } from "next/navigation"; +import Chapar from "plugins/Chapar"; +import PersianNumber from "plugins/PersianNumber"; +import React, { useContext, useEffect } from "react"; +import { toast } from "react-toastify"; + +const page = () => { + const CTX = useContext(AppContext); + const router = useRouter(); + const cart = CTX.state.cart; + + const calculateTotalCost = cart.reduce( + (total, item) => total + parseInt(item.cost) * item.count, + 0 + ); + + const calculateTotalCostWithDiscount = cart.reduce( + (total, item) => total + parseInt(item.costWithDiscount) * item.count, + 0 + ); + + // const calculateTotalCostWithDiscount = cart.reduce((total, item) => { + // // Check if costWithDiscount is defined and a valid number + // if ( + // typeof item.costWithDiscount === "number" && + // !isNaN(item.costWithDiscount) + // ) { + // // If costWithDiscount is defined and valid, include it in the calculation + // return total + item.costWithDiscount * item.count; + // } else { + // // If costWithDiscount is not defined or not a valid number, use regular cost + // return total + item.cost * item.count; + // } + // }, 0); + + const handleGoCheckOut = async () => { + // Check if the user is authorized based on the presence of a token in local storage + const token = localStorage.getItem("token"); + + if (token) { + // If token exists, proceed to checkout + const productsToSend = cart.map((item) => ({ + productId: item.id, + count: parseInt(item.count), + })); + try { + const data = await Chapar.post( + `${process.env.NEXT_PUBLIC_API_URL}/order/bag/add`, + + JSON.stringify(productsToSend), + + { + headers: { + Authorization: localStorage.getItem("token"), + }, + } + ); + + CTX.setCheckOutData(data); + } catch ({ error, status }) { + toast.error(`${error?.response?.data?.message}`, { + position: "bottom-right", + closeOnClick: true, + }); + } + router.push("/cart/checkout"); // Redirect to the checkout page + } else { + // If token does not exist, redirect to login + router.push("/login"); // Redirect to the login page + } + }; + + useEffect(() => { + CTX.setBottomSheetCartOpen(false); + }, []); + + return ( + <> +
    + + +
    +

    محصولات انتخاب شده

    + +
    +

    + + محصول +

    +
    +
    + +
    + {cart?.map((e) => ( + + ))} + +
    +
    +

    حساب نهایی

    + + {/*
    +

    + + محصول +

    +
    */} +
    + +
    +
    +

    قیمت

    + +
    +

    + +

    + + {" "} + تومان + +
    +
    + +
    +

    تخفیف محصول

    + +
    +

    + +

    + + {" "} + تومان + +
    +
    + +
    +

    + قابل پرداخت +

    + +
    +

    + +

    + + {" "} + تومان + +
    +
    +
    +
    +
    + + handleGoCheckOut()} + /> +
    + + ); +}; + +export default page; diff --git a/src/app/categories/[id]/page.jsx b/src/app/categories/[id]/page.jsx index f736038..beeaca7 100644 --- a/src/app/categories/[id]/page.jsx +++ b/src/app/categories/[id]/page.jsx @@ -63,7 +63,19 @@ export default function page({ params }) {
    - +
    diff --git a/src/app/contact-us/page.jsx b/src/app/contact-us/page.jsx new file mode 100644 index 0000000..d7b4f58 --- /dev/null +++ b/src/app/contact-us/page.jsx @@ -0,0 +1,247 @@ +import Footer from "@comp/Footer/page"; +import Navbar from "@comp/Navbar/page"; +import PersianNumber from "plugins/PersianNumber"; +import React from "react"; + +const page = () => { + const number = "02188195164"; + return ( + <> +
    +
    + + +
    +
    +
    +

    + {" "} + , +

    +
    +
    +
    + +
    +
    +

    + به خدمات مشتری وسمه خوش آمدید +

    + +

    + امروز در مورد چه کمکی می خواهید؟ شما می‌توانید به سرعت از بسیاری + از موارد در اینجا مراقبت کنید، یا در صورت نیاز با ما ارتباط + برقرار کنید. +

    +
    + +
    +
    +
    +
    + {" "} + + + + +
    + +
    +

    + تحویل، سفارش یا بازگشت +

    +
    +
    +
    +
    + {" "} + + + + +
    + +
    +

    + امنیت و حریم خصوصی{" "} +

    +
    +
    +
    +
    + {" "} + + + +
    + +
    +

    + رمز عبور ورود{" "} +

    +
    +
    +
    +
    + {" "} + + + +
    + +
    +

    + پرداخت، شارژ یا کارت هدیه{" "} +

    +
    +
    +
    +
    + {" "} + + + +
    + +
    +

    + پرداخت، شارژ یا کارت هدیه{" "} +

    +
    +
    {" "} +
    +
    +
    +
    +
    + +
    +
    +

    + فروشگاه وسمه +

    +

    + اینجا جایی است که زیبایی شما به روشنی معنا پیدا می‌کند و هر آنچه که + برای بهترین نسخه خود نیاز دارید، در دسترس شماست. ما به افتخار اینکه + انتخابی برای زیبایی و اعتماد به نفس شما هستیم، بسیار خوشحالیم. در + فروشگاه وسمه، ما به دنبال ارائه محصولات با کیفیت و خدماتی استثنایی + هستیم تا به شما کمک کنیم تا به بهترین شکل ممکن زندگی کنید. اگر سوالی + دارید یا نیاز به راهنمایی دارید، تیم ما همیشه در دسترس است تا به شما + کمک کند. با افتخار ما را در فروشگاه "وسمه" به عنوان همراهی شما در + مسیر زیبایی و اعتماد به نفس خوش آمدید. با احترام و دوستی، تیم + فروشگاه "وسمه +

    +
    +
    +
    +
    +

    تماس

    +
    + +
    + {" "} +
    +
    + +
    +
    +

    ایمیل

    +
    + +
    +

    info@vesmeh.com

    +
    +
    + +
    +
    +

    آدرس

    +
    + +
    +

    + تهران، خیابان گاندی جنوبی, خیابان خالد اسلامبولی, پلاک128{" "} +

    {" "} +
    +
    +
    +
    + +