handle download poster and qrcode, fix to show timestamp, add pagination to doctors page

This commit is contained in:
ehsan
2025-10-02 02:52:26 +03:30
parent 645da72002
commit e1510b142b
21 changed files with 394 additions and 154 deletions
+3 -1
View File
@@ -13,6 +13,7 @@ import { request } from "@/services/response";
function SearchBar({
state,
limit,
setPage,
selected,
specialties,
setSelected,
@@ -63,6 +64,7 @@ function SearchBar({
limit={limit}
state={state}
setOpen={setOpen}
setPage={setPage}
selected={selected}
filterData={filterData}
setSelected={setSelected}
@@ -71,9 +73,9 @@ function SearchBar({
</ModalSearchCity>
<AutoSearch
data={specialties}
inputValue={selected.specialty}
placeholder="جستجوی تخصص"
handleSearch={handleSearch}
inputValue={selected.specialty}
/>
<FilterButton limit={limit} selected={selected} filterData={filterData} />
</ButtonGroup>
+4 -1
View File
@@ -14,6 +14,7 @@ function ModalSearchCity({
open,
state,
limit,
setPage,
setOpen,
children,
selected,
@@ -50,7 +51,9 @@ function ModalSearchCity({
if (name === "province") {
setSelected({ ...selected, province: event, city: "" });
searchParams.set("state", event?.name);
searchParams.delete("city", selected.city?.name);
searchParams.delete("city");
searchParams.delete("page");
setPage(1);
} else {
setSelected({ ...selected, [name]: event });
searchParams.set("city", event?.name);
+5 -1
View File
@@ -14,6 +14,7 @@ import cities from "@/data/city.json";
function ClinicsPage({ clinics, matchedCity, matchedState }) {
const searchParams = useSearchParams();
const [page, setPage] = useState(clinics?.page?.currentPage);
const [filteredClinics, setFilteredClinics] = useState(clinics?.data);
const selectedState = searchParams.get("state") || matchedState?.name;
@@ -38,6 +39,7 @@ function ClinicsPage({ clinics, matchedCity, matchedState }) {
>
<SearchBar
limit={12}
setPage={setPage}
selected={selected}
state={matchedState}
setSelected={setSelected}
@@ -47,9 +49,11 @@ function ClinicsPage({ clinics, matchedCity, matchedState }) {
</HeadPageList>
<List
limit={12}
page={page}
setPage={setPage}
selected={selected}
pages={clinics?.page || []}
clinics={filteredClinics}
pages={clinics?.page || []}
setFilteredClinics={setFilteredClinics}
/>
</div>
+9 -5
View File
@@ -6,9 +6,16 @@ import PaginationContent from "@/app/component/PaginationContent";
import { request } from "@/services/response";
import { useRouter } from "next/navigation";
function List({ limit, selected, clinics, pages, setFilteredClinics }) {
function List({
page,
limit,
pages,
setPage,
clinics,
selected,
setFilteredClinics,
}) {
const listPage = ["کلینیک ها", selected?.city?.name || ""];
const [page, setPage] = useState(pages?.currentPage);
const [loading, setLoading] = useState(false);
const router = useRouter();
@@ -62,9 +69,6 @@ function List({ limit, selected, clinics, pages, setFilteredClinics }) {
<PaginationContent
page={page}
limit={limit}
list={clinics}
itemsPerPage={12}
setPage={setPage}
pageDetail={pages}
changePage={changePage}
/>