feat(aboutUs): enhance Head component with siteName and slogan props; update Services content formatting

This commit is contained in:
hamed
2026-06-19 00:39:02 +03:30
parent e9136ea42b
commit 8b23f1f831
4 changed files with 43 additions and 39 deletions
+7 -5
View File
@@ -1,10 +1,7 @@
import { getStateInfo } from "@/lib/getStateInfo";
import Image from "next/image";
import React from "react";
function Head() {
const { matchedCity } = getStateInfo();
function Head({ siteName, slogan }) {
return (
<div className="bg-[#5559C2] rounded-none md:rounded-lg w-full py-[24px] flex flex-col items-center justify-center gap-[13px] md:gap-[16px]">
<Image
@@ -14,8 +11,13 @@ function Head() {
alt="logo"
/>
<h1 className="text-[#FAFAFA] text-[16px] sm:text-[18px] md:text-[22px] lg:text-[24px] font-bold">
درباره {matchedCity?.site_name}
درباره {siteName}
</h1>
{slogan && (
<p className="text-[#E5E5F5] text-[12px] sm:text-[14px] md:text-[16px] font-normal px-[16px] text-center">
{slogan}
</p>
)}
</div>
);
}
+5 -5
View File
@@ -3,12 +3,12 @@ import UnderlineLG from "../icons/UnderlineLG";
import TickOrangeA from "../icons/TickOrangeA";
const ourServices = [
"جستجوی سریع پزشک ",
"جستجوی سریع پزشک",
"جستجوی کلینیک و مراکز درمانی",
"نوبت گیری راحت و آسان",
"دشبورد تخصصی بیمار",
"دشبورد تخصصی پزشک",
"نوبت گیری راحت و آسان",
"نوبتگیری راحت و آسان",
اشبورد تخصصی بیمار",
اشبورد تخصصی پزشک",
"پشتیبانی و یادآوری نوبت",
];
function Services() {
+23 -15
View File
@@ -1,7 +1,12 @@
import { getStateInfo } from "@/lib/getStateInfo";
import Head from "./Head";
import Services from "./Services";
function AboutUsPage() {
async function AboutUsPage() {
const { matchedCity } = await getStateInfo();
const siteName = matchedCity?.site_name || "نوبت ۷۲۴";
const slogan = matchedCity?.slogan;
return (
<div
className="
@@ -9,24 +14,27 @@ function AboutUsPage() {
px-0 md:px-[80px] lg:px-[108px]
"
>
<Head />
<h2
<Head siteName={siteName} slogan={slogan} />
<div
className="
text-[#525252] text-[16px] font-normal mt-[32px] leading-[24px] md:leading-[32px] lg:leading-[40px]
text-[#525252] text-[16px] font-normal mt-[32px] leading-[28px] md:leading-[32px] lg:leading-[40px]
px-[16px] sm:px-[52px] md:px-[15%] text-justify md:text-center
flex flex-col gap-[16px]
"
>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده
از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و
سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای
متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه
درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با
نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان
خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید
داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان
رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات
پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.
</h2>
<p>
{siteName} یک سامانهی آنلاین نوبتدهی پزشکی است که با هدف سادهتر کردن
دسترسی مردم به خدمات سلامت طراحی شده است. ما تلاش میکنیم تجربهی رزرو
نوبت پزشک را سریع، شفاف و بدون نیاز به مراجعهی حضوری یا تماس تلفنی
فراهم کنیم.
</p>
<p>
در {siteName} میتوانید بر اساس تخصص، نام پزشک یا مرکز درمانی جستجو
کنید، برنامهی کاری و نوبتهای آزاد را ببینید و در کمترین زمان ممکن
نوبت خود را ثبت کنید. هدف ما کاهش زمان انتظار و ایجاد ارتباط مؤثر میان
بیماران، پزشکان و کلینیکهاست.
</p>
</div>
<Services />
</div>
);
+8 -14
View File
@@ -5,30 +5,24 @@ import Link from "next/link";
import { convertTimestampToJalali, imageUrl } from "@/helper";
function Item({ data, idx, loading }) {
const cover = data?.images?.[0]?.url ? imageUrl(data.images[0].url) : "";
const cover = data?.images?.[0]?.url
? imageUrl(data.images[0].url)
: "/assets/images/cover-blog-1.png";
const createdDate = data?.created ? convertTimestampToJalali(data.created) : "";
return (
<li className="flex relative items-center justify-start gap-[8px] py-[12px] sm:py-[15px] md:py-[18px] lg:py-[20px]">
<CustomLoading width={80} height={72} loading={loading}>
<Link href={`/blog/${data.uuid}`}>
{cover && cover.trim() !== "" ? (
<img
className="
<img
className="
w-[64px] sm:w-[73px] md:w-[85px] lg:w-[97px]
h-[56px] sm:h-[64px] md:h-[75px] lg:h-[88px]
rounded-[8px] overflow-hidden object-cover
"
src={cover}
alt={data.title || "article"}
/>
) : (
<div className="
w-[64px] sm:w-[73px] md:w-[85px] lg:w-[97px]
h-[56px] sm:h-[64px] md:h-[75px] lg:h-[88px]
rounded-[8px] overflow-hidden bg-gray-200
"></div>
)}
src={cover}
alt={data.title || "article"}
/>
</Link>
</CustomLoading>
<div className="flex flex-col gap-[16px] sm:gap-[18px] md:gap-[21px] lg:gap-[24px] items-start justify-between">