change response file & request get user-profile & change design dashboard page & handle limit page dashboard

This commit is contained in:
Ehsan
2025-05-31 03:35:23 +03:30
parent 0969eca274
commit 80c74361eb
38 changed files with 233 additions and 121 deletions
@@ -0,0 +1,54 @@
import FieldLabel from "@/components/contactUs/FieldLabel";
import Field from "@/app/component/Field";
function Content({ setData, data }) {
const handleChange = (name, value) =>
setData((prev) => ({ ...prev, [name]: value }));
return (
<div className="mt-[32px] md:mt-[36px] lg:mt-[40px] flex flex-col gap-[24px] md:gap-[28px] lg:gap-[32px] px-0 sm:px-[52px]">
<FieldLabel title="نام">
<Field
title=""
type="text"
name="name"
isPlaceHolder={true}
value={data?.name}
handleChange={handleChange}
/>
</FieldLabel>
<FieldLabel title="نسبت">
<Field
title=""
type="text"
name="relation"
isPlaceHolder={true}
value={data?.relation}
handleChange={handleChange}
/>
</FieldLabel>
<FieldLabel title="شماره تماس">
<Field
title=""
type="number"
name="phone"
isPlaceHolder={true}
value={Number(data?.phone.replace(/^\+/, ""))}
handleChange={handleChange}
/>
</FieldLabel>
<FieldLabel title="آدرس">
<Field
title=""
type="text"
name="address"
isPlaceHolder={true}
value={data?.address}
handleChange={handleChange}
/>
</FieldLabel>
</div>
);
}
export default Content;
@@ -0,0 +1,76 @@
import { styleDefault } from "@/mui";
import AddBtn from "@/components/dashboard/userAccount/components/AddBtn";
import UpdateBtn from "@/components/dashboard/userAccount/components/UpdateBtn";
import { Button, Modal } from "@mui/material";
import Content from "./Content";
import { useState } from "react";
function ModalAddRelatives({ open, setOpen, changeData }) {
const contentItem = {
name: "",
relation: "",
phone: "",
address: "",
};
const handleOpen = () => setOpen(true);
const handleClose = () => setOpen(false);
const [newItem, setNewItem] = useState(contentItem);
const handleAddData = () => {
const changedKey = {
name: newItem.name,
relation: newItem.relation,
contact: {
phone: newItem.phone,
address: newItem.address,
},
};
changeData("add", "relatives", null, changedKey);
setNewItem(contentItem);
handleClose();
};
return (
<>
{/* Button Modal */}
<>
<UpdateBtn />
<AddBtn handleOpen={handleOpen} />
</>
{/* Content Modal */}
<Modal open={open} onClose={handleClose} className="w-full">
<div
style={styleDefault}
className="!px-[16px] !overflow-auto md:!min-w-[580px] md:!px-[24px] lg:!px-[32px] !py-[24px] !bg-[#FFF] !rounded-[8px] !shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]
!w-full md:!w-fit !h-full md:!h-fit !flex !flex-col !justify-between !max-h-screen md:!max-h-[calc(100%_-_32px)]"
>
<div>
<div className="flex justify-between w-full">
<p className="text-[#3B3B3B] text-[20px] font-bold">
اضافه کردن بستگان
</p>
</div>
<Content setData={setNewItem} />
</div>
<Button
className="!mt-[32px] md:!mt-[36px] lg:!mt-[40px] !px-3 !py-2 !text-[16px] !font-medium !w-fit !mr-auto"
onClick={handleAddData}
disabled={
!newItem.name ||
!newItem.relation ||
!newItem.phone ||
!newItem.address
}
variant="contained"
>
اضافه کردن
</Button>
</div>
</Modal>
</>
);
}
export default ModalAddRelatives;