Add empty AST cache file for version 0.8.44 with non-object root data

This commit is contained in:
hamed
2026-07-08 17:38:32 +03:30
parent 082f54cf4d
commit ee47b535d8
110 changed files with 415 additions and 790 deletions
+1 -2
View File
@@ -6,8 +6,7 @@ export default function Loading() {
return (
<div className="padding-responsive pt-[20px]">
<ul
className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-[24px]
gap-y-[16px] sm:gap-y-[24px] md:gap-y-[32px] lg:gap-y-[40px] mt-6"
className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-[24px] gap-y-[16px] sm:gap-y-[24px] md:gap-y-[32px] lg:gap-y-[40px] mt-6"
>
{Array.from({ length: 6 }).map((_, idx) => (
<ItemClinic key={idx} data={{}} loading setFilteredClinics={() => {}} />
+1 -4
View File
@@ -23,10 +23,7 @@ function CustomTable({ tableHead, zeroRadius, centerTable, children }) {
{tableHead.map((item, idx) => (
<TableCell
key={idx}
className={`
!text-[#616161] dark:!border-none dark:!text-[#D7D8ED] !text-[14px] !font-normal !py-[10px] !px-[18px]
${centerTable.includes(idx) ? "!text-center" : "!text-start"}
`}
className={` !text-[#616161] dark:!border-none dark:!text-[#D7D8ED] !text-[14px] !font-normal !py-[10px] !px-[18px] ${centerTable.includes(idx) ? "!text-center" : "!text-start"} `}
>
{item}
</TableCell>
+1 -5
View File
@@ -82,11 +82,7 @@ function ItemDoctor({ doctor, loading, setDoctors, priority = false }) {
</div>
<CustomLoading loading={loading} width={150} height={20}>
<p
className={`text-[12px] font-medium rounded w-fit p-1.5 ml-[52px]
${Number(doctor?.active)
? "bg-[rgba(5,_186,_88,_0.04)] text-[#05BA58]"
: "bg-[rgba(211,_47,_47,_0.04)] text-[#D32F2F]"
}`}
className={`text-[12px] font-medium rounded w-fit p-1.5 ml-[52px] ${Number(doctor?.active) ? "bg-[rgba(5,_186,_88,_0.04)] text-[#05BA58]" : "bg-[rgba(211,_47,_47,_0.04)] text-[#D32F2F]" }`}
>
{Number(doctor?.active) && doctor?.free_turn
? `اولین نوبت آزاد: ${doctor.free_turn}`
+2 -11
View File
@@ -4,21 +4,12 @@ function Pageguide({ list }) {
{list.map((item, idx) => (
<li key={idx} className="flex items-center justify-start gap-1">
<h2
className={`text-[16px] font-normal
${
list.length > idx + 1
? "text-[#9B9B9B]"
: "text-[#525252]"
}
`}
className={`text-[16px] font-normal ${ list.length > idx + 1 ? "text-[#9B9B9B]" : "text-[#525252]" } `}
>
{item}
</h2>
<span
className={`
text-[#9B9B9B] text-[16px] font-normal
${list.length > idx + 1 ? "flex" : "hidden"}
`}
className={` text-[#9B9B9B] text-[16px] font-normal ${list.length > idx + 1 ? "flex" : "hidden"} `}
>
{">"}
</span>
+1 -2
View File
@@ -20,8 +20,7 @@ function PopoverDate({ text, updateDate, type }) {
<div>
<Button
onClick={handleClick}
className="!border-[#EFEFEF] dark:!border-[#343645] !bg-[#FFF] dark:!bg-[#222433] !py-[4.5px] !text-[#7E7E7E]
dark:!text-[#A1A1A1] !text-[16px] !font-normal !w-[115px]"
className="!border-[#EFEFEF] dark:!border-[#343645] !bg-[#FFF] dark:!bg-[#222433] !py-[4.5px] !text-[#7E7E7E] dark:!text-[#A1A1A1] !text-[16px] !font-normal !w-[115px]"
>
{text}
</Button>
+1 -4
View File
@@ -35,10 +35,7 @@ function Tabs({ value, handleChange, listTab, inactives, isSm, style }) {
marginLeft: !isSm ? "9px !important" : undefined,
},
}}
className={`
text-[#495057] !p-1 !text-[14px] md:!text-[16px] !font-bold
${isSm ? "!w-1/2 !m-0" : "!mr-[38px]"}
`}
className={` text-[#495057] !p-1 !text-[14px] md:!text-[16px] !font-bold ${isSm ? "!w-1/2 !m-0" : "!mr-[38px]"} `}
/>
))}
</TabsMUI>
+1 -3
View File
@@ -82,9 +82,7 @@ function TimePickerField({ dataChange, isVacation, disable, timeStart, data }) {
}}
/>
<p
className={`absolute cursor-pointer rounded-[8px] dark:bg-[#222433] dark:!text-[#A1A1A1] h-[calc(100%_-_6px)] flex items-center right-[4px] py-[8px] px-[8px]
w-[calc(100%_-_8px)] text-[#7E7E7E] bg-[#FFFFFF] text-[14px] font-normal top-1/2 -translate-y-1/2
${disable && "!text-[rgba(126,126,126,0.5)]"}`}
className={`absolute cursor-pointer rounded-[8px] dark:bg-[#222433] dark:!text-[#A1A1A1] h-[calc(100%_-_6px)] flex items-center right-[4px] py-[8px] px-[8px] w-[calc(100%_-_8px)] text-[#7E7E7E] bg-[#FFFFFF] text-[14px] font-normal top-1/2 -translate-y-1/2 ${disable && "!text-[rgba(126,126,126,0.5)]"}`}
onClick={openTimePicker}
>
{value}
+1 -2
View File
@@ -47,8 +47,7 @@ function TimePickerInput({ changeData, handleDisableHours, name, data }) {
}}
/>
<p
className="absolute dark:bg-[#1F1D2B] md:dark:bg-[#222433] dark:!text-[#A1A1A1] flex items-center right-[4px] h-[44px] py-[8px] px-[8px]
w-[calc(100%_-_52px)] text-[#7E7E7E] bg-[#FFFFFF] text-[14px] font-normal top-1/2 -translate-y-1/2"
className="absolute dark:bg-[#1F1D2B] md:dark:bg-[#222433] dark:!text-[#A1A1A1] flex items-center right-[4px] h-[44px] py-[8px] px-[8px] w-[calc(100%_-_52px)] text-[#7E7E7E] bg-[#FFFFFF] text-[14px] font-normal top-1/2 -translate-y-1/2"
>
{data[name]}
</p>
+1 -2
View File
@@ -51,8 +51,7 @@ function SendAnswer({ doctor, parentUuid, onSent }) {
disabled={loading}
onClick={sendReq}
variant="contained"
className="!p-2 !h-10 !text-[12px] !font-medium sm:!py-[10px] md:!px-[12px] !rounded-[8px]
!shadow-none sm:!shadow-[0px_4px_30px_0px_rgba(56,_160,_162,_0.30)]"
className="!p-2 !h-10 !text-[12px] !font-medium sm:!py-[10px] md:!px-[12px] !rounded-[8px] !shadow-none sm:!shadow-[0px_4px_30px_0px_rgba(56,_160,_162,_0.30)]"
>
ارسال پاسخ
</Button>
+2 -9
View File
@@ -15,17 +15,10 @@ function List({ appo, hour, setHour, value }) {
<Button
onClick={() => setHour(item)}
disabled={!isSelectable(item)}
className={`
!w-full !rounded-[8px] !bg-[#EFEFEF] !flex !justify-center !items-center !py-[10px] !px-[14px] !h-[40px] md:!h-[42px] lg:!h-[44px]
${checkHour(item) ? "!bg-[#F79463] " : ""}
`}
className={` !w-full !rounded-[8px] !bg-[#EFEFEF] !flex !justify-center !items-center !py-[10px] !px-[14px] !h-[40px] md:!h-[42px] lg:!h-[44px] ${checkHour(item) ? "!bg-[#F79463] " : ""} `}
>
<p
className={`
text-[16px] font-semibold text-[#525252]
${isSelectable(item) ? "text-[#525252]" : "text-[#D7D7D7]"}
${checkHour(item) ? "!text-[#FAFAFA] " : ""}
`}
className={` text-[16px] font-semibold text-[#525252] ${isSelectable(item) ? "text-[#525252]" : "text-[#D7D7D7]"} ${checkHour(item) ? "!text-[#FAFAFA] " : ""} `}
>
{item.start_time}
</p>
+2 -4
View File
@@ -66,8 +66,7 @@ function EditField({
disabled={noDisable ? false : !data?.isEdit}
error={!!error}
helperText={error || ""}
className={`!w-full res-field-account dark:!bg-transparent ${isTransparent ? "!bg-transparent lg:!bg-[#FFF]" : "!bg-[#FFF]"}
}`}
className={`!w-full res-field-account dark:!bg-transparent ${isTransparent ? "!bg-transparent lg:!bg-[#FFF]" : "!bg-[#FFF]"} }`}
onChange={handleChange}
sx={{
"& .MuiFormLabel-root": {
@@ -98,8 +97,7 @@ function EditField({
}}
/>
<Button
className={`!absolute !left-[8px] !-translate-y-1/2 !min-w-fit !p-1
${multiline ? "!top-[24px]" : "!top-1/2"}`}
className={`!absolute !left-[8px] !-translate-y-1/2 !min-w-fit !p-1 ${multiline ? "!top-[24px]" : "!top-1/2"}`}
// onClick={() => {
// changeData(!data.isEdit, "isEdit", name);
// }}
+1 -5
View File
@@ -2,11 +2,7 @@ function HeadPageList({ children, title, detail }) {
return (
<div className="bg-head-menu !bg-no-repeat !bg-cover !bg-center">
<div
className="
padding-responsive flex flex-col items-center gap-[25px]
pt-[calc(12px_+_75px_+_32px)] sm:pt-[calc(21px_+_75px_+_45px)] md:pt-[calc(30px_+_75px_+_58px)] lg:pt-[calc(40px_+_75px_+_78px)]
pb-[62px] sm:pb-[69px] md:pb-[76px] lg:pb-[85px]
"
className=" padding-responsive flex flex-col items-center gap-[25px] pt-[calc(12px_+_75px_+_32px)] sm:pt-[calc(21px_+_75px_+_45px)] md:pt-[calc(30px_+_75px_+_58px)] lg:pt-[calc(40px_+_75px_+_78px)] pb-[62px] sm:pb-[69px] md:pb-[76px] lg:pb-[85px] "
>
<h1 className="text-[#3B3B3B] text-[16px] sm:text-[19px] md:text-[22px] lg:text-[24px] text-center font-bold">
{title}
@@ -18,8 +18,7 @@ function ButtonFilter({ selected, setOpen }) {
<Location />
</div>
<p
className="text-[#616161] text-[11px] md:text-[14px] leading-[17px] sm:leading-[19px]
md:leading-[22px] lg:leading-[24px] font-medium ml-1 md:mx-1"
className="text-[#616161] text-[11px] md:text-[14px] leading-[17px] sm:leading-[19px] md:leading-[22px] lg:leading-[24px] font-medium ml-1 md:mx-1"
>
{(selected.city?.name !== "نوبت 724" ? selected.city?.name : false) ||
"شهر"}
+1 -5
View File
@@ -41,11 +41,7 @@ function Content({ data, onClose }) {
>
<a href={item.url} target="_blank" rel="noopener noreferrer">
<Image
className="
w-[32px] h-[32px] lg:w-[40px] lg:h-[40px]
min-w-[32px] min-h-[32px] lg:min-w-[40px] lg:min-h-[40px]
max-w-[32px] max-h-[32px] lg:max-w-[40px] lg:max-h-[40px]
"
className=" w-[32px] h-[32px] lg:w-[40px] lg:h-[40px] min-w-[32px] min-h-[32px] lg:min-w-[40px] lg:min-h-[40px] max-w-[32px] max-h-[32px] lg:max-w-[40px] lg:max-h-[40px] "
src={item.src}
alt="icon app"
height={40}
+1 -7
View File
@@ -55,13 +55,7 @@ export default function MultipleSelect({ value, updateData, name, list }) {
key={item.id || item.uuid}
value={item.id}
selected={value.includes(item.id)}
className={`!flex !justify-start !p-[8px] !text-start !text-[#A1A1A1]
${
value.includes(item.id)
? "dark:!bg-[#35343D] !bg-[#F1F1F1]"
: "dark:!bg-[#1F1D2B] !bg-[#FFF]"
}
hover:dark:!bg-[#35343D] hover:!bg-[#F5F5F5]`}
className={`!flex !justify-start !p-[8px] !text-start !text-[#A1A1A1] ${ value.includes(item.id) ? "dark:!bg-[#35343D] !bg-[#F1F1F1]" : "dark:!bg-[#1F1D2B] !bg-[#FFF]" } hover:dark:!bg-[#35343D] hover:!bg-[#F5F5F5]`}
>
{item.name || item.label}
</MenuItem>
+1 -3
View File
@@ -8,9 +8,7 @@ function ModalUpload({ open, handleClose, data, uploadImg }) {
<Modal open={open} onClose={handleClose} className="!hidden md:!flex">
<Box
sx={styleDefault}
className="!pt-[12px] md:!pt-[14px] lg:!py-[16px]
dark:!bg-[#222433] dark:!shadow-none !px-[12px] sm:!px-[16px] md:!px-[20px] lg:!px-[24px]
!pb-[12px] sm:!pb-[16px] lg:!pb-[20px] dark:!border-transparent"
className="!pt-[12px] md:!pt-[14px] lg:!py-[16px] dark:!bg-[#222433] dark:!shadow-none !px-[12px] sm:!px-[16px] md:!px-[20px] lg:!px-[24px] !pb-[12px] sm:!pb-[16px] lg:!pb-[20px] dark:!border-transparent"
>
<div className="flex items-center justify-between">
<p className="text-[#3B3B3B] dark:text-[#DBDBDB] text-[14px] sm:text-[16px] md:text-[18px] lg:text-[20px] font-medium">
+1 -3
View File
@@ -150,9 +150,7 @@ export default function PaymentDetailsPage() {
<div className="flex justify-between items-center py-3 border-b border-gray-100">
<span className="text-[#616161] font-medium">وضعیت:</span>
<span
className={`px-4 py-2 rounded-full font-bold ${getStatusColor(
payment.status
)}`}
className={`px-4 py-2 rounded-full font-bold ${getStatusColor( payment.status )}`}
>
{getStatusLabel(payment.status)}
</span>
+19 -9
View File
@@ -3,12 +3,12 @@ import UnderlineLG from "../icons/UnderlineLG";
import TickOrangeA from "../icons/TickOrangeA";
const ourServices = [
"جستجوی سریع پزشک",
"جستجوی کلینیک و مراکز درمانی",
"نوبت‌گیری راحت و آسان",
"داشبورد تخصصی بیمار",
"داشبورد تخصصی پزشک",
"پشتیبانی و یادآوری نوبت",
{ text: "جستجوی سریع پزشک" },
{ text: "جستجوی کلینیک و مراکز درمانی" },
{ text: "نوبت‌گیری راحت و آسان" },
{ text: "داشبورد تخصصی بیمار", link: "https://clinic-pro.ir/" },
{ text: "داشبورد تخصصی پزشک", link: "https://clinic-pro.ir/" },
{ text: "پشتیبانی و یادآوری نوبت" },
];
function Services() {
@@ -20,13 +20,23 @@ function Services() {
</AnimationTextHead>
</div>
<ul
className="mt-[20px] sm:mt-[26px] md:mt-[33px] lg:mt-[40px] flex flex-wrap gap-x-[72px]
gap-y-[20px] sm:gap-y-[32px] md:gap-y-[44px] lg:gap-y-[56px] lg:grid lg:grid-cols-3"
className="mt-[20px] sm:mt-[26px] md:mt-[33px] lg:mt-[40px] flex flex-wrap gap-x-[72px] gap-y-[20px] sm:gap-y-[32px] md:gap-y-[44px] lg:gap-y-[56px] lg:grid lg:grid-cols-3"
>
{ourServices.map((item, idx) => (
<li key={idx} className="flex items-start justify-start gap-[8px]">
<TickOrangeA />
<p className="text-[#525252] text-[16px] font-medium">{item}</p>
{item.link ? (
<a
href={item.link}
target="_blank"
rel="noopener noreferrer"
className="text-[#525252] text-[16px] font-medium hover:text-[#F17732] transition-colors"
>
{item.text}
</a>
) : (
<p className="text-[#525252] text-[16px] font-medium">{item.text}</p>
)}
</li>
))}
</ul>
+2 -9
View File
@@ -9,18 +9,11 @@ async function AboutUsPage() {
return (
<div
className="
pt-[24px] sm:pt-[56px] md:pt-[88px] lg:pt-[120px] mt-[56px]
px-0 md:px-[80px] lg:px-[108px]
"
className=" pt-[24px] sm:pt-[56px] md:pt-[88px] lg:pt-[120px] mt-[56px] px-0 md:px-[80px] lg:px-[108px] "
>
<Head siteName={siteName} slogan={slogan} />
<div
className="
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]
"
className=" 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] "
>
<p>
{siteName} یک سامانهی آنلاین نوبتدهی پزشکی است که با هدف سادهتر کردن
+1 -2
View File
@@ -4,8 +4,7 @@ import Location from "./location";
function Content({ doctor, step, setStep, children, isFirst, disableSide, selectedSlot, selectedDate }) {
return (
<div
className="flex flex-col lg:flex-row justify-center gap-[12px] sm:gap-[16px] md:gap-[20px] lg:gap-[24px] padding-responsive
items-stretch pt-[calc(12px_+_75px_+_32px)] sm:pt-[calc(21px_+_75px_+_45px)] md:pt-[calc(30px_+_75px_+_58px)] lg:pt-[calc(40px_+_75px_+_78px)]"
className="flex flex-col lg:flex-row justify-center gap-[12px] sm:gap-[16px] md:gap-[20px] lg:gap-[24px] padding-responsive items-stretch pt-[calc(12px_+_75px_+_32px)] sm:pt-[calc(21px_+_75px_+_45px)] md:pt-[calc(30px_+_75px_+_58px)] lg:pt-[calc(40px_+_75px_+_78px)]"
>
{isFirst ? (
<Location disableSide={disableSide} doctor={doctor} />
+1 -2
View File
@@ -9,8 +9,7 @@ function Date({ doctor, setStep, disabledDates, setSelectedSlot, setSelectedDate
return (
<div className="w-full lg:w-[61%]">
<div
className="p-0 lg:p-[24px] rounded-[8px] border border-solid border-transparent lg:border-[#EFEFEF]
bg-transparent lg:bg-[#FFF]"
className="p-0 lg:p-[24px] rounded-[8px] border border-solid border-transparent lg:border-[#EFEFEF] bg-transparent lg:bg-[#FFF]"
>
<Time
setDate={setDate}
+1 -2
View File
@@ -21,8 +21,7 @@ function Form({ changeData, insurance, supplementaryInsurance, data, isForAnothe
return (
<div
className="grid mt-[12px] sm:mt-[14px] md:mt-[17px] lg:mt-[20px] items-start
justify-center gap-x-[24px] gap-y-[12px] md:gap-y-[14px] lg:gap-y-[16px] grid-cols-1 sm:grid-cols-2"
className="grid mt-[12px] sm:mt-[14px] md:mt-[17px] lg:mt-[20px] items-start justify-center gap-x-[24px] gap-y-[12px] md:gap-y-[14px] lg:gap-y-[16px] grid-cols-1 sm:grid-cols-2"
>
<Content title="شماره موبایل">
{isForAnother ? (
+1 -4
View File
@@ -186,10 +186,7 @@ function SubmitData({ setStep, data, prevData, setErrors, doctor, isForAnother,
<ButtonFixed>
<Button
disabled={loading}
className={`
!flex !w-full md:!w-fit !mt-0 md:!mt-[32px]
!gap-[4px] md:!mr-auto !px-[12px] !py-[8px] md:!py-[9px] !min-w-[150px]
`}
className={` !flex !w-full md:!w-fit !mt-0 md:!mt-[32px] !gap-[4px] md:!mr-auto !px-[12px] !py-[8px] md:!py-[9px] !min-w-[150px] `}
variant="contained"
onClick={handleSubmit}
>
+1 -3
View File
@@ -79,9 +79,7 @@ function Detail({
// ${typePay === 'success' || typePay === 'failed' ? 'bg-transparent border-transparent md:bg-[#FFF] md:border-[#EFEFEF]' : ''}
<div className="w-full lg:w-[59%]">
<div
className={`opacity-page bg-[#FFF] border border-solid border-[#EFEFEF]
rounded-[8px] p-[12px] sm:p-[16px] md:p-[20px] lg:p-[24px]
`}
className={`opacity-page bg-[#FFF] border border-solid border-[#EFEFEF] rounded-[8px] p-[12px] sm:p-[16px] md:p-[20px] lg:p-[24px] `}
>
{/* دکمه برگشت */}
<div
+1 -2
View File
@@ -8,8 +8,7 @@ function FailedPay({ setStep, fadeElement }) {
return (
<div className="w-full lg:w-[59%]">
<div
className={`opacity-page bg-transparent lg:bg-[#FFF] border border-solid border-transparent lg:border-[#EFEFEF]
rounded-[8px] p-[12px] sm:p-[16px] md:p-[20px] lg:p-[24px]`}
className={`opacity-page bg-transparent lg:bg-[#FFF] border border-solid border-transparent lg:border-[#EFEFEF] rounded-[8px] p-[12px] sm:p-[16px] md:p-[20px] lg:p-[24px]`}
>
<div className="mt-[7px]">
<div className="flex flex-col justify-center items-center gap-[14px]">
+3 -7
View File
@@ -93,15 +93,12 @@ function Detail({ doctor, step, setStep, selectedSlot, selectedDate }) {
</li>
</ul>
<span
className="mt-[10px] sm:mt-[16px] md:mt-[22px] lg:mt-[28px]
mb-[8px] sm:mb-[13px] md:mb-[19px] lg:mb-[24px]
w-full h-px bg-[#D7D7D7] block"
className="mt-[10px] sm:mt-[16px] md:mt-[22px] lg:mt-[28px] mb-[8px] sm:mb-[13px] md:mb-[19px] lg:mb-[24px] w-full h-px bg-[#D7D7D7] block"
></span>
<ul className="flex flex-col items-start justify-start gap-[8px] sm:gap-[13px] md:gap-[19px] lg:gap-[24px]">
{/* <li className="flex items-center justify-start gap-[4px] md:gap-[6px] lg:gap-[8px]">
<div
className="min-w-[16px] sm:min-w-[19px] md:min-w-[21px] lg:min-w-[24px] min-h-[16px] sm:min-h-[19px] md:min-h-[21px] lg:min-h-[24px]
w-[16px] sm:w-[19px] md:w-[21px] lg:w-[24px] h-[16px] sm:h-[19px] md:h-[21px] lg:h-[24px]"
className="min-w-[16px] sm:min-w-[19px] md:min-w-[21px] lg:min-w-[24px] min-h-[16px] sm:min-h-[19px] md:min-h-[21px] lg:min-h-[24px] w-[16px] sm:w-[19px] md:w-[21px] lg:w-[24px] h-[16px] sm:h-[19px] md:h-[21px] lg:h-[24px]"
>
<TickCircleOrange />
</div>
@@ -112,8 +109,7 @@ function Detail({ doctor, step, setStep, selectedSlot, selectedDate }) {
</li> */}
<li className="flex items-center justify-start gap-[4px] md:gap-[6px] lg:gap-[8px]">
<div
className="min-w-[16px] sm:min-w-[19px] md:min-w-[21px] lg:min-w-[24px] min-h-[16px] sm:min-h-[19px] md:min-h-[21px] lg:min-h-[24px]
w-[16px] sm:w-[19px] md:w-[21px] lg:w-[24px] h-[16px] sm:h-[19px] md:h-[21px] lg:h-[24px]"
className="min-w-[16px] sm:min-w-[19px] md:min-w-[21px] lg:min-w-[24px] min-h-[16px] sm:min-h-[19px] md:min-h-[21px] lg:min-h-[24px] w-[16px] sm:w-[19px] md:w-[21px] lg:w-[24px] h-[16px] sm:h-[19px] md:h-[21px] lg:h-[24px]"
>
<TickCircleOrange />
</div>
+2 -10
View File
@@ -8,20 +8,12 @@ function Head({ doctor }) {
return (
<div
className="
flex items-center justify-start
gap-[8px] sm:gap-[11px] md:gap-[14px] lg:gap-[16px]
mt-[8px] sm:mt-[13px] md:mt-[19px] lg:mt-[24px]
mb-[12px] sm:mb-[19px] md:mb-[25px] lg:lg:mb-[32px]
"
className=" flex items-center justify-start gap-[8px] sm:gap-[11px] md:gap-[14px] lg:gap-[16px] mt-[8px] sm:mt-[13px] md:mt-[19px] lg:mt-[24px] mb-[12px] sm:mb-[19px] md:mb-[25px] lg:lg:mb-[32px] "
>
<DoctorAvatar
doctor={doctor}
size={95}
className="
w-[40px] sm:w-[58px] md:w-[77px] lg:w-[95px]
h-[40px] sm:h-[58px] md:h-[77px] lg:h-[95px]
"
className=" w-[40px] sm:w-[58px] md:w-[77px] lg:w-[95px] h-[40px] sm:h-[58px] md:h-[77px] lg:h-[95px] "
/>
<div className="flex flex-col items-start justify-center gap-[8px] sm:gap-[12px] md:gap-[16px] lg:gap-[20px]">
<p className="text-[#3B3B3B] text-[14px] sm:text-[16px] md:text-[18px] lg:text-[20px] font-bold">
+2 -10
View File
@@ -6,18 +6,10 @@ import Head from "./Head";
function Information({ doctor, step, setStep, typePay, isPay, disableSide, selectedSlot, selectedDate }) {
return (
<div
className={`w-full lg:w-[41%] relative ${disableSide ? "hidden lg:flex" : ""
}`}
className={`w-full lg:w-[41%] relative ${disableSide ? "hidden lg:flex" : "" }`}
>
<div
className={`p-[12px] sm:p-[16px] md:p-[20px] lg:p-[24px] sticky right-0 w-full opacity-page rounded-[8px] border
border-solid border-[#EFEFEF] bg-[#FFF]
top-[calc(12px_+_75px_+_32px)] sm:top-[calc(21px_+_75px_+_45px)] md:top-[calc(30px_+_75px_+_58px)] lg:top-[calc(40px_+_75px_+_78px)]
${typePay === "success" || typePay === "failed"
? "hidden md:block"
: "block"
}
`}
className={`p-[12px] sm:p-[16px] md:p-[20px] lg:p-[24px] sticky right-0 w-full opacity-page rounded-[8px] border border-solid border-[#EFEFEF] bg-[#FFF] top-[calc(12px_+_75px_+_32px)] sm:top-[calc(21px_+_75px_+_45px)] md:top-[calc(30px_+_75px_+_58px)] lg:top-[calc(40px_+_75px_+_78px)] ${typePay === "success" || typePay === "failed" ? "hidden md:block" : "block" } `}
>
<p className="text-[#3B3B3B] text-[14px] sm:text-[16px] md:text-[18px] lg:text-[20px] font-bold">
جزئیات نوبت
+1 -4
View File
@@ -11,10 +11,7 @@ function Head({ doctor }) {
<DoctorAvatar
doctor={doctor}
size={56}
className="
w-[48px] sm:w-[51px] md:w-[54px] lg:w-[56px]
h-[48px] sm:h-[51px] md:h-[54px] lg:h-[56px]
"
className=" w-[48px] sm:w-[51px] md:w-[54px] lg:w-[56px] h-[48px] sm:h-[51px] md:h-[54px] lg:h-[56px] "
/>
<div className="flex flex-col items-start justify-start gap-[8px]">
<h2 className="text-[#3B3B3B] text-[12px] md:text-[14px] font-bold">
+1 -2
View File
@@ -5,8 +5,7 @@ function Location({ doctor }) {
return (
<div className="h-fit lg:h-screen w-full lg:w-[39%]">
<div
className="p-0 lg:p-[16px] sticky rounded-[8px] bg-transparent lg:bg-[#FFF] border border-solid border-transparent lg:border-[#EFEFEF]
top-[calc(12px_+_75px_+_32px)] sm:top-[calc(21px_+_75px_+_45px)] md:top-[calc(30px_+_75px_+_58px)] lg:top-[calc(40px_+_75px_+_78px)]"
className="p-0 lg:p-[16px] sticky rounded-[8px] bg-transparent lg:bg-[#FFF] border border-solid border-transparent lg:border-[#EFEFEF] top-[calc(12px_+_75px_+_32px)] sm:top-[calc(21px_+_75px_+_45px)] md:top-[calc(30px_+_75px_+_58px)] lg:top-[calc(40px_+_75px_+_78px)]"
>
<Head doctor={doctor} />
<span className="block bg-[#EFEFEF] lg:bg-transparent w-full h-px lg:my-[6px] mt-[16px]"></span>
+1 -3
View File
@@ -3,9 +3,7 @@ import React from "react";
function ButtonFixed({ children }) {
return (
<div
className="!fixed md:!relative !bottom-0 !right-0 bg-[#FFF] border-0 border-t
md:border-t-transparent border-[#D7D7D7] z-10
!w-full sm:!w-full !p-[16px] sm:!px-[52px] md:!ml-0 md:!p-0 md:!w-full"
className="!fixed md:!relative !bottom-0 !right-0 bg-[#FFF] border-0 border-t md:border-t-transparent border-[#D7D7D7] z-10 !w-full sm:!w-full !p-[16px] sm:!px-[52px] md:!ml-0 md:!p-0 md:!w-full"
>
{children}
</div>
+2 -6
View File
@@ -118,18 +118,14 @@ function Paying({ setStep, appointmentId, expiresAt, doctor, data, isForAnother,
مهلت پرداخت و نگهداری نوبت
</span>
<span
className={`text-[14px] md:text-[16px] font-bold tabular-nums ${
timeLeft < 60 ? "text-[#E0383B]" : "text-[#5559CE]"
}`}
className={`text-[14px] md:text-[16px] font-bold tabular-nums ${ timeLeft < 60 ? "text-[#E0383B]" : "text-[#5559CE]" }`}
>
{formatTime(timeLeft)}
</span>
</div>
<div className="w-full h-[6px] rounded-full bg-[#EFEFEF] overflow-hidden">
<div
className={`h-full rounded-full transition-all duration-1000 ease-linear ${
timeLeft < 60 ? "bg-[#E0383B]" : "bg-[#5559CE]"
}`}
className={`h-full rounded-full transition-all duration-1000 ease-linear ${ timeLeft < 60 ? "bg-[#E0383B]" : "bg-[#5559CE]" }`}
style={{ width: `${progress}%` }}
/>
</div>
+2 -5
View File
@@ -7,8 +7,7 @@ function SuccessPay({ setStep }) {
return (
<div className="w-full lg:w-[59%]">
<div
className={`opacity-page bg-transparent lg:bg-[#FFF] border border-solid border-transparent lg:border-[#EFEFEF]
rounded-[8px] p-[12px] sm:p-[16px] md:p-[20px] lg:p-[24px]`}
className={`opacity-page bg-transparent lg:bg-[#FFF] border border-solid border-transparent lg:border-[#EFEFEF] rounded-[8px] p-[12px] sm:p-[16px] md:p-[20px] lg:p-[24px]`}
>
<div className="pt-[8px] pb-[4px] grid place-items-center">
<div className="flex flex-col justify-center items-center gap-[14px]">
@@ -18,9 +17,7 @@ function SuccessPay({ setStep }) {
</p>
</div>
<p
className="text-[#3B3B3B] text-[16px] font-normal text-center
mt-[24px] sm:mt-[26px] md:mt-[29px] lg:mt-[32px]
mb-[24px] md:mb-[16px]"
className="text-[#3B3B3B] text-[16px] font-normal text-center mt-[24px] sm:mt-[26px] md:mt-[29px] lg:mt-[32px] mb-[24px] md:mb-[16px]"
>
نوبت شما تأیید شد و پیامک تأیید برای بیمار ارسال میشود. برای نمایش نوبتها به قسمت نوبتهای من بروید.{" "}
</p>
@@ -9,8 +9,7 @@ function AddComment() {
</p>
<Button
variant="outlined"
className="!w-full md:!w-fit !border !border-[#5559CE] !rounded-[4px]
!px-[38px] !py-[6px] md:!py-[8px] lg:!py-[9px]"
className="!w-full md:!w-fit !border !border-[#5559CE] !rounded-[4px] !px-[38px] !py-[6px] md:!py-[8px] lg:!py-[9px]"
>
ثبت نظر
</Button>
+1 -5
View File
@@ -15,11 +15,7 @@ function Item({ data, idx, loading }) {
<CustomLoading width={80} height={72} loading={loading}>
<Link href={`/blog/${data.uuid}`}>
<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
"
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"}
/>
+1 -8
View File
@@ -4,14 +4,7 @@ function ItemTitle({ name, idx, activeBtn, setActiveBtn }) {
return (
<li>
<Button
className={`
!py-[4px] md:!py-[6px] lg:!py-[8px] !px-[8px] md:!px-[12px] lg:!px-[16px] !shadow-none !rounded-[8px] !text-[14px] md:!text-[16px
${
activeBtn === idx
? "!bg-[#F17732] !text-[#FAFAFA]"
: "!bg-[#F5F5F5] !text-[#3B3B3B]"
}
`}
className={` !py-[4px] md:!py-[6px] lg:!py-[8px] !px-[8px] md:!px-[12px] lg:!px-[16px] !shadow-none !rounded-[8px] !text-[14px] md:!text-[16px ${ activeBtn === idx ? "!bg-[#F17732] !text-[#FAFAFA]" : "!bg-[#F5F5F5] !text-[#3B3B3B]" } `}
onClick={() => setActiveBtn(idx)}
variant="contained"
color="secondary"
@@ -56,8 +56,7 @@ function ListBime({ data }) {
<ul
ref={list}
className={`flex mt-[8px] items-center justify-start xl:justify-center gap-[8px] sm:gap-[13px] md:gap-[19px] lg:gap-[24px] ${showArrows ? "overflow-x-auto hidden-scroll" : "overflow-visible"
}`}
className={`flex mt-[8px] items-center justify-start xl:justify-center gap-[8px] sm:gap-[13px] md:gap-[19px] lg:gap-[24px] ${showArrows ? "overflow-x-auto hidden-scroll" : "overflow-visible" }`}
>
{data?.list_bime?.map((item, idx) => (
<CustomLoading key={idx} width={itemWidth} height={110}>
@@ -4,10 +4,7 @@ import TickCircleOrange from "@/components/icons/TickCircleOrange";
function Services({ data }) {
return (
<ul
className="
mt-[8px] w-full p-[22px] rounded-[8px] bg-[#FFF] flex flex-wrap items-center justify-start lg:grid grid-cols-4
gap-x-[40px] sm:gap-x-[48px] md:gap-x-[56px] lg:gap-x-[64px]
gap-y-[24px] sm:gap-y-[30px] md:gap-y-[35px] lg:gap-y-[40px]"
className=" mt-[8px] w-full p-[22px] rounded-[8px] bg-[#FFF] flex flex-wrap items-center justify-start lg:grid grid-cols-4 gap-x-[40px] sm:gap-x-[48px] md:gap-x-[56px] lg:gap-x-[64px] gap-y-[24px] sm:gap-y-[30px] md:gap-y-[35px] lg:gap-y-[40px]"
>
{data?.services?.map((item, idx) => (
<li
@@ -4,10 +4,7 @@ import TickCircleOrange from "@/components/icons/TickCircleOrange";
function Specialties({ data }) {
return (
<ul
className="
mt-[8px] w-full p-[22px] rounded-[8px] bg-[#FFF] flex flex-wrap items-center justify-start lg:grid grid-cols-4
gap-x-[40px] sm:gap-x-[48px] md:gap-x-[56px] lg:gap-x-[64px]
gap-y-[24px] sm:gap-y-[30px] md:gap-y-[35px] lg:gap-y-[40px]"
className=" mt-[8px] w-full p-[22px] rounded-[8px] bg-[#FFF] flex flex-wrap items-center justify-start lg:grid grid-cols-4 gap-x-[40px] sm:gap-x-[48px] md:gap-x-[56px] lg:gap-x-[64px] gap-y-[24px] sm:gap-y-[30px] md:gap-y-[35px] lg:gap-y-[40px]"
>
{data &&
data.specialties &&
@@ -10,17 +10,7 @@ function TextDetail({ data }) {
<div className="flex flex-col items-center justify-center">
<MultilineLoading line={10} width="full" height={18}>
<p
className={`
text-[#525252] text-[16px] font-normal leading-[32px] overflow-hidden relative
after:right-0 after:bottom-0 after:h-[80px]
after:shadow-xl after:w-full transition-all duration-500 w-full
${
data?.caption?.length > 180 && isMore
? "after:bg-transparent max-h-screen after:absolute"
: data?.caption?.length > 180 &&
"after:bg-[linear-gradient(transparent,#FAFAFA)] max-h-[200px] after:absolute"
}
`}
className={` text-[#525252] text-[16px] font-normal leading-[32px] overflow-hidden relative after:right-0 after:bottom-0 after:h-[80px] after:shadow-xl after:w-full transition-all duration-500 w-full ${ data?.caption?.length > 180 && isMore ? "after:bg-transparent max-h-screen after:absolute" : data?.caption?.length > 180 && "after:bg-[linear-gradient(transparent,#FAFAFA)] max-h-[200px] after:absolute" } `}
dangerouslySetInnerHTML={{ __html: sanitizeHtml(data?.caption) }}
></p>
</MultilineLoading>
@@ -9,15 +9,11 @@ function Images({ data }) {
return (
<div
className="
flex flex-col md:flex-row items-center mb-[8px] justify-center w-full
gap-[12px] md:gap-[18px] lg:gap-[24px] overflow-hidden
"
className=" flex flex-col md:flex-row items-center mb-[8px] justify-center w-full gap-[12px] md:gap-[18px] lg:gap-[24px] overflow-hidden "
>
<div className="w-full">
<div
className={`grid grid-cols-1 grid-rows-1 gap-[12px] md:gap-[18px] lg:gap-[24px] h-[290px] max-h-[290px]
${images_clinic.length === 1 ? "md:grid-cols-1 h-[350px] max-h-[350px]" : "md:grid-cols-2"}`}
className={`grid grid-cols-1 grid-rows-1 gap-[12px] md:gap-[18px] lg:gap-[24px] h-[290px] max-h-[290px] ${images_clinic.length === 1 ? "md:grid-cols-1 h-[350px] max-h-[350px]" : "md:grid-cols-2"}`}
>
<CustomLoading width={600} height={400}>
<Image
@@ -11,14 +11,7 @@ function List({ data }) {
return (
<div
className={`hidden w-full md:grid gap-[16px] lg:gap-[24px]
${rest.length === 0
? "md:!hidden"
: rest.length === 1
? "grid-cols-1 grid-rows-1"
: "grid-cols-2 auto-rows-fr"
}
`}
className={`hidden w-full md:grid gap-[16px] lg:gap-[24px] ${rest.length === 0 ? "md:!hidden" : rest.length === 1 ? "grid-cols-1 grid-rows-1" : "grid-cols-2 auto-rows-fr" } `}
>
{rest.map((img, idx) => (
<div key={idx} className="h-full w-full">
@@ -14,11 +14,7 @@ function Contact({ data }) {
return (
<div
className="
opacity-page border border-[#EFEFEF] rounded-[16px]
py-[12px] sm:py-[18px] md:py-[25px] lg:py-[32px]
px-[12px] sm:px-[30px] md:px-[47px] lg:px-[64px]
"
className=" opacity-page border border-[#EFEFEF] rounded-[16px] py-[12px] sm:py-[18px] md:py-[25px] lg:py-[32px] px-[12px] sm:px-[30px] md:px-[47px] lg:px-[64px] "
>
<div className="flex items-end justify-between">
<Detail data={data} />
@@ -37,8 +37,7 @@ function FilterModal({
<Modal open={open} onClose={handleClose} className="w-full">
<div
style={styleDefault}
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]
!w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] !w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
>
<div>
<DeleteAllButton
@@ -31,8 +31,7 @@ function SendReq({ filter, setFilter, setDataInURL, sendReq }) {
<Button
disabled={loading}
onClick={filterData}
className="!flex !m-1 !rounded-[4px] !w-[36px] sm:!w-[42px] md:!w-[49px] lg:!w-[56px] !min-w-[36px] sm:!min-w-[42px] md:!min-w-[49px] lg:!min-w-[56px]
!gap-2.5 !p-2.5 md:!p-4 !h-[calc(100%_-_8px)]"
className="!flex !m-1 !rounded-[4px] !w-[36px] sm:!w-[42px] md:!w-[49px] lg:!w-[56px] !min-w-[36px] sm:!min-w-[42px] md:!min-w-[49px] lg:!min-w-[56px] !gap-2.5 !p-2.5 md:!p-4 !h-[calc(100%_-_8px)]"
>
<div className="w-[24px] h-[24px] min-w-[24px] min-h-[24px]">
{!loading && <SearchD />}
@@ -10,9 +10,7 @@ function SearchBar({ slug,filter, sendReq, setFilter, updateData, setDataInURL,s
return (
<ButtonGroup
variant="contained"
className="!bg-[#FFF] !w-full lg:!w-[60%] lg:!max-w-[734px] !rounded-lg !overflow-hidden
flex items-center !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]
!h-[44px] sm:!h-[50px] md:!h-[57px] lg:!h-[64px]"
className="!bg-[#FFF] !w-full lg:!w-[60%] lg:!max-w-[734px] !rounded-lg !overflow-hidden flex items-center !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] !h-[44px] sm:!h-[50px] md:!h-[57px] lg:!h-[64px]"
>
<FilterModal
slug={slug}
@@ -44,11 +44,7 @@ function SelectSort({ filter, updateData }) {
}}
IconComponent={() => (
<div
className="mx-3
min-w-[20px] md:min-w-[22px] lg:min-w-[24px] min-h-[20px] md:min-h-[22px] lg:min-h-[24px]
max-w-[20px] md:max-w-[22px] lg:max-w-[24px] max-h-[20px] md:max-h-[22px] lg:max-h-[24px]
w-[20px] md:w-[22px] lg:w-[24px] h-[20px] md:h-[22px] lg:h-[24px]
"
className="mx-3 min-w-[20px] md:min-w-[22px] lg:min-w-[24px] min-h-[20px] md:min-h-[22px] lg:min-h-[24px] max-w-[20px] md:max-w-[22px] lg:max-w-[24px] max-h-[20px] md:max-h-[22px] lg:max-h-[24px] w-[20px] md:w-[22px] lg:w-[24px] h-[20px] md:h-[22px] lg:h-[24px] "
>
<ArrowBottomD />
</div>
+1 -9
View File
@@ -22,15 +22,7 @@ function FilterButton({ limit, selected, filterData }) {
<Button
onClick={sendReq}
disabled={loading}
className="
!rounded-[4px] !gap-2.5 !p-2 md:!p-3 lg:!p-4 !grid !place-items-center
!w-[38px] sm:!w-[44px] md:!w-[50px] lg:!w-[56px]
!h-[38px] sm:!h-[44px] md:!h-[50px] lg:!h-[56px]
!min-w-[38px] sm:!min-w-[44px] md:!min-w-[50px] lg:!min-w-[56px]
!min-h-[38px] sm:!min-h-[44px] md:!min-h-[50px] lg:!min-h-[56px]
!max-w-[38px] sm:!max-w-[44px] md:!max-w-[50px] lg:!max-w-[56px]
!max-h-[38px] sm:!max-h-[44px] md:!max-h-[50px] lg:!max-h-[56px]
"
className=" !rounded-[4px] !gap-2.5 !p-2 md:!p-3 lg:!p-4 !grid !place-items-center !w-[38px] sm:!w-[44px] md:!w-[50px] lg:!w-[56px] !h-[38px] sm:!h-[44px] md:!h-[50px] lg:!h-[56px] !min-w-[38px] sm:!min-w-[44px] md:!min-w-[50px] lg:!min-w-[56px] !min-h-[38px] sm:!min-h-[44px] md:!min-h-[50px] lg:!min-h-[56px] !max-w-[38px] sm:!max-w-[44px] md:!max-w-[50px] lg:!max-w-[56px] !max-h-[38px] sm:!max-h-[44px] md:!max-h-[50px] lg:!max-h-[56px] "
>
<div className="w-[24px] h-[24px] min-w-[24px] min-h-[24px] grid place-items-center">
{!loading && <SearchD />}
+1 -4
View File
@@ -54,10 +54,7 @@ function SearchBar({
return (
<ButtonGroup
variant="contained"
className="
!bg-[#FFF] !w-full sm:!w-2/3 !mt-[30px] !rounded-lg !overflow-hidden flex items-center
!shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]
!h-fit !pl-1"
className=" !bg-[#FFF] !w-full sm:!w-2/3 !mt-[30px] !rounded-lg !overflow-hidden flex items-center !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] !h-fit !pl-1"
>
<ModalSearchCity
open={open}
@@ -18,8 +18,7 @@ function ButtonFilter({ selected, setOpen }) {
<Location />
</div>
<p
className="text-[#616161] text-[11px] md:text-[14px] leading-[17px] sm:leading-[19px]
md:leading-[22px] lg:leading-[24px] font-medium ml-1 md:mx-1"
className="text-[#616161] text-[11px] md:text-[14px] leading-[17px] sm:leading-[19px] md:leading-[22px] lg:leading-[24px] font-medium ml-1 md:mx-1"
>
{(selected.city?.name !== "نوبت 724" ? selected.city?.name : false) ||
"شهر"}
+1 -4
View File
@@ -40,10 +40,7 @@ function ModalSearchCity() {
<>
{/* Button Modal */}
<Button
className="
!border-none !min-w-fit lg:!min-w-[122px] !bg-[#F8F8FF] !rounded-l-none
!py-[15px] !px-[6px] md:!py-[17px] md:!px-[5px] lg:!py-[20px] lg:!px-[8px]
"
className=" !border-none !min-w-fit lg:!min-w-[122px] !bg-[#F8F8FF] !rounded-l-none !py-[15px] !px-[6px] md:!py-[17px] md:!px-[5px] lg:!py-[20px] lg:!px-[8px] "
onClick={handleOpen}
variant="contained"
color="secondary"
+1 -2
View File
@@ -47,8 +47,7 @@ function List({
<Pageguide list={listPage} />
{clinics && clinics.length ? (
<ul
className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-[24px]
gap-y-[16px] sm:gap-y-[24px] md:gap-y-[32px] lg:gap-y-[40px] mt-6"
className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-[24px] gap-y-[16px] sm:gap-y-[24px] md:gap-y-[32px] lg:gap-y-[40px] mt-6"
>
{clinics.map((item) => (
<ItemClinic
+1 -6
View File
@@ -99,12 +99,7 @@ function InlineJalaliMonth({
key={index}
disabled={disabled}
onClick={() => onSelectDay(dayDate)}
className={`
mx-auto flex items-center justify-center w-[34px] h-[34px] rounded-full
text-[14px] md:text-[16px] font-normal transition-colors
${selected ? "!bg-[#F17732] !text-[#FFF]" : ""}
${disabled ? "text-[#D7D7D7] cursor-not-allowed" : isFriday ? "text-[#E0383B]" : "text-[#525252] hover:bg-[#F5F5F5]"}
`}
className={` mx-auto flex items-center justify-center w-[34px] h-[34px] rounded-full text-[14px] md:text-[16px] font-normal transition-colors ${selected ? "!bg-[#F17732] !text-[#FFF]" : ""} ${disabled ? "text-[#D7D7D7] cursor-not-allowed" : isFriday ? "text-[#E0383B]" : "text-[#525252] hover:bg-[#F5F5F5]"} `}
>
{day}
</button>
+1 -2
View File
@@ -6,8 +6,7 @@ import Field from "@/app/component/fields/Field";
function Connect() {
return (
<div
className="lg:min-w-[calc(50%_+_70px)] w-full lg:translate-x-[140px] bg-[#FFF] lg:p-[32px]
shadow-[0px_0px_28.6px_0px_rgba(147,_147,_147,_0.25)] mt-[16px] lg:mt-0 p-[16px] sm:p-[21px] md:p-[27px]"
className="lg:min-w-[calc(50%_+_70px)] w-full lg:translate-x-[140px] bg-[#FFF] lg:p-[32px] shadow-[0px_0px_28.6px_0px_rgba(147,_147,_147,_0.25)] mt-[16px] lg:mt-0 p-[16px] sm:p-[21px] md:p-[27px]"
>
<div>
<div className="flex flex-col justify-center items-center gap-[10px]">
+2 -5
View File
@@ -3,14 +3,11 @@ import Links from "./Links";
function Call({ matchedCity, isDefault }) {
return (
<div
className={`lg:min-w-[calc(50%_+_70px)] bg-banner-about !bg-center !bg-no-repeat !bg-cover h-fit pt-[16px] sm:pt-[29px] md:pt-[42px] lg:pt-[55px]
bg-contact rounded-[8px] pb-[30px] sm:pb-[42px] md:pb-[55px]
overflow-hidden lg:pb-[171px] px-[16px] sm:px-[27px] md:px-[39px] lg:px-[48px]
${isDefault ? "lg:pl-[18%]" : "w-full"}`}
className={`lg:min-w-[calc(50%_+_70px)] bg-banner-about !bg-center !bg-no-repeat !bg-cover h-fit pt-[16px] sm:pt-[29px] md:pt-[42px] lg:pt-[55px] bg-contact rounded-[8px] pb-[30px] sm:pb-[42px] md:pb-[55px] overflow-hidden lg:pb-[171px] px-[16px] sm:px-[27px] md:px-[39px] lg:px-[48px] ${isDefault ? "lg:pl-[18%]" : "w-full"}`}
>
<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 || "برای ارتباط با ما از راه های زیر استفاده کنید"}
{matchedCity?.footer_description || "برای ارتباط با ما از راه های زیر استفاده کنید"}
</h2>
<Links matchedCity={matchedCity} />
</div>
+12 -6
View File
@@ -6,25 +6,31 @@ import WhatsappC from "../../icons/WhatsappC";
import ContentContact from "../ContentContact";
function Links({ matchedCity }) {
const phone = matchedCity?.contact_phone || "+98 2191550875";
const whatsapp = matchedCity?.social_media?.whatsapp || "09390039833";
const email = matchedCity?.email || "info@clinic-pro.ir";
// wa.me needs international format: 09xx… → 989xx…
const waDigits = whatsapp.replace(/\D/g, "").replace(/^0/, "98");
return (
<ul className="flex flex-col mt-[68px] justify-start items-start gap-[32px]">
<ContentContact
url="tel:900300400"
url={`tel:${phone.replace(/\s/g, "")}`}
label="تلفن تماس: "
text={matchedCity?.contactPhone || "900300400"}
text={phone}
>
<CallC />
</ContentContact>
<ContentContact
url="https://wa.me/09124568794"
text={matchedCity?.socialMedia?.whatsapp || "09124568794"}
url={`https://wa.me/${waDigits}`}
text={whatsapp}
label="واتساپ: "
>
<WhatsappC />
</ContentContact>
<ContentContact
url="mailto:batome@gmail.com"
text={matchedCity?.email || "info@nobat724.com"}
url={`mailto:${email}`}
text={email}
label="ایمیل: "
>
<EmailC />
+3 -4
View File
@@ -3,13 +3,12 @@ import Call from "./call/Call";
import Connect from "./Connect";
async function ContactUsPage() {
const { matchedCity } = await getStateInfo();
const isDefault = matchedCity?.id === "63";
const { matchedCity, isRoot } = await getStateInfo();
return (
<div className="w-full pt-[24px] sm:pt-[56px] md:pt-[88px] lg:pt-[120px] mt-[56px] padding-responsive flex flex-col lg:flex-row items-center justify-between h-fit">
<Call matchedCity={matchedCity} isDefault={isDefault} />
{matchedCity?.id === "63" && <Connect />}
<Call matchedCity={matchedCity} isDefault={isRoot} />
{isRoot && <Connect />}
</div>
);
}
@@ -7,17 +7,12 @@ function NotfoundDashboard() {
<div className="flex flex-col-reverse items-center justify-between gap-[50px]">
<div className="flex w-full md:w-fit flex-col justify-center items-center">
<div
className="flex mt-[72px] md:hidden
w-[136px] sm:w-[163px] md:w-[190px] lg:w-[218px]
h-[51px] sm:h-[61px] md:h-[71px] lg:h-[82px]"
className="flex mt-[72px] md:hidden w-[136px] sm:w-[163px] md:w-[190px] lg:w-[218px] h-[51px] sm:h-[61px] md:h-[71px] lg:h-[82px]"
>
<NumberNotFound />
</div>
<Image
className=" mt-[24px]
w-[200px] sm:w-[212px] md:w-[223px] lg:w-[235px]
h-[200px] sm:h-[212px] md:h-[223px] lg:h-[235px]
"
className=" mt-[24px] w-[200px] sm:w-[212px] md:w-[223px] lg:w-[235px] h-[200px] sm:h-[212px] md:h-[223px] lg:h-[235px] "
src="/assets/images/notfound-cover.png"
alt="notfound-cover"
height={405}
@@ -7,10 +7,7 @@ function UpdateBtn({ updateData, loading }) {
variant="outlined"
onClick={updateData}
disabled={loading}
className={`
!border-[#5559CE] !border-[2px] !relative
!py-[6px] md:!py-2 lg:!py-[9px] !px-[8px] sm:!px-[15px] md:!px-[21px] lg:!px-[28px] !mr-0 md:!mr-4
`}
className={` !border-[#5559CE] !border-[2px] !relative !py-[6px] md:!py-2 lg:!py-[9px] !px-[8px] sm:!px-[15px] md:!px-[21px] lg:!px-[28px] !mr-0 md:!mr-4 `}
>
{loading && (
<CircularProgress
@@ -19,8 +16,7 @@ function UpdateBtn({ updateData, loading }) {
/>
)}
<div
className={`!flex !items-center !justify-center !gap-2 !text-[14px] !font-medium
${loading ? "opacity-0" : "opacity-100"}`}
className={`!flex !items-center !justify-center !gap-2 !text-[14px] !font-medium ${loading ? "opacity-0" : "opacity-100"}`}
>
<UpdateList />
آپدیت کردن
@@ -38,8 +38,7 @@ function ModalAddAlergie({ open, setOpen, loading, changeData, updateData }) {
<Modal open={open} onClose={handleClose} className="w-full">
<div
style={styleDefault}
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]
!w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] !w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
>
<div>
<div className="flex justify-between w-full">
@@ -32,8 +32,7 @@ function ModalAddHistory({ open, setOpen, changeData, loading, updateData }) {
<Modal open={open} onClose={handleClose} className="w-full">
<div
style={styleDefault}
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]
!w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] !w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
>
<div>
<div className="flex justify-between w-full">
@@ -86,10 +86,7 @@ function ButtonSendData({
variant="contained"
onClick={sendReq}
disabled={loading || isDisabled()}
className={`!gap-[4px] !mr-auto !text-nowrap !flex !flex-nowrap !py-[8px]
!rounded-[4px] !text-[14px] md:!text-[16px] !font-medium
!mt-[32px] sm:!mt-[38px] md:!mt-[43px] lg:!mt-[48px] !px-[16px] sm:!px-[19px] md:!px-[22px] lg:!px-[24px]
`}
className={`!gap-[4px] !mr-auto !text-nowrap !flex !flex-nowrap !py-[8px] !rounded-[4px] !text-[14px] md:!text-[16px] !font-medium !mt-[32px] sm:!mt-[38px] md:!mt-[43px] lg:!mt-[48px] !px-[16px] sm:!px-[19px] md:!px-[22px] lg:!px-[24px] `}
>
{loading ? (
<CircularProgress size={20} sx={{ color: "#fff" }} />
@@ -32,9 +32,7 @@ function Field({
disabled={disable}
type={type || "text"}
placeholder={placeholder || ""}
className={`!w-full res-field-account dark:!bg-transparent ${
isTransparent ? "!bg-transparent lg:!bg-[#FFF]" : "!bg-[#FFF]"
}`}
className={`!w-full res-field-account dark:!bg-transparent ${ isTransparent ? "!bg-transparent lg:!bg-[#FFF]" : "!bg-[#FFF]" }`}
onChange={(e) => {
changeData(e.target.value, name);
}}
@@ -66,8 +64,7 @@ function Field({
}}
/>
<Button
className={`!absolute !left-[8px] !-translate-y-1/2 !min-w-fit !p-1
${multiline ? "!top-[24px]" : "!top-1/2"}`}
className={`!absolute !left-[8px] !-translate-y-1/2 !min-w-fit !p-1 ${multiline ? "!top-[24px]" : "!top-1/2"}`}
>
{icon ? icon : iconGray ? <EditGrayA /> : <EditOrangeA />}
</Button>
@@ -7,8 +7,7 @@ function Content({ isConfirmed, children, title, error, req }) {
</p>
{isConfirmed && (
<p
className="py-[4px] md:py-[2px] px-[5px] bg-[#05BA58] rounded-[40px] text-[#FFF]
text-[10px] md:text-[12px] font-normal h-[26px] grid place-items-center"
className="py-[4px] md:py-[2px] px-[5px] bg-[#05BA58] rounded-[40px] text-[#FFF] text-[10px] md:text-[12px] font-normal h-[26px] grid place-items-center"
>
تایید شده
</p>
@@ -40,8 +40,7 @@ function ModalAddMedications({
<Modal open={open} onClose={handleClose} className="w-full">
<div
style={styleDefault}
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]
!w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] !w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
>
<div>
<div className="flex justify-between w-full">
@@ -37,8 +37,7 @@ function ModalAddRelatives({ open, setOpen, changeData, loading, updateData }) {
<Modal open={open} onClose={handleClose} className="w-full">
<div
style={styleDefault}
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]
!w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] !w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
>
<div>
<div className="flex justify-between w-full">
@@ -34,8 +34,7 @@ function ModalAddSurgeries({ open, setOpen, updateData, loading, changeData }) {
<Modal open={open} onClose={handleClose} className="w-full">
<div
style={styleDefault}
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]
!w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] !w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
>
<div>
<div className="flex justify-between w-full">
@@ -12,10 +12,7 @@ function ModalDeleteComment({ loading }) {
<div>
{/* Button Modal */}
<Button
className={`
${!loading && "!border-[#828DE0]"}
!rounded-[4px] !py-[6px] md:!py-[7px] lg:!py-[8px] !px-[12px]
`}
className={` ${!loading && "!border-[#828DE0]"} !rounded-[4px] !py-[6px] md:!py-[7px] lg:!py-[8px] !px-[12px] `}
disabled={loading}
onClick={handleOpen}
variant="outlined"
+1 -2
View File
@@ -14,8 +14,7 @@ function AppointmentList({ doctor, loading, doctorSlug }) {
)}
</ul>
<div
className="fixed lg:hidden bg-[#FFF] border-t border-transparent border-t-[#D7D7D7]
border-solid bottom-0 right-0 w-full p-4 flex items-center justify-between"
className="fixed lg:hidden bg-[#FFF] border-t border-transparent border-t-[#D7D7D7] border-solid bottom-0 right-0 w-full p-4 flex items-center justify-between"
>
<p className="text-[#05BA58] text-[11px] font-normal">
{doctor?.active === false || !doctor?.free_turn
+2 -9
View File
@@ -20,13 +20,7 @@ function Link() {
<a href={`#${item.link}`} className="mx-auto">
<Button
onClick={() => setActiveId(idx)}
className={`!text-[16px] md:!text-[18px] lg:!text-[20px] !text-center !font-bold !p-1
${
activeId === idx
? "!text-[#F17732]"
: "!text-[#525252]"
}
`}
className={`!text-[16px] md:!text-[18px] lg:!text-[20px] !text-center !font-bold !p-1 ${ activeId === idx ? "!text-[#F17732]" : "!text-[#525252]" } `}
variant="text"
>
{item.name}
@@ -34,8 +28,7 @@ function Link() {
</a>
{listLink.length > idx + 1 && (
<span
className="block border-transparent border-l border-dotted border-l-[#BABABA] w-px h-[38px] lg:mx-[44px] xl:mx-[56px]
absolute left-0 lg:relative"
className="block border-transparent border-l border-dotted border-l-[#BABABA] w-px h-[38px] lg:mx-[44px] xl:mx-[56px] absolute left-0 lg:relative"
></span>
)}
</li>
+2 -8
View File
@@ -178,20 +178,14 @@ function List({ hiddenRef, data, qrReady }) {
className="flex flex-col justify-center items-center w-fit gap-[2px]"
>
<Button
className="
!p-[0px] !bg-[#EAECFA] !rounded-full !min-w-0 grid place-items-center
!w-[24px] sm:!w-[28px] md:!w-[32px] lg:!w-[36px]
!h-[24px] sm:!h-[28px] md:!h-[32px] lg:!h-[36px]
"
className=" !p-[0px] !bg-[#EAECFA] !rounded-full !min-w-0 grid place-items-center !w-[24px] sm:!w-[28px] md:!w-[32px] lg:!w-[36px] !h-[24px] sm:!h-[28px] md:!h-[32px] lg:!h-[36px] "
onClick={item.onClick}
aria-label={item.name}
variant="text"
disabled={item.disabled}
>
<div
className="grid place-items-center w-full-icon
!w-[16px] md:!w-[17px] lg:!w-[18px]
!h-[16px] md:!h-[17px] lg:!h-[18px]"
className="grid place-items-center w-full-icon !w-[16px] md:!w-[17px] lg:!w-[18px] !h-[16px] md:!h-[17px] lg:!h-[18px]"
>
{item.icon}
</div>
+2 -8
View File
@@ -53,9 +53,7 @@ function Share({ data }) {
<Modal open={open} onClose={handleClose}>
<Box
sx={styleDefault}
className="!pt-[12px] md:!pt-[14px] lg:!py-[16px] !overflow-hidden
!px-[12px] sm:!px-[16px] md:!px-[20px] lg:!px-[24px]
!pb-[12px] sm:!pb-[16px] lg:!pb-[20px] !rounded-[8px]"
className="!pt-[12px] md:!pt-[14px] lg:!py-[16px] !overflow-hidden !px-[12px] sm:!px-[16px] md:!px-[20px] lg:!px-[24px] !pb-[12px] sm:!pb-[16px] lg:!pb-[20px] !rounded-[8px]"
>
<div className="flex items-center justify-between w-full">
<p className="text-[#3B3B3B] text-[14px] sm:text-[16px] md:text-[18px] lg:text-[20px] font-medium">
@@ -79,11 +77,7 @@ function Share({ data }) {
key={v.key}
type="button"
onClick={() => changeVariant(v.key)}
className={`flex items-center gap-[6px] rounded-full border px-3 py-1.5 text-[11px] md:text-[12px] transition-colors ${
variant === v.key
? "border-[#5559CE] text-[#5559CE] bg-[#EAECFA]"
: "border-[#EFEFEF] text-[#525252] bg-white"
}`}
className={`flex items-center gap-[6px] rounded-full border px-3 py-1.5 text-[11px] md:text-[12px] transition-colors ${ variant === v.key ? "border-[#5559CE] text-[#5559CE] bg-[#EAECFA]" : "border-[#EFEFEF] text-[#525252] bg-white" }`}
>
<span
className="w-[14px] h-[14px] rounded-full border border-[#E0E0E0]"
+1 -4
View File
@@ -26,10 +26,7 @@ function Title({ doctor }) {
<DoctorAvatar
doctor={doctor}
size={164}
className="
w-[40px] sm:w-[81px] md:w-[123px] lg:w-[164px]
h-[40px] sm:h-[81px] md:h-[123px] lg:h-[164px]
"
className=" w-[40px] sm:w-[81px] md:w-[123px] lg:w-[164px] h-[40px] sm:h-[81px] md:h-[123px] lg:h-[164px] "
/>
</CircularLoading>
<div className="flex flex-col items-center lg:items-start gap-[8px] lg:gap-[16px]">
@@ -17,16 +17,7 @@ function AboutDcotor({ doctor }) {
<div className="flex flex-col items-center justify-center">
<MultilineLoading width="full" height={18} line={30}>
<p
className={`
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]"
}
`}
className={` 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]" } `}
>
{doctor?.detail}
</p>
@@ -12,10 +12,7 @@ function Chart({ comments, rateAggregate }) {
const averages = rateAggregate?.averages ?? [];
return (
<div
className="
rounded-lg my-[12px] sm:my-[16px] md:my-[20px] lg:my-[24px] border border-[#EFEFEF] bg-[#FFF]
pt-[12px] md:pt-[14px] lg:pt-[16px] pb-[12px] sm:pb-[16px] md:pb-[20px] lg:pb-[24px] px-[12px] sm:px-[16px] md:px-[20px] lg:px-[24px]
"
className=" rounded-lg my-[12px] sm:my-[16px] md:my-[20px] lg:my-[24px] border border-[#EFEFEF] bg-[#FFF] pt-[12px] md:pt-[14px] lg:pt-[16px] pb-[12px] sm:pb-[16px] md:pb-[20px] lg:pb-[24px] px-[12px] sm:px-[16px] md:px-[20px] lg:px-[24px] "
>
<TextLoading width={130} height={20}>
<div className="flex items-center justify-start gap-2.5">
@@ -6,8 +6,7 @@ function BtnNewComment({ handleOpen }) {
<Button
variant="outlined"
onClick={handleOpen}
className="!py-[6px] md:!py-2 lg:!py-[9px] !px-[16px] sm:!px-[23px] md:!px-[29px]
lg:!px-[36px] !mr-0 md:!mr-4 !rounded !w-full md:!w-fit"
className="!py-[6px] md:!py-2 lg:!py-[9px] !px-[16px] sm:!px-[23px] md:!px-[29px] lg:!px-[36px] !mr-0 md:!mr-4 !rounded !w-full md:!w-fit"
>
ثبت نظر
</Button>
@@ -27,19 +27,13 @@ function Item({ data }) {
>
<p className="text-[#616161] text-[16px] font-medium">{data.name}</p>
<div
className={`
transition-all duration-500
${isOpen ? "rotate-180" : "rotate-0"}
`}
className={` transition-all duration-500 ${isOpen ? "rotate-180" : "rotate-0"} `}
>
<ArrowBottomGrayD />
</div>
</Button>
<div
className={`
overflow-hidden transition-all duration-500
${isOpen ? "max-h-[800px] " : "max-h-0"}
`}
className={` overflow-hidden transition-all duration-500 ${isOpen ? "max-h-[800px] " : "max-h-0"} `}
>
<div className="gap-3 md:gap-4 flex flex-col items-start mt-[16px] sm:mt-[19px] md:mt-[22px] lg:mt-[24px]">
<p className="text-[#525252] text-[16px] font-normal">
@@ -85,8 +79,7 @@ function Item({ data }) {
handleClose={handleClose}
>
<Button
className="!flex md:!hidden !p-2 !absolute !left-3 !bottom-3 !rounded-[4px] !border !border-[#5559CE] !py-2 !px-3
!bg-[#5559CE] !shadow-[0px_1px_24.8px_0px_rgba(69,_69,_69,_0.54)] !gap-[8px] !text-[#FAFAFA] !text-[14px] !font-medium"
className="!flex md:!hidden !p-2 !absolute !left-3 !bottom-3 !rounded-[4px] !border !border-[#5559CE] !py-2 !px-3 !bg-[#5559CE] !shadow-[0px_1px_24.8px_0px_rgba(69,_69,_69,_0.54)] !gap-[8px] !text-[#FAFAFA] !text-[14px] !font-medium"
onClick={handleOpen}
>
<RoutingWhiteC />
+1 -2
View File
@@ -31,8 +31,7 @@ function FilterModal({
<Modal open={open} onClose={handleClose} className="w-full">
<div
style={styleDefault}
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]
!w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] !w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
>
<div>
<DeleteAllButton
+1 -2
View File
@@ -41,8 +41,7 @@ function SendReq({ filter, setFilter, setDataInURL, sendReq }) {
disabled={loading}
onClick={filterData}
aria-label="جستجوی پزشک"
className="!flex !m-1 !rounded-[4px] !w-[36px] sm:!w-[42px] md:!w-[49px] lg:!w-[56px] !min-w-[36px] sm:!min-w-[42px] md:!min-w-[49px] lg:!min-w-[56px]
!gap-2.5 !p-2.5 md:!p-4 !h-[calc(100%_-_8px)]"
className="!flex !m-1 !rounded-[4px] !w-[36px] sm:!w-[42px] md:!w-[49px] lg:!w-[56px] !min-w-[36px] sm:!min-w-[42px] md:!min-w-[49px] lg:!min-w-[56px] !gap-2.5 !p-2.5 md:!p-4 !h-[calc(100%_-_8px)]"
>
<div className="w-[24px] h-[24px] min-w-[24px] min-h-[24px]">
{!loading && <SearchD />}
+1 -3
View File
@@ -9,9 +9,7 @@ function SearchBar({ filter, sendReq, setFilter, updateData, setDataInURL }) {
return (
<ButtonGroup
variant="contained"
className="!bg-[#FFF] !w-full lg:!w-[60%] lg:!max-w-[734px] !rounded-lg !overflow-hidden
flex items-center !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]
!h-[44px] sm:!h-[50px] md:!h-[57px] lg:!h-[64px]"
className="!bg-[#FFF] !w-full lg:!w-[60%] lg:!max-w-[734px] !rounded-lg !overflow-hidden flex items-center !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] !h-[44px] sm:!h-[50px] md:!h-[57px] lg:!h-[64px]"
>
<FilterModal
filter={filter}
+1 -5
View File
@@ -47,11 +47,7 @@ function SelectSort({ filter, updateData }) {
}}
IconComponent={() => (
<div
className="mx-3
min-w-[20px] md:min-w-[22px] lg:min-w-[24px] min-h-[20px] md:min-h-[22px] lg:min-h-[24px]
max-w-[20px] md:max-w-[22px] lg:max-w-[24px] max-h-[20px] md:max-h-[22px] lg:max-h-[24px]
w-[20px] md:w-[22px] lg:w-[24px] h-[20px] md:h-[22px] lg:h-[24px]
"
className="mx-3 min-w-[20px] md:min-w-[22px] lg:min-w-[24px] min-h-[20px] md:min-h-[22px] lg:min-h-[24px] max-w-[20px] md:max-w-[22px] lg:max-w-[24px] max-h-[20px] md:max-h-[22px] lg:max-h-[24px] w-[20px] md:w-[22px] lg:w-[24px] h-[20px] md:h-[22px] lg:h-[24px] "
>
<ArrowBottomD />
</div>
+1 -2
View File
@@ -25,8 +25,7 @@ function FrequentSearches() {
<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]"
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.name}
</Button>
+1 -2
View File
@@ -11,8 +11,7 @@ async function TextHeader() {
با {matchedCity?.site_name}
</h1>
<h2
className="text-[#525252] text-center mt-2.5 text-[16px] sm:text-[25px] md:text-[31px] lg:text-[36px]
font-bold flex items-center gap-0.5 sm:gap-1 md:gap-2"
className="text-[#525252] text-center mt-2.5 text-[16px] sm:text-[25px] md:text-[31px] lg:text-[36px] font-bold flex items-center gap-0.5 sm:gap-1 md:gap-2"
>
<div className="max-w-[18px] sm:max-w-[22px]">
<BText />
+1 -6
View File
@@ -55,12 +55,7 @@ function RedirectLink({ data }) {
</Button>
<Button
onClick={handleRedirect}
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"
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 />
+1 -5
View File
@@ -8,11 +8,7 @@ async function SearchBar() {
return (
<ButtonGroup
variant="contained"
className="
!py-[4px] sm:!py-[7px] md:!py-[10px] lg:!py-[12px] !gap-3
!px-[4px] sm:!px-[8px] md:!px-[12px] lg:!px-[16px] !mt-[22px] sm:!mt-[34px] md:!mt-[46px] lg:!mt-[60px]
!bg-[#FAFAFA] !transition-all !duration-500 !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] w-full lg:w-fit
"
className=" !py-[4px] sm:!py-[7px] md:!py-[10px] lg:!py-[12px] !gap-3 !px-[4px] sm:!px-[8px] md:!px-[12px] lg:!px-[16px] !mt-[22px] sm:!mt-[34px] md:!mt-[46px] lg:!mt-[60px] !bg-[#FAFAFA] !transition-all !duration-500 !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] w-full lg:w-fit "
>
<Fields city={matchedCity} state={matchedState} />
</ButtonGroup>
+1 -2
View File
@@ -18,8 +18,7 @@ function ButtonFilter({ selected, setOpen }) {
<Location />
</div>
<p
className="text-[#616161] text-[11px] md:text-[14px] leading-[17px] sm:leading-[19px]
md:leading-[22px] lg:leading-[24px] font-medium ml-1 md:mx-1"
className="text-[#616161] text-[11px] md:text-[14px] leading-[17px] sm:leading-[19px] md:leading-[22px] lg:leading-[24px] font-medium ml-1 md:mx-1"
>
{(selected.city !== "نوبت 724" ? selected.city : false) || "شهر"}
</p>
+1 -2
View File
@@ -2,8 +2,7 @@ function ArrowDownP({ data }) {
return (
<div className="pl-[6px] cursor-pointer">
<svg
className={`transition-all duration-500 ${data.className.includes("iconOpen") ? "rotate-180" : "rotate-0"
} dark:[&>path]:stroke-[#A1A1A1]`}
className={`transition-all duration-500 ${data.className.includes("iconOpen") ? "rotate-180" : "rotate-0" } dark:[&>path]:stroke-[#A1A1A1]`}
xmlns="http://www.w3.org/2000/svg"
width="20"
height="20"
+6 -7
View File
@@ -37,7 +37,8 @@ function buildSocialUrl(name, value) {
case "telegram":
return `https://t.me/${handle}`;
case "whatsapp":
return `https://wa.me/${handle.replace(/\D/g, "")}`;
// wa.me needs international format: 09xx… → 989xx…
return `https://wa.me/${handle.replace(/\D/g, "").replace(/^0/, "98")}`;
default:
return value;
}
@@ -76,8 +77,7 @@ function Footer({ matchedCity }) {
onClick={(e) => !item.link && e.preventDefault}
>
<div
className="flex flex-col lg:flex-row items-center cursor-pointer justify-start gap-1 p-[6px] hover:transition-all
transition-all duration-300 hover:duration-300 rounded-[8px] border-solid border border-[#EFEFEF] bg-[#F7F7F7] hover:bg-none hover:border-[#FDBD9F]"
className="flex flex-col lg:flex-row items-center cursor-pointer justify-start gap-1 p-[6px] hover:transition-all transition-all duration-300 hover:duration-300 rounded-[8px] border-solid border border-[#EFEFEF] bg-[#F7F7F7] hover:bg-none hover:border-[#FDBD9F]"
>
{item.icon}
<p className="text-[#2F2F2F] text-center text-[12px] sm:text-[14px] md:text-[16px] font-medium">
@@ -89,15 +89,14 @@ function Footer({ matchedCity }) {
</div>
<span className="h-px bg-[#D7D7D7] mb-[40px] mt-[48px] w-full block"></span>
<div
className="pb-[16px] sm:pb-[18px] md:pb-[19px] lg:pb-[21px]
flex flex-col gap-[16px] lg:gap-0 lg:flex-row items-start justify-between"
className="pb-[16px] sm:pb-[18px] md:pb-[19px] lg:pb-[21px] flex flex-col gap-[16px] lg:gap-0 lg:flex-row items-start justify-between"
>
{/* Right */}
<div className="w-full lg:w-fit flex gap-[12px] lg:gap-[30px] flex-col items-start">
{/* Icon */}
<Logo matchedCity={matchedCity} />
<p className="w-full lg:w-fit lg:max-w-[260px] text-[#616161] text-[14px] font-normal">
{matchedCity?.footerDescription}
{matchedCity?.footer_description}
</p>
<div className="hidden lg:flex">
<LogoNamad />
@@ -131,7 +130,7 @@ function Footer({ matchedCity }) {
</p>
<ul className="flex items-center gap-[8px] sm:gap-[11px] md:gap-[13px] lg:gap-[15px]">
{socialMedias.map((item, idx) => {
const url = buildSocialUrl(item.name, matchedCity?.socialMedia?.[item.name]);
const url = buildSocialUrl(item.name, matchedCity?.social_media?.[item.name]);
return (
<li
key={idx}
+1 -4
View File
@@ -9,10 +9,7 @@ function HeadMenu({ title, name, isOpen, changeMenu }) {
>
<p className="text-[#262866] text-[14px] font-medium">{title.name}</p>
<div
className={`
transition-all duration-500
${isOpen ? "rotate-180" : "rotate-0"}
`}
className={` transition-all duration-500 ${isOpen ? "rotate-180" : "rotate-0"} `}
>
<ArrowDownF />
</div>
+2 -13
View File
@@ -4,23 +4,12 @@ import React from "react";
function ListMenu({ list, isOpen }) {
return (
<ul
className={`
mt-3 lg:mt-0 w-full lg:w-fit lg:!max-h-fit flex flex-col overflow-hidden transition-all duration-500 gap-3
${isOpen ? "max-h-[150px]" : "max-h-0"}
`}
className={` mt-3 lg:mt-0 w-full lg:w-fit lg:!max-h-fit flex flex-col overflow-hidden transition-all duration-500 gap-3 ${isOpen ? "max-h-[150px]" : "max-h-0"} `}
>
{list.map((item, idx) => (
<li
key={idx}
className={`
relative cursor-pointer after:absolute after:right-0 after:h-0.5 after:bottom-0 after:w-0
${
idx === 0
? "hidden lg:flex text-[#3B3B3B] after:hover:w-full after:!duration-500 after:transition-all after:hover:bg-[#F17732] font-bold pb-1.5"
: "text-[#616161] border-transparent font-normal"
}
text-[16px] w-fit
`}
className={` relative cursor-pointer after:absolute after:right-0 after:h-0.5 after:bottom-0 after:w-0 ${ idx === 0 ? "hidden lg:flex text-[#3B3B3B] after:hover:w-full after:!duration-500 after:transition-all after:hover:bg-[#F17732] font-bold pb-1.5" : "text-[#616161] border-transparent font-normal" } text-[16px] w-fit `}
>
{item.link ? <Link href={item.link}>{item.name}</Link> : item.name}
</li>
+1 -5
View File
@@ -23,11 +23,7 @@ function Content({ matchedCity, name, logged }) {
return (
<div
className={`
px-[8px] sm:px-[16px] md:px-[24px] lg:px-[32px] py-[4px] sm:py-[8px] md:py-[12px] lg:py-[16px]
flex transition-all duration-500 overflow-hidden justify-between items-center flex-nowrap
${isActive ? "!pr-0" : "!px-4"}
`}
className={` px-[8px] sm:px-[16px] md:px-[24px] lg:px-[32px] py-[4px] sm:py-[8px] md:py-[12px] lg:py-[16px] flex transition-all duration-500 overflow-hidden justify-between items-center flex-nowrap ${isActive ? "!pr-0" : "!px-4"} `}
>
<div>
<BgGray isActive={isActive} setIsActive={setIsActive} />
+1 -4
View File
@@ -8,10 +8,7 @@ function Row({ name }) {
<li key={nav.id}>
<Link
href={nav.link}
className={`
${nav.link === name ? "!text-[#526CAC]" : "text-[#525252]"}
text-[16px] font-medium
`}
className={` ${nav.link === name ? "!text-[#526CAC]" : "text-[#525252]"} text-[16px] font-medium `}
>
{nav.name}
</Link>
+1 -9
View File
@@ -2,15 +2,7 @@ function BgGray({ isActive, setIsActive }) {
return (
<div
onClick={() => setIsActive(false)}
className={`
${
isActive
? "bg-[#232323] opacity-40 flex"
: "bg-transparent opacity-40 hidden"
}
absolute lg:hidden z-[5] cursor-pointer transition-all duration-500 left-0 w-screen h-[calc(100vh_+_40px)]
-top-[12px] sm:-top-[21px] md:-top-[30px] lg:-top-[40px]
`}
className={` ${ isActive ? "bg-[#232323] opacity-40 flex" : "bg-transparent opacity-40 hidden" } absolute lg:hidden z-[5] cursor-pointer transition-all duration-500 left-0 w-screen h-[calc(100vh_+_40px)] -top-[12px] sm:-top-[21px] md:-top-[30px] lg:-top-[40px] `}
></div>
);
}
@@ -8,27 +8,13 @@ function ButtonMenu({ isActive, setIsActive }) {
className="!py-[6px] !px-[2px] !flex !p-0.5 !w-[24px] !h-[24px] !flex-col !justify-between !items-center"
>
<span
className={`min-h-[2px] transition-all duration-500 ease-in-out rounded-[40px] bg-[#6C757D]
${
isActive
? "-rotate-45 w-1/2 translate-x-[60%] translate-y-[8px]"
: "rotate-0 w-full"
}
`}
className={`min-h-[2px] transition-all duration-500 ease-in-out rounded-[40px] bg-[#6C757D] ${ isActive ? "-rotate-45 w-1/2 translate-x-[60%] translate-y-[8px]" : "rotate-0 w-full" } `}
></span>
<span
className={`w-full min-h-[2px] transition-all duration-500 ease-in-out rounded-[40px] bg-[#6C757D]
${isActive && "rotate-180"}
`}
className={`w-full min-h-[2px] transition-all duration-500 ease-in-out rounded-[40px] bg-[#6C757D] ${isActive && "rotate-180"} `}
></span>
<span
className={`min-h-[2px] transition-all duration-500 ease-in-out rounded-[40px] bg-[#6C757D]
${
isActive
? "rotate-45 w-1/2 translate-x-[60%] translate-y-[-8px]"
: "rotate-0 w-full"
}
`}
className={`min-h-[2px] transition-all duration-500 ease-in-out rounded-[40px] bg-[#6C757D] ${ isActive ? "rotate-45 w-1/2 translate-x-[60%] translate-y-[-8px]" : "rotate-0 w-full" } `}
></span>
</Button>
);
+2 -17
View File
@@ -7,29 +7,14 @@ function Col({ isActive, name }) {
return (
<div className="flex lg:hidden">
<div
className={`
fixed pb-[31px] pt-[64px] pl-[24px] padding-responsive top-0
w-[85%] z-10 h-screen bg-[#FAFAFA] transition-all duration-500
${isActive ? "right-0" : "-right-[85%]"}
`}
className={` fixed pb-[31px] pt-[64px] pl-[24px] padding-responsive top-0 w-[85%] z-10 h-screen bg-[#FAFAFA] transition-all duration-500 ${isActive ? "right-0" : "-right-[85%]"} `}
>
<ul className="flex flex-col items-start justify-center gap-[30px] mt-[38px]">
{listNav.map((nav) => (
<li key={nav.id} className="w-full">
<Link href={nav.link} className="w-full">
<Button
className={`
!h-10
${
isActiveURL(
nav.link.replace("/", ""),
name,
)
? "!text-[#526CAC] !bg-[rgba(199,_206,_244,_0.30)]"
: "!text-[#525252]"
}
!text-[16px] !w-full !flex !justify-start !font-medium !py-2.5 !px-4
`}
className={` !h-10 ${ isActiveURL( nav.link.replace("/", ""), name, ) ? "!text-[#526CAC] !bg-[rgba(199,_206,_244,_0.30)]" : "!text-[#525252]" } !text-[16px] !w-full !flex !justify-start !font-medium !py-2.5 !px-4 `}
>
{nav.name}
</Button>
+2 -9
View File
@@ -20,8 +20,7 @@ function Layout({
return (
<div>
<main
className={`w-full min-h-screen
${disableFooter && " md:pb-[80px]"}`}
className={`w-full min-h-screen ${disableFooter && " md:pb-[80px]"}`}
>
<header className="w-full sticky bg-[#FFF] !z-[70] shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] mt-[12px] sm:mt-[21px] md:mt-[30px] lg:mt-[40px] top-0 right-1/2">
<div className="w-full padding-responsive">
@@ -29,13 +28,7 @@ function Layout({
</div>
</header>
<section
className={`
opacity-page -mt-[calc(48px_+_12px)] sm:-mt-[calc(56px_+_21px)] md:-mt-[calc(64px_+_30px)] lg:-mt-[calc(80px_+_40px)]
${
isSidebar &&
"padding-responsive min-h-screen flex items-stretch justify-center gap-[12px] lg:gap-[24px] pt-[76px] sm:pt-[109px] mt:pt-[142px] lg:pt-[176px]"
}
`}
className={` opacity-page -mt-[calc(48px_+_12px)] sm:-mt-[calc(56px_+_21px)] md:-mt-[calc(64px_+_30px)] lg:-mt-[calc(80px_+_40px)] ${ isSidebar && "padding-responsive min-h-screen flex items-stretch justify-center gap-[12px] lg:gap-[24px] pt-[76px] sm:pt-[109px] mt:pt-[142px] lg:pt-[176px]" } `}
>
{isSidebar && (
<Sidebar
+2 -15
View File
@@ -48,26 +48,13 @@ function List({
{listMenu.map((item, idx) => (
<li className="w-full" key={idx}>
<Button
className={`!py-[16px] sm:!py-[18px] md:!py-[20px] !px-1 hover:!bg-transparent !rounded-none !w-full before:!rounded-[100px]
transition-all duration-300 before:transition-all before:duration-300
!relative before:!absolute before:!right-0 !flex !justify-between !items-center
before:!top-1/2 before:!-translate-y-1/2 before:!h-[40px] before:!w-[2px]
${value === idx
? "before:md:!bg-[#5559CE]"
: "before:!bg-transparent"
}`}
className={`!py-[16px] sm:!py-[18px] md:!py-[20px] !px-1 hover:!bg-transparent !rounded-none !w-full before:!rounded-[100px] transition-all duration-300 before:transition-all before:duration-300 !relative before:!absolute before:!right-0 !flex !justify-between !items-center before:!top-1/2 before:!-translate-y-1/2 before:!h-[40px] before:!w-[2px] ${value === idx ? "before:md:!bg-[#5559CE]" : "before:!bg-transparent" }`}
onClick={() => handleMenuClick(item, idx)}
>
<div className="!flex !w-full !items-center !justify-start !gap-[8px] md:px-[24px]">
<div className="w-[24px] h-[24px]">{item.icon}</div>
<h2
className={`
text-[16px] transition-all duration-500
${value === idx
? "text-[#5559CE] font-bold"
: "text-[#7E7E7E] font-normal"
}
`}
className={` text-[16px] transition-all duration-500 ${value === idx ? "text-[#5559CE] font-bold" : "text-[#7E7E7E] font-normal" } `}
>
{item.name}
</h2>
+3 -13
View File
@@ -14,23 +14,13 @@ function Sidebar({
return (
// ${open ? 'md:w-[39%]' : 'min-w-[80px]'}
<div
className={`
md:block fixed md:relative flex-1 z-[7] w-full sm:bg-[#FAFAFA] sm:px-[24px] md:w-[32%] lg:w-[28%]
bg-[#FAFAFA] padding-responsive transition-all duration-700
h-screen md:h-auto pt-[36px] md:pt-0
z-5 top-[48px] sm:top-[52px] md:top-0 md:px-0
${isOpenSide ? "right-0" : "md:flex -right-full md:right-0"}
`}
className={` md:block fixed md:relative flex-1 z-[7] w-full sm:bg-[#FAFAFA] sm:px-[24px] md:w-[32%] lg:w-[28%] bg-[#FAFAFA] padding-responsive transition-all duration-700 h-screen md:h-auto pt-[36px] md:pt-0 z-5 top-[48px] sm:top-[52px] md:top-0 md:px-0 ${isOpenSide ? "right-0" : "md:flex -right-full md:right-0"} `}
>
<aside
className="relative md:sticky top-0 h-fit
md:top-[110px] lg:top-[calc(40px_+_58px_+_78px)] w-full"
className="relative md:sticky top-0 h-fit md:top-[110px] lg:top-[calc(40px_+_58px_+_78px)] w-full"
>
<div
className="
pt-0 md:pt-[10px] pb-[26px] bg-[#FAFAFA] sm:bg-[#FAFAFA] md:bg-[#FFF] shadow-none
md:shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] rounded-[8px]
"
className=" pt-0 md:pt-[10px] pb-[26px] bg-[#FAFAFA] sm:bg-[#FAFAFA] md:bg-[#FFF] shadow-none md:shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)] rounded-[8px] "
>
<Head user={user} />
<Cards user={user} />
+3 -12
View File
@@ -8,17 +8,12 @@ function NotFoundPage() {
<div className="py-[105px] padding-responsive sm:py-[135px] md:py-[165px] lg:py-[201px] min-h-screen flex flex-col md:flex-row items-center justify-between gap-[50px]">
<div className="flex w-full md:w-fit flex-col justify-center items-center">
<div
className="w-[136px] sm:w-[163px] md:w-[190px] lg:w-[218px]
h-[51px] sm:h-[61px] md:h-[71px] lg:h-[82px]"
className="w-[136px] sm:w-[163px] md:w-[190px] lg:w-[218px] h-[51px] sm:h-[61px] md:h-[71px] lg:h-[82px]"
>
<NumberNotFound />
</div>
<Image
className="
flex md:hidden mt-[20px]
w-[200px] sm:w-[270px] md:w-[340px] lg:w-[411px]
h-[200px] sm:h-[270px] md:h-[340px] lg:h-[405px]
"
className=" flex md:hidden mt-[20px] w-[200px] sm:w-[270px] md:w-[340px] lg:w-[411px] h-[200px] sm:h-[270px] md:h-[340px] lg:h-[405px] "
src="/assets/images/notfound-cover.png"
alt="notfound-cover"
height={405}
@@ -38,11 +33,7 @@ function NotFoundPage() {
</Button>
</div>
<Image
className="
hidden md:flex
w-[200px] sm:w-[270px] md:w-[340px] lg:w-[411px]
h-[200px] sm:h-[270px] md:h-[340px] lg:h-[405px]
"
className=" hidden md:flex w-[200px] sm:w-[270px] md:w-[340px] lg:w-[411px] h-[200px] sm:h-[270px] md:h-[340px] lg:h-[405px] "
src="/assets/images/notfound-cover.png"
alt="notfound-cover"
height={405}
+1 -5
View File
@@ -59,11 +59,7 @@ function LogInPage({ setIsSendMsg, num, setNum, setUuid, matchedCity, setStep })
updateState={handleChange}
/>
<p
className={`
text-[#d32f2f] text-[14px] mt-2 min-h-[21px] transition-all duration-1000 ease-in-out
transform
${error.valid ? "opacity-0 -translate-y-1" : "opacity-100 translate-y-0"}
`}
className={` text-[#d32f2f] text-[14px] mt-2 min-h-[21px] transition-all duration-1000 ease-in-out transform ${error.valid ? "opacity-0 -translate-y-1" : "opacity-100 translate-y-0"} `}
>
{error.text}
</p>

Some files were not shown because too many files have changed in this diff Show More