diff --git a/messages/fa.json b/messages/fa.json index a04ca21..f33daa6 100644 --- a/messages/fa.json +++ b/messages/fa.json @@ -20,6 +20,20 @@ "title": "دسته بندی ها", "description": "از بین صدها مرکز زیبایی، دقیقا همونی که میخای رو پیدا کن." }, + "Reservation": { + "title": "رزرو خدمات زیبایی، ساده\u200Cتر از همیشه", + "stations" : "مراکز معتبر", + "online_reserve" : "رزرو انلاین سریع", + "start_reserve" : "شروع رزرو", + "customer" : "مشتریان", + "customer_number" : "+100K", + "clinic" : "کلینیک فعال", + "clinic_number" : "+336", + "salon" : "سالن زیبایی", + "salon_number" : "+345", + "score" : "امتیازدهی واقعی کاربران", + "description": "ما این پلتفرم را ساختیم تا بتوانید بهترین سالن\u200Cهای زیبایی و کلینیک\u200Cهای معتبر را به راحتی پیدا کنید.\n مقایسه، رزرو آنلاین و تجربه\u200Cای بی\u200Cدردسر." + }, "Application": { "title": "دانلود نرم افزار تلفن همراه 141", "description": "نسخه‌ی تلفن همراه اپلیکیشن مرکز مدیریت راه‌های کشور با قابلیت‌هایی نظیر نمایش تصاویر دوربین‌های، نظارتی در سراسر کشور، مسیریابی همراه با نمایش مسافت و زمان تقریبی و جزئیات مسیر، مشاهده اخبار متنی و شنیداری، کروکی ترافیک استان‌های کشور، دریافت اطلاعیه‌های مربوط به مسیرهای پرتردد و ... آماده دریافت از مارکت‌های مختلف می‌باشد.", diff --git a/public/images/reservation/reservation.jpg b/public/images/reservation/reservation.jpg new file mode 100644 index 0000000..d7df94c Binary files /dev/null and b/public/images/reservation/reservation.jpg differ diff --git a/src/components/Home/Desktop/Reservation/index.tsx b/src/components/Home/Desktop/Reservation/index.tsx new file mode 100644 index 0000000..352af81 --- /dev/null +++ b/src/components/Home/Desktop/Reservation/index.tsx @@ -0,0 +1,160 @@ +"use client"; + +import { motion } from "framer-motion"; +import { useTranslations } from "next-intl"; +import { ArrowTopLeft } from "@/assets"; +import Image from "next/image"; + +export default function Reservation() { + const t = useTranslations("Reservation"); + + return ( +
+
+ + + + {/* ================= TEXT CONTENT ================= */} + +

+ {t("title")} +

+ +

+ {t("description")} +

+ + {/* Features */} +
+ {[t("stations"), t("online_reserve"), t("score")].map( + (item, i) => ( +
+ + {item} +
+ ) + )} +
+ + {/* Button */} + + {t("start_reserve")} + + +
+ + {/* ================= IMAGE + STATS ================= */} + + + {/* Image */} +
+ reservation +
+ + {/* Stats Card */} + + {[ + { number: t("customer_number"), label: t("customer") }, + { number: t("clinic_number"), label: t("clinic") }, + { number: t("salon_number"), label: t("salon") }, + ].map((item, i) => ( +
+

+ {item.number} +

+

+ {item.label} +

+
+ ))} +
+ +
+ +
+
+
+ ); +} \ No newline at end of file diff --git a/src/components/Home/Desktop/index.tsx b/src/components/Home/Desktop/index.tsx index eec3f23..3e409c5 100644 --- a/src/components/Home/Desktop/index.tsx +++ b/src/components/Home/Desktop/index.tsx @@ -1,11 +1,13 @@ import BannerComponent from "./Banner"; import Categories from "@/components/Home/Desktop/Categories"; +import Reservation from "@/components/Home/Desktop/Reservation"; export default function DesktopHome() { return (
+
); } diff --git a/src/styles/globals.css b/src/styles/globals.css index c9d859e..02aa01c 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -131,6 +131,7 @@ body { /* ===================== Primary (Purple) ====================== */ + --color-primary-50: #140B4E; --color-primary-100: #7d34b9; --color-primary-200: #9a5cff; --color-primary-300: #b38bff; @@ -191,6 +192,7 @@ body { --color-text-muted: #9ca3af; --color-primary-100: #b38bff; + --color-primary-50: #140B4E; --color-primary-200: #9a5cff; --color-primary-300: #7d34b9;