Files
nobat724_front/components/panel/userAccount/bank/head/modal/index.js
T

84 lines
2.9 KiB
JavaScript

import { useState } from "react";
import Form from "./Form";
import { styleDefault } from "@/mui";
import { Box, Button, Modal } from "@mui/material";
import { validate_phone_number } from "./validate";
// Icons
import PlusB from "@/components/icons/PlusB";
import CloseModalD from "@/components/icons/CloseModalD";
function ModalAddCard() {
const [open, setOpen] = useState(false);
const [data, setData] = useState({
card: { value: "", is_edit: true },
shaba: { value: "", is_edit: true },
bank: { value: "", is_edit: true },
});
const handleOpen = () => setOpen(true);
const handleClose = () => setOpen(false);
const changeData = (value, name) =>
setData({ ...data, [name]: { ...data[name], value } });
const updateNum = (value, type, name) => {
const parseValue = +value;
changeData(parseValue, name);
};
const isValidData = data.card && data.shaba && data.value && data.value.value;
return (
<>
{/* Button Modal */}
<Button
className="!bg-[#5559CE] !w-fit !shadow-none !rounded-[4px] !gap-[4px] !text-[#EFEFEF] !text-[14px] md:!text-[16px] !font-medium"
onClick={handleOpen}
variant="contained"
>
<PlusB />
اضافه کردن کارت
</Button>
{/* Content Modal */}
<Modal open={open} onClose={handleClose}>
<Box
sx={styleDefault}
className="!w-full dark:!bg-[#222433] dark:!shadow-none !h-full md:!h-fit sm:!w-fit !rounded-none sm:!rounded-[8px] sm:!min-w-[524px] !py-[20px] !pt-[24px] md:!pt-[22px] lg:!pt-[20px] !pb-[36px]"
>
<div className="flex items-center justify-between w-full">
<p className="text-[#3B3B3B] dark:text-[#D7D8ED] text-[16px] md:text-[18px] lg:text-[20px] font-bold">
اضافه کردن شماره کارت
</p>
<Button onClick={handleClose} className="!p-1" variant="text">
<CloseModalD />
</Button>
</div>
<Form data={data} changeData={changeData} updateNum={updateNum} />
<div className="flex items-center justify-center gap-[12px] md:gap-[14px] lg:gap-[16px] mt-[32px] md:mt-[36px] lg:mt-[40px]">
<Button
variant="outlined"
onClick={handleClose}
className="!min-w-[134px] !rounded-[4px] !h-[40px] md:!h-[44px] lg:!h-[48px] !border-[#828DE0] dark:!bg-[#C7CEF4]
dark:!border-transparent dark:!text-[#5559CE] !text-[#828DE0] !text-[16px] !font-medium"
>
انصراف
</Button>
<Button
variant="contained"
onClick={handleClose}
disabled={!isValidData}
className="!min-w-[134px] !rounded-[4px] !h-[40px] md:!h-[44px] lg:!h-[48px] !text-[#EFEFEF] !text-[16px] !font-medium"
>
ذخیره
</Button>
</div>
</Box>
</Modal>
</>
);
}
export default ModalAddCard;