import PropTypes from "prop-types"; import { useState } from "react"; import { Box, Tab, useTheme } from "@mui/material"; import TabContext from "@mui/lab/TabContext"; import TabList from "@mui/lab/TabList"; import "./index.css"; import ProfilePanel from "../../Components/TabPanels/Account/ProfilePanel"; import PasswordPanel from "../../Components/TabPanels/Account/PasswordPanel"; import TeamPanel from "../../Components/TabPanels/Account/TeamPanel"; import { useNavigate } from "react-router"; import { useSelector } from "react-redux"; /** * Account component renders a settings page with tabs for Profile, Password, and Team settings. * @param {string} [props.open] - Specifies the initially open tab: 'profile', 'password', or 'team'. * @returns {JSX.Element} */ const Account = ({ open = "profile" }) => { const theme = useTheme(); const navigate = useNavigate(); const tab = open; const handleTabChange = (event, newTab) => { navigate(`/account/${newTab}`); }; let tabList = ["Profile", "Password", "Team"]; const { user } = useSelector((state) => state.auth); if (!user.role.includes("admin")) tabList = ["Profile", "Password"]; return ( {tabList.map((label, index) => ( ))} {user.role.includes("admin") && } ); }; Account.propTypes = { open: PropTypes.oneOf(["profile", "password", "team"]), }; export default Account;