change name in register & add link to most-searched home page & change tag & change design and responsive & fix active link header & must include field num in register & send code msg

This commit is contained in:
Ehsan
2025-05-13 22:07:03 +03:30
parent cd3114d308
commit a8a320465d
37 changed files with 192 additions and 172 deletions
+2 -2
View File
@@ -13,9 +13,9 @@ function Head() {
width={46}
alt="logo"
/>
<p className="text-[#FAFAFA] text-[16px] sm:text-[18px] md:text-[22px] lg:text-[24px] font-bold">
<h1 className="text-[#FAFAFA] text-[16px] sm:text-[18px] md:text-[22px] lg:text-[24px] font-bold">
درباره {matchedCity?.site_name}
</p>
</h1>
</div>
);
}
+2 -2
View File
@@ -10,7 +10,7 @@ function AboutUsPage() {
"
>
<Head />
<p
<h2
className="
text-[#525252] text-[16px] font-normal mt-[32px] leading-[24px] md:leading-[32px] lg:leading-[40px]
px-[16px] sm:px-[52px] md:px-[15%] text-justify md:text-center
@@ -26,7 +26,7 @@ function AboutUsPage() {
داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان
رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات
پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.
</p>
</h2>
<Services />
</div>
);
+2 -2
View File
@@ -22,9 +22,9 @@ function Head({ data, loading }) {
}
>
<TextLoading width={250} height={22} loading={loading}>
<p className="text-[#3B3B3B] mt-[24px] sm:mt-[29px] md:mt-[35px] lg:mt-[40px] text-[14px] sm:text-[17px] md:text-[20px] lg:text-[24px] font-bold">
<h1 className="text-[#3B3B3B] mt-[24px] sm:mt-[29px] md:mt-[35px] lg:mt-[40px] text-[14px] sm:text-[17px] md:text-[20px] lg:text-[24px] font-bold">
روش های خانگی محافظت از پوست در تابستان
</p>
</h1>
</TextLoading>
</div>
<div className="flex mt-[16px] sm:mt-[18px] md:mt-[21px] lg:mt-[24px] items-center justify-start gap-[35px]">
+2 -2
View File
@@ -25,9 +25,9 @@ function Item({ data, idx, loading }) {
<div className="flex flex-col gap-[16px] sm:gap-[18px] md:gap-[21px] lg:gap-[24px] items-start justify-between">
<TextLoading width={150} height={18} loading={loading}>
<Link href={`/blog/${data.id}`}>
<p className="text-[#3B3B3B] text-[14px] md:text-[16px] font-bold text-wrap lg:text-nowrap">
<h2 className="text-[#3B3B3B] text-[14px] md:text-[16px] font-bold text-wrap lg:text-nowrap">
{data.title}
</p>
</h2>
</Link>
</TextLoading>
<TextLoading width={110} height={18} loading={loading}>
+2 -2
View File
@@ -21,9 +21,9 @@ function Article({ data, loading }) {
<div className={loading ? "mb-[12px] md:mb-[14px] lg:mb-[16px]" : ""}>
<TextLoading width={150} height={18} loading={loading}>
<Link href={`/blog/${data.id}`}>
<p className="text-[#3B3B3B] mb-[12px] md:mb-[14px] lg:mb-[16px] text-[16px] font-bold">
<h1 className="text-[#3B3B3B] mb-[12px] md:mb-[14px] lg:mb-[16px] text-[16px] font-bold">
{data.title}
</p>
</h1>
</Link>
</TextLoading>
</div>
+4 -4
View File
@@ -14,12 +14,12 @@ function Head({ doctor }) {
width={56}
/>
<div className="flex flex-col items-start justify-start gap-[8px]">
<p className="text-[#3B3B3B] text-[12px] md:text-[14px] font-bold">
<h2 className="text-[#3B3B3B] text-[12px] md:text-[14px] font-bold">
{doctor.name}
</p>
<p className="text-[#525252] text-[12px] md:text-[14px] font-medium">
</h2>
<h3 className="text-[#525252] text-[12px] md:text-[14px] font-medium">
تخصص: {doctor.expertise}
</p>
</h3>
</div>
</div>
);
@@ -5,7 +5,7 @@ function ContentDetail({ head, children, loading }) {
return (
<div className="my-[24px]">
<TextLoading width={200} height={20} loading={loading}>
<p className="text-[#3B3B3B] text-[20px] font-bold">{head}</p>
<h1 className="text-[#3B3B3B] text-[20px] font-bold">{head}</h1>
</TextLoading>
<div className="mt-[16px]">{children}</div>
</div>
@@ -34,9 +34,9 @@ function ListBime({ data, loading }) {
className="p-[16px] min-w-[156px] w-full border border-[#EFEFEF] flex flex-col items-center justify-center gap-[20px]"
>
<Image src={item.img} height={92} width={92} alt="bime" />
<p className="text-[#525252] text-[16px] font-medium">
<h3 className="text-[#525252] text-[16px] font-medium">
{item.name}
</p>
</h3>
</li>
</CustomLoading>
))}
@@ -15,14 +15,14 @@ function Services({ data, loading }) {
<TickCircleOrange />
</div>
<TextLoading width={80} height={18} loading={loading}>
<p
<h3
className={`
text-[16px] font-normal
${idx === 0 ? "text-[#F17732]" : "text-[#525252]"}
`}
>
{item}
</p>
</h3>
</TextLoading>
</li>
))}
@@ -15,14 +15,14 @@ function Specialties({ data, loading }) {
<TickCircleOrange />
</div>
<TextLoading width={80} height={18} loading={loading}>
<p
<h3
className={`
text-[16px] font-normal
${idx === 0 ? "text-[#F17732]" : "text-[#525252]"}
`}
>
{item}
</p>
</h3>
</TextLoading>
</li>
))}
+1 -1
View File
@@ -16,7 +16,7 @@ function ItemClinic({ data, loading }) {
</CircularLoading>
<div className="flex flex-col items-start justify-center gap-2">
<TextLoading loading={loading} width={100} height={18}>
<p className="text-[#3B3B3B] text-[14px] font-bold">{data.title}</p>
<h3 className="text-[#3B3B3B] text-[14px] font-bold">{data.title}</h3>
</TextLoading>
<TextLoading loading={loading} width={60} height={18}>
<p className="text-[#7E7E7E] text-[14px] font-normal">
+2 -2
View File
@@ -11,9 +11,9 @@ function Connect() {
>
<div>
<div className="flex flex-col justify-center items-center gap-[10px]">
<p className="text-[#3B3B3B] text-[16px] font-bold">
<h3 className="text-[#3B3B3B] text-[16px] font-bold">
با ما در ارتباط باشید
</p>
</h3>
<p className="text-[#525252] text-[14px] font-normal">
نظرات و پیشنهادات خود را با ما در میان بگذارید.
</p>
+2 -2
View File
@@ -8,8 +8,8 @@ function Call({ matchedCity, isDefault }) {
overflow-hidden lg:pb-[171px] px-[16px] sm:px-[27px] md:px-[39px] lg:px-[48px]
${isDefault ? 'lg:pl-[18%]' : 'w-full'}`}
>
<p className="text-[#FAFAFA] text-[20px] font-bold">تماس با ما</p>
<p className="text-[#FAFAFA] leading-[26px] text-[14px] md:text-[16px] font-normal mt-6">{matchedCity.footerDescription}</p>
<h1 className="text-[#FAFAFA] text-[20px] font-bold">تماس با ما</h1>
<h2 className="text-[#FAFAFA] leading-[26px] text-[14px] md:text-[16px] font-normal mt-6">{matchedCity.footerDescription}</h2>
<Links matchedCity={matchedCity} />
</div>
);
+2 -2
View File
@@ -43,9 +43,9 @@ function Head({ user }) {
{user.total_transactions}{" "}
<span className="text-[12px]">تومان</span>
</p>
<p className="text-[#616161] text-nowrap text-[14px] font-normal">
<h1 className="text-[#616161] text-nowrap text-[14px] font-normal">
مجموع تراکنش ها
</p>
</h1>
</div>
</div>
<div className="py-[10px] flex items-center justify-start gap-[12px] min-w-[184px] w-full px-[8px] bg-[#FFF] bg-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] rounded-[8px]">
+4 -4
View File
@@ -23,14 +23,14 @@ function Title({ doctor, loading }) {
</CircularLoading>
<div className="flex flex-col items-center lg:items-start gap-[8px] lg:gap-[16px]">
<TextLoading loading={loading} width={90} height={20}>
<p className="text-[#3B3B3B] text-[14px] sm:text-[16px] md:text-[18px] lg:text-[20px] font-bold">
<h1 className="text-[#3B3B3B] text-[14px] sm:text-[16px] md:text-[18px] lg:text-[20px] font-bold">
{doctor.name}
</p>
</h1>
</TextLoading>
<TextLoading loading={loading} width={100} height={20}>
<p className="text-[#525252] text-[14px] md:text-[16px] font-medium">
<h3 className="text-[#525252] text-[14px] md:text-[16px] font-medium">
تخصص: {doctor.expertise}
</p>
</h3>
</TextLoading>
<div className="flex items-center justify-start gap-11">
<TextLoading loading={loading} width={60} height={20}>
@@ -21,11 +21,10 @@ function AboutDcotor({ doctor, loading }) {
text-[#616161] text-[14px] font-normal overflow-hidden relative
md:max-h-fit after:absolute after:right-0 after:bottom-0 leading-[28px] sm:leading-[30px] md:leading-[32px] lg:leading-[33px] after:h-[80px]
after:shadow-xl after:w-full transition-all duration-500 md:after:!bg-[linear-gradient(transparent,transparent)]
${
isMore
? "after:bg-transparent max-h-screen"
: "after:bg-[linear-gradient(transparent,#FAFAFA)] max-h-[200px]"
}
${isMore
? "after:bg-transparent max-h-screen"
: "after:bg-[linear-gradient(transparent,#FAFAFA)] max-h-[200px]"
}
`}
>
{doctor.detail}
@@ -48,9 +47,9 @@ function AboutDcotor({ doctor, loading }) {
<li key={idx} className="flex items-center justify-start gap-1">
<span className="w-2 h-2 bg-[#F17732] rounded-full"></span>
<TextLoading loading={loading} width={70} height={18}>
<p className="text-[#616161] text-[16px] font-normal text-nowrap">
<h4 className="text-[#616161] text-[16px] font-normal text-nowrap">
{item}
</p>
</h4>
</TextLoading>
</li>
))}
@@ -27,7 +27,7 @@ function ProgressAll({ doctor, loading }) {
<br />
رضایت کاربران
</p>
<p>{numberToArStyle(doctor.total_user_satisfaction)}%</p>
<p className="text-[#3B3B3B]">{numberToArStyle(doctor.total_user_satisfaction)}%</p>
</div>
</CircularLoading>
</div>
+2 -2
View File
@@ -20,9 +20,9 @@ function DoctorPage({ doctor }) {
<div className="flex items-center justify-between">
<CustomLoading loading={loading} width={180} height={25}>
<div className="flex items-center justify-start text-[14px] md:text-[16px] font-normal">
<p className="text-[#9B9B9B] text-nowrap">
<h2 className="text-[#9B9B9B] text-nowrap">
متخصص {doctor.expertise} {" >"}
</p>
</h2>
<p className="text-[#525252] text-nowrap mr-1">{doctor.name}</p>
</div>
</CustomLoading>
+6 -8
View File
@@ -14,15 +14,13 @@ import { Button } from "@mui/material";
import citiesData from "@/data/city.json";
import statesData from "@/data/state.json";
function DoctorsPage() {
function DoctorsPage({ params, matchedCity, matchedState }) {
const [loading, setLoading] = useState(true);
const [open, setOpen] = useState(false);
const { isProvinceInclude } = useProvince();
const [selected, setSelected] = useState({
// province: isProvinceInclude?.name || locationSelected.province,
// city: locationSelected.city || newCity,
province: isProvinceInclude?.name,
city: null,
province: matchedState?.name,
city: matchedCity?.name,
});
const searchParams = useSearchParams();
const locationSelected = {
@@ -65,16 +63,16 @@ function DoctorsPage() {
onClick={() => setOpen(true)}
>
<LocationD />
<p className="text-[#525252] text-[16px] font-semibold">
<h1 className="text-[#525252] text-[16px] font-semibold">
{" "}
{selected.province || "استان"}
{" / "}
{selected.city || "شهر"}
</p>
</h1>
</Button>
</ModalSearchCity>
<div className="flex flex-col lg:flex-row items-start lg:items-center justify-center gap-[24px] lg:gap-[32px] w-full">
<SearchBar data={data} setData={setData} />
<SearchBar data={data} setData={setData} params={params} />
<SortList data={data} setData={setData} />
</div>
</div>
+2 -1
View File
@@ -4,7 +4,7 @@ import ArrowBottomD from "@/components/icons/ArrowBottomD";
import SearchD from "@/components/icons/SearchD";
import FilterModal from "../modal/FilterModal";
function SearchBar({ data, setData }) {
function SearchBar({ data, setData, params }) {
return (
<ButtonGroup
variant="contained"
@@ -31,6 +31,7 @@ function SearchBar({ data, setData }) {
</FilterModal>
<TextField
variant="standard"
defaultValue={params.search || ''}
InputProps={{
disableUnderline: true,
}}
+18 -10
View File
@@ -1,5 +1,6 @@
import { frequentSearches } from "@/constans";
import { Button } from "@mui/material";
import Link from "next/link";
function FrequentSearches() {
return (
@@ -10,16 +11,23 @@ function FrequentSearches() {
<div className="overflow-auto hidden-scroll flex justify-start">
<ul className="flex items-center justify-start gap-[14px] pl-[14px]">
{frequentSearches.map((item, idx) => (
<li key={idx}>
<Button
variant="contained"
color="secondary"
className="!py-[6px] md:!py-[7px] lg:!py-[8px] !px-[12px] sm:!px-[14px] md:!px-[15px] lg:!px-[16px] !text-[12px] lg:!text-[14px]
!rounded-[4px] !shadow-none !font-normal !border !border-solid !border-[#D7D7D7] hover:!bg-[#EFEFEF]"
>
{item}
</Button>
</li>
<Link href={{
pathname: "/doctors",
query: {
search: item
},
}}>
<li key={idx}>
<Button
variant="contained"
color="secondary"
className="!py-[6px] md:!py-[7px] lg:!py-[8px] !px-[12px] sm:!px-[14px] md:!px-[15px] lg:!px-[16px] !text-[12px] lg:!text-[14px]
!rounded-[4px] !shadow-none !font-normal !border !border-solid !border-[#D7D7D7] hover:!bg-[#EFEFEF]"
>
{item}
</Button>
</li>
</Link>
))}
</ul>
</div>
+4 -4
View File
@@ -7,17 +7,17 @@ function TextHeader() {
return (
<div className="z-[50]">
<p className="text-[#F17732] text-center font-kalame text-[20px] sm:text-[24px] md:text-[28px] lg:text-[32px] font-bold">
<h1 className="text-[#F17732] text-center font-kalame text-[20px] sm:text-[24px] md:text-[28px] lg:text-[32px] font-bold">
با {matchedCity?.site_name}
</p>
<p
</h1>
<h2
className="text-[#525252] text-center mt-2.5 font-kalame text-[16px] sm:text-[25px] md:text-[31px] lg:text-[36px]
font-bold flex items-center gap-1 sm:gap-2"
>
<BText />
{matchedCity?.slogan}
<AText />
</p>
</h2>
</div>
)
}
+22
View File
@@ -7,6 +7,7 @@ import ModalSearchCity from "@/app/component/modalSearchCity";
import Search from "@/components/icons/Search";
import ButtonFilter from "@/app/component/modalSearchCity/ButtonFilter";
import Link from "next/link";
import SearchD from "@/components/icons/SearchD";
function Fields({ city, state }) {
const [open, setOpen] = useState(false);
@@ -43,6 +44,15 @@ function Fields({ city, state }) {
"& .MuiInputBase-input": {
color: "#6C757D",
},
"& .MuiInputBase-input": {
color: "#6C757D",
fontSize: {
xs: "10px !important",
sm: "12px !important",
md: "14px !important",
lg: "16px !important",
},
}
}}
placeholder="جستجوی نام پزشک، تخصص، بیماری ..."
dir="rtl"
@@ -63,6 +73,18 @@ function Fields({ city, state }) {
</div>
<p>جستجو</p>
</Button>
<Button
className="!flex lg:!hidden !rounded-[4px]
!w-[40px] sm:!w-[42px] md:!w-[45px] lg:!w-[48px]
!h-[40px] sm:!h-[42px] md:!h-[45px] lg:!h-[48px]
!min-w-[40px] sm:!min-w-[42px] md:!min-w-[45px] lg:!min-w-[48px]
!min-h-[40px] sm:!min-h-[42px] md:!min-h-[45px] lg:!min-h-[48px]
!gap-2.5 !p-2.5"
>
<div className="w-[24px] h-[24px] min-w-[24px] min-h-[24px]">
<SearchD />
</div>
</Button>
</Link>
</>
)
-31
View File
@@ -1,30 +1,11 @@
import { Button, ButtonGroup, TextField } from "@mui/material";
import SearchD from "@/components/icons/SearchD";
import Link from "next/link";
import statesData from "@/data/state.json";
import citiesData from "@/data/city.json";
import Fields from "./Fields";
import { getStateInfo } from "@/lib/getStateInfo";
// const provinceIdMap = Object.fromEntries(
// statesData.map((state) => [state.name, state.id])
// );
// const citiesByProvinceId = citiesData.reduce((acc, city) => {
// if (!acc[city.province_id]) acc[city.province_id] = [];
// acc[city.province_id].push(city);
// return acc;
// }, {});
function SearchBar() {
const { matchedCity, matchedState } = getStateInfo()
// const getDefaultCityForProvince = useCallback((provinceName) => {
// if (!provinceName) return undefined;
// const provinceId = provinceIdMap[provinceName];
// return citiesByProvinceId[provinceId]?.[0]?.name;
// }, []);
return (
<ButtonGroup
variant="contained"
@@ -35,18 +16,6 @@ function SearchBar() {
"
>
<Fields city={matchedCity} state={matchedState} />
<Button
className="!flex lg:!hidden !rounded-[4px]
!w-[40px] sm:!w-[42px] md:!w-[45px] lg:!w-[48px]
!h-[40px] sm:!h-[42px] md:!h-[45px] lg:!h-[48px]
!min-w-[40px] sm:!min-w-[42px] md:!min-w-[45px] lg:!min-w-[48px]
!min-h-[40px] sm:!min-h-[42px] md:!min-h-[45px] lg:!min-h-[48px]
!gap-2.5 !p-2.5"
>
<div className="w-[24px] h-[24px] min-w-[24px] min-h-[24px]">
<SearchD />
</div>
</Button>
</ButtonGroup>
);
}
+2 -2
View File
@@ -55,7 +55,7 @@ function List({
>
<div className="!flex !w-full !items-center !justify-start !gap-[8px] md:px-[24px]">
<div className="w-[24px] h-[24px]">{item.icon}</div>
<p
<h2
className={`
text-[16px] transition-all duration-500
${
@@ -66,7 +66,7 @@ function List({
`}
>
{item.name}
</p>
</h2>
</div>
<div className="flex md:hidden">
<ArrowLeftSideBar active={value === idx} />
+2 -2
View File
@@ -102,9 +102,9 @@ function AddDoctorPage() {
return (
<div className="opacity-page">
<p className="text-[#525252] dark:text-[#D7D8ED] text-[20px] font-bold hidden md:flex">
<h1 className="text-[#525252] dark:text-[#D7D8ED] text-[20px] font-bold hidden md:flex">
پروفایل من
</p>
</h1>
<div
className="rounded-[8px] mt-0 md:mt-[24px] bg-transparent md:bg-[#FFF]
md:dark:bg-[#222433] shadow-none md:shadow-[0px_1px_24.8px_0px_rgba(204,204,204,0.18)] dark:shadow-none pt-0
+3 -15
View File
@@ -1,23 +1,11 @@
"use client";
import RegisterPage from "@/components/register";
import SetCodePage from "@/components/register/SetCodePage";
import LogInPage from "@/components/register/LogInPage";
import { useState } from "react";
import { getStateInfo } from "@/lib/getStateInfo";
function ContentLogin() {
const [isSendMsg, setIsSendMsg] = useState(false);
const { matchedCity } = getStateInfo();
return (
<div>
<RegisterPage>
{isSendMsg ? (
<SetCodePage setIsSendMsg={setIsSendMsg} setStep={false} link="/" />
) : (
<LogInPage setStep={false} setIsSendMsg={setIsSendMsg} />
)}
</RegisterPage>
</div>
<RegisterPage matchedCity={matchedCity} />
);
}
+44
View File
@@ -0,0 +1,44 @@
import Image from "next/image";
import Link from "next/link";
const about = ["سوالات متداول", "تماس با ما", "درباره ما"];
function LayoutRegister({ children, matchedCity }) {
return (
<div
className="flex padding-responsive items-center justify-center pt-[32px]
overflow-auto flex-col h-screen w-full bg-banner-stroke !bg-bottom !bg-no-repeat !bg-cover
!pb-[calc(108px_+_40px)] md:!pb-[calc(111px_+_40px)]"
>
<Link href="/">
<div className="flex items-center justify-center gap-[5px] sm:mt-0">
<Image
src="/assets/images/logo.png"
width={40}
height={40}
alt="logo"
/>
<p className="text-[#5559CE] text-[20px] font-bold">{matchedCity?.site_name || "نوبت ۷۲۴"}</p>
</div>
</Link>
{children}
<div className="fixed bottom-0 left-0 bg-[#FAFAFA] w-full pb-[50px] px-[18px] sm:px-[67px] md:px[117px] lg:px-[166px]">
<div className="bg-border-t-gradient-sign h-px w-full"></div>
<div className="flex items-center justify-center gap-[32px] sm:gap-[40px] md:gap-[48px] lg:gap-[56px] mt-[24px]">
{about.map((item, idx) => (
<Link href="/" key={idx}>
<p
className="text-[#494CB3] text-[14px] md:text-[16px] font-normal"
key={idx}
>
{item}
</p>
</Link>
))}
</div>
</div>
</div>
)
}
export default LayoutRegister
+6 -4
View File
@@ -4,13 +4,15 @@ import { Button, InputAdornment } from "@mui/material";
import Link from "next/link";
import { useState } from "react";
function LogInPage({ setIsSendMsg, setStep }) {
function LogInPage({ setIsSendMsg, setStep, matchedCity }) {
const [num, setNum] = useState("");
const [error, setError] = useState({ valid: true, text: '' });
const handleChange = (val) => {
!error.valid && setError({ ...error, valid: true });
const formatted = formatPhoneNumber(val);
const checkedNum = validatePhoneNumber(formatted);
setError(checkedNum);
setNum(formatted);
};
@@ -20,7 +22,7 @@ function LogInPage({ setIsSendMsg, setStep }) {
p-0 border-transparent sm:p-[40px] sm:pb-[48px] w-full sm:w-fit sm:min-w-[425px]"
>
<p className="text-[#525252] text-[18px] font-bold">
ورود یا ثبت نام در نوبت 724
ورود یا ثبت نام در {matchedCity?.site_name || "نوبت 724"}
</p>
<p className="text-[#616161] text-[14px] mt-[40px] sm:mt-[43px] md:mt-[46px] lg:mt-[48px] font-normal">
شماره همراه خود را وارد نمایید.
@@ -76,7 +78,7 @@ function LogInPage({ setIsSendMsg, setStep }) {
<Link href="/">
<span className="text-[#F17732] underline">قوانین استفاده</span>
</Link>{" "}
از نوبت 724 را می پذیرم.
از {matchedCity?.site_name || 'نوبت 724'} را می پذیرم.
</p>
</div>
);
+15 -37
View File
@@ -1,43 +1,21 @@
import Image from "next/image";
import Link from "next/link";
"use client";
const about = ["سوالات متداول", "تماس با ما", "درباره ما"];
import SetCodePage from "@/components/register/SetCodePage";
import LogInPage from "@/components/register/LogInPage";
import { useState } from "react";
import LayoutRegister from "./LayoutRegister";
function RegisterPage({ matchedCity }) {
const [isSendMsg, setIsSendMsg] = useState(false);
function RegisterPage({ children }) {
return (
<div
className="flex padding-responsive items-center justify-center pt-[32px]
overflow-auto flex-col h-screen w-full bg-banner-stroke !bg-bottom !bg-no-repeat !bg-cover
!pb-[calc(108px_+_40px)] md:!pb-[calc(111px_+_40px)]"
>
<Link href="/">
<div className="flex items-center justify-center gap-[5px] sm:mt-0">
<Image
src="/assets/images/logo.png"
width={40}
height={40}
alt="logo"
/>
<p className="text-[#5559CE] text-[20px] font-bold">نوبت ۷۲۴</p>
</div>
</Link>
{children}
<div className="fixed bottom-0 left-0 bg-[#FAFAFA] w-full pb-[50px] px-[18px] sm:px-[67px] md:px[117px] lg:px-[166px]">
<div className="bg-border-t-gradient-sign h-px w-full"></div>
<div className="flex items-center justify-center gap-[32px] sm:gap-[40px] md:gap-[48px] lg:gap-[56px] mt-[24px]">
{about.map((item, idx) => (
<Link href="/" key={idx}>
<p
className="text-[#494CB3] text-[14px] md:text-[16px] font-normal"
key={idx}
>
{item}
</p>
</Link>
))}
</div>
</div>
</div>
<LayoutRegister matchedCity={matchedCity}>
{isSendMsg ? (
<SetCodePage setIsSendMsg={setIsSendMsg} setStep={false} link="/" />
) : (
<LogInPage matchedCity={matchedCity} setStep={false} setIsSendMsg={setIsSendMsg} />
)}
</LayoutRegister>
);
}
@@ -16,7 +16,7 @@ function ItemSpecialties({ data, loading }) {
hover:bg-[#5559CE] transition-all duration-500 cursor-pointer hover-mode-item-speciality"
>
<TextLoading loading={loading} width={70} height={18}>
<p className="text-[#3B3B3B] text-[16px] font-bold">{data.name}</p>
<h2 className="text-[#3B3B3B] text-[16px] font-bold">{data.name}</h2>
</TextLoading>
<TextLoading loading={loading} width={50} height={18}>
<p className="text-[#7E7E7E] text-[14px] font-medium">
+2 -2
View File
@@ -7,9 +7,9 @@ function List({ loading, specialties = [] }) {
<div className="bg-[#FAFAFA]">
<div className="flex items-center justify-center gap-[12px] pt-[24px] mb-[40px]">
<MenuS />
<p className="text-[#3B3B3B] text-[16px] sm:text-[19px] md:text-[22px] lg:text-[24px] font-bold">
<h1 className="text-[#3B3B3B] text-[16px] sm:text-[19px] md:text-[22px] lg:text-[24px] font-bold">
لیست تخصص ها
</p>
</h1>
</div>
{specialties.length === 0 ? (
<div className="text-center py-10 text-gray-500">