123 lines
4.3 KiB
JavaScript
123 lines
4.3 KiB
JavaScript
import CustomTable from "@/app/component/CustomTable";
|
|
import { TableCell, TableRow } from "@mui/material";
|
|
import Image from "next/image";
|
|
import Card from "./Card";
|
|
import TextLoading from "@/app/component/loading/Text";
|
|
import CustomLoading from "@/app/component/loading/Custom";
|
|
import CircularLoading from "@/app/component/loading/Circular";
|
|
|
|
function List({ user, loading }) {
|
|
const tableHead = [
|
|
"ردیف",
|
|
"شناسه",
|
|
"نام پزشک",
|
|
"تاریخ",
|
|
"ساعت",
|
|
"مبلغ (تومان)",
|
|
"وضعیت",
|
|
];
|
|
const centerTable = [0, 4, 5];
|
|
|
|
return (
|
|
<div className="!mt-[32px]">
|
|
<div className="hidden md:block w-full">
|
|
<CustomTable tableHead={tableHead} centerTable={centerTable}>
|
|
{user.turns.done.map((row, idx) => (
|
|
<TableRow
|
|
key={idx}
|
|
className="!border-0 !border-b !border-[#DBDBDB]"
|
|
>
|
|
<TableCell className="!pr-[18px] !text-nowrap" align="center">
|
|
<TextLoading width={15} height={18} loading={loading}>
|
|
{idx + 1}
|
|
</TextLoading>
|
|
</TableCell>
|
|
<TableCell
|
|
className="!text-start !pr-[18px] !text-nowrap"
|
|
align="right"
|
|
>
|
|
<TextLoading width={30} height={18} loading={loading}>
|
|
{row.id}
|
|
</TextLoading>
|
|
</TableCell>
|
|
<TableCell
|
|
className="!pr-[18px] !text-nowrap"
|
|
component="th"
|
|
scope="row"
|
|
>
|
|
<div className="flex items-center justify-start gap-[8px] !text-nowrap">
|
|
<CircularLoading width={32} height={32} loading={loading}>
|
|
<Image
|
|
src={row.image}
|
|
alt="doctor"
|
|
height={32}
|
|
width={32}
|
|
/>
|
|
</CircularLoading>
|
|
<TextLoading width={40} height={18} loading={loading}>
|
|
{row.name}
|
|
</TextLoading>
|
|
</div>
|
|
</TableCell>
|
|
<TableCell
|
|
className="!text-start !pr-[18px] !text-nowrap"
|
|
align="right"
|
|
>
|
|
<TextLoading width={50} height={18} loading={loading}>
|
|
{row.date}
|
|
</TextLoading>
|
|
</TableCell>
|
|
<TableCell
|
|
className="!text-center !pr-[18px] !text-nowrap"
|
|
align="right"
|
|
>
|
|
<TextLoading width={50} height={18} loading={loading}>
|
|
{row.time}
|
|
</TextLoading>
|
|
</TableCell>
|
|
<TableCell
|
|
className="!text-center !pr-[18px] !text-nowrap"
|
|
align="right"
|
|
>
|
|
<TextLoading width={50} height={18} loading={loading}>
|
|
{row.amount}
|
|
</TextLoading>
|
|
</TableCell>
|
|
<TableCell className="!pr-[18px] !text-nowrap" align="right">
|
|
<CustomLoading width={80} height={22} loading={loading}>
|
|
<div
|
|
className={`
|
|
w-[124px] py-[4px] px-[4px] rounded-[4px] text-center text-[16px] font-medium select-none
|
|
${
|
|
row.status === "success"
|
|
? "bg-[#E8FADD] text-[#75E22E]"
|
|
: row.status === "pending"
|
|
? "bg-[#FFF3DD] text-[#FDBA35]"
|
|
: "bg-[#FFE3E2] text-[#FF5450]"
|
|
}
|
|
`}
|
|
variant="text"
|
|
>
|
|
{row.status === "success"
|
|
? "پرداخت شده"
|
|
: row.status === "pending"
|
|
? "در انتظار"
|
|
: "پرداخت نشده"}
|
|
</div>
|
|
</CustomLoading>
|
|
</TableCell>
|
|
</TableRow>
|
|
))}
|
|
</CustomTable>
|
|
</div>
|
|
<ul className="flex md:hidden flex-col gap-y-[24px]">
|
|
{user.turns.done.map((row, idx) => (
|
|
<Card key={idx} data={row} loading={loading} />
|
|
))}
|
|
</ul>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
export default List;
|