"use client"; import { useEffect, useState } from "react"; import Head from "./Head"; import List from "./List"; import { request } from "@/services/response"; import Cookies from "js-cookie"; import IsTurnsDetails from "./isTurnsDetails"; function Turns({ user, setIsTurnsDetails, loading }) { const [status, setStatus] = useState(undefined); const [appointments, setAppointments] = useState([]); const [isLoading, setIsLoading] = useState(true); const [page, setPage] = useState(1); const [totalPages, setTotalPages] = useState(1); const [selectedAppointment, setSelectedAppointment] = useState(null); useEffect(() => { const fetchAppointments = async () => { setIsLoading(true); try { const userInfo = Cookies.get("userInfo"); if (!userInfo) { setIsLoading(false); return; } const parsedData = JSON.parse(userInfo); const userId = parsedData.id || parsedData.uuid; if (!userId) { setIsLoading(false); return; } const params = { page, limit: 10, }; if (status) { params.status = status; } const response = await request.getMyAppointments(userId, params); if (response?.data) { setAppointments(response.data); if (response.page) { setTotalPages(response.page.totalPages || 1); } else { setTotalPages(1); } } else { setAppointments([]); setTotalPages(1); } } catch (error) { console.error("Error fetching appointments:", error); } finally { setIsLoading(false); } }; fetchAppointments(); }, [page, status]); const handlePageChange = (event, value) => { setPage(value); }; const handleStatusChange = (newStatus) => { setStatus(newStatus); setPage(1); // Reset to first page when status changes }; return (
{selectedAppointment ? ( ) : ( <>

تاریخچه نوبت ها

)}
); } export default Turns;