Files
Frontend/src/core/components/Profile/ProfileActions.jsx
AmirHossein Mahmoodi 9603d68e33 add change password
2025-05-07 09:05:50 +03:30

75 lines
2.3 KiB
JavaScript

"use client";
import { GET_USER_LOGOUT_ROUTE, LOGOUT_USER_ROUTE } from "@/core/utils/routes";
import { useAuth } from "@/lib/contexts/auth";
import useRequest from "@/lib/hooks/useRequest";
import ModeEditIcon from "@mui/icons-material/ModeEdit";
import PowerSettingsNewIcon from "@mui/icons-material/PowerSettingsNew";
import VpnKeyIcon from "@mui/icons-material/VpnKey";
import { Box, Divider, IconButton, Tooltip } from "@mui/material";
import { useState } from "react";
import ChangePassword from "./ChangePassword";
const ProfileActions = () => {
const { getUser, logout } = useAuth();
const requestServer = useRequest();
const [openUpdate, setOpenUpdate] = useState(false);
const [openChangePass, setOpenChangePass] = useState(false);
const openUpdateProfile = () => {
getUser();
setOpenUpdate(true);
};
const handleLogout = () => {
requestServer(GET_USER_LOGOUT_ROUTE, "post").then(() => {
logout();
});
};
return (
<>
<Box sx={{ display: "flex", justifyContent: "center" }}>
<Tooltip title="ویرایش پروفایل" arrow>
<IconButton
aria-label="ویرایش پروفایل"
color="success"
onClick={openUpdateProfile}
>
<ModeEditIcon />
</IconButton>
</Tooltip>
<Divider
orientation="vertical"
variant="middle"
flexItem
sx={{ mx: 1 }}
/>
<Tooltip title="خروج" arrow>
<IconButton onClick={handleLogout} aria-label="خروج" color="error">
<PowerSettingsNewIcon />
</IconButton>
</Tooltip>
<Divider
orientation="vertical"
variant="middle"
flexItem
sx={{ mx: 1 }}
/>
<Tooltip title="تغییر رمز عبور" arrow>
<IconButton
aria-label="تغییر رمز عبور"
color="primary"
onClick={() => {
setOpenChangePass(true);
}}
>
<VpnKeyIcon />
</IconButton>
</Tooltip>
</Box>
{/* <Update open={openUpdate} setOpen={setOpenUpdate} /> */}
<ChangePassword open={openChangePass} setOpen={setOpenChangePass} />
</>
);
};
export default ProfileActions;