add state of page in url, add location and working_days on list in clinics page, fix update list clinic with page and limit value, hide pagination when list of clinic is empty, round image of doctor and appo in doctor item

This commit is contained in:
ehsan
2025-09-30 15:58:31 +03:30
parent ae8c49bd07
commit 645da72002
22 changed files with 98 additions and 136 deletions
@@ -19,7 +19,13 @@ function ItemAppointment({ turn, loading }) {
<span className="block w-full h-px bg-[#EFEFEF] my-4"></span>
<div className="flex items-center justify-start gap-3">
<CircularLoading width={56} height={56} loading={loading}>
<Image width={56} height={56} alt="doctor" src={turn?.img[0]?.url} />
<Image
className="rounded-full"
width={56}
height={56}
alt="doctor"
src={turn?.img[0]?.url}
/>
</CircularLoading>
<div className="flex flex-col items-start justify-center gap-2">
<TextLoading width={60} height={15} loading={loading}>
-2
View File
@@ -1,5 +1,3 @@
import { useRef } from "react";
// Icons
import CopyBlueD from "@/components/icons/CopyBlueD";
import DownloadBlue from "@/components/icons/DownloadBlue";
+2 -4
View File
@@ -1,12 +1,9 @@
"use client";
import { useRef, useState } from "react";
import { styleDefault } from "@/mui";
import ShareDI from "@/components/icons/ShareDI";
import { Box, Button, Modal } from "@mui/material";
// Icons
import CloseModalD from "@/components/icons/CloseModalD";
import List from "./List";
import Poster from "../poster";
@@ -28,7 +25,8 @@ function Share({ data }) {
<ShareDI />
<p className="hidden lg:flex">اشتراک گذاری</p>
</Button>
<div className="fixed top-0 left-0 opacity-0 pointer-events-none -z-10">
{/* <div className="fixed top-0 left-0 opacity-0 pointer-events-none -z-10"> */}
<div className="">
<div ref={hiddenRef}>
<Poster data={data} />
</div>
+1 -1
View File
@@ -12,7 +12,7 @@ function Title({ doctor }) {
<CircularLoading width={100} height={100}>
<Image
className="
object-contain
object-contain rounded-full
w-[40px] sm:w-[81px] md:w-[123px] lg:w-[164px]
h-[40px] sm:h-[81px] md:h-[123px] lg:h-[164px]
"
+1 -1
View File
@@ -3,7 +3,7 @@ import DetailDoctor from "./detailDoctor";
import Share from "./detailDoctor/Share";
import CustomLoading from "@/app/component/loading/Custom";
function DoctorPage({ doctor, doctors, comments }) {
function DoctorPage({ doctor, comments }) {
return (
<div className="pt-[92px] sm:pt-[120px] mt:pt-[148px] lg:pt-[176px] mt-[px] padding-responsive">
<div className="flex items-center justify-between">
+2 -2
View File
@@ -7,8 +7,8 @@ function Address({ data }) {
<ClipBoard />
<p className="text-[#E7EEF6] text-[20px] font-semibold">آدرس:</p>
</div>
<p className="text-[#E7EEF6] text-[16px] !font-normal mt-[16px]">
{data?.location}
<p className="text-[#E7EEF6] text-[16px] !font-normal mt-[16px] text-right">
{data?.address[0]?.address}
</p>
</div>
);
+7 -1
View File
@@ -3,7 +3,13 @@ import Image from "next/image";
function ImageProfile({ data }) {
return (
<div className="bg-stroke-circle ml-[10px] mt-[57px] p-[9px] rounded-full overflow-hidden">
<Image src={data?.img} width={173} height={173} alt="profile-user" />
<Image
src={data?.img[0]?.url}
width={173}
height={173}
alt="profile-user"
className="rounded-full"
/>
</div>
);
}
+5 -5
View File
@@ -2,17 +2,17 @@ import TelefonPoster from "@/components/icons/TelefonPoster";
function Telefon({ data }) {
return (
<div className="flex flex-col items-start justify-start mt-[40px]">
<div className={`flex-col items-start justify-start mt-[40px] ${data?.address[0]?.phone ? 'flex' : 'hidden'}`}>
<div className="flex items-center justify-start gap-[6px]">
<TelefonPoster />
<p className="text-[#E7EEF6] text-[20px] font-semibold">تلفن:</p>
</div>
<p className="text-[#E7EEF6] text-[16px] font-normal mt-[16px]">
{data?.phone}
</p>
<p className="text-[#E7EEF6] text-[16px] font-normal mt-[12px]">
{data?.phone} - {data?.phone}
{data?.address[0]?.phone}
</p>
{/* <p className="text-[#E7EEF6] text-[16px] font-normal mt-[12px]">
{data?.address[0]?.phone} - {data?.address[0]?.phone}
</p> */}
</div>
);
}
+2 -2
View File
@@ -14,10 +14,10 @@ function Poster({ data }) {
<Image src={Logo} width={30} height={30} alt="logo" />
<p className="text-[#E7EEF6] text-[16px] font-bold">nobat724.com</p>
</div>
<p className="mt-[40px] text-[#E7EEF6] text-[20px] font-bold">
<p className="mt-[40px] text-[#E7EEF6] text-[20px] font-bold text-right">
{data?.name}
</p>
<p className="text-[24px] mt-[20px] text-[#E7EEF6] font-bold">
<p className="text-[24px] mt-[20px] text-[#E7EEF6] font-bold text-right">
تخصص:
{data?.expertise?.map(
(item, idx) =>