blob: f4428e2eb3fb9fda07c84034f26fc12ed1255f2d [file] [log] [blame]
223010091e2aea72025-06-08 16:35:54 +08001import {useContext} from "react";
2import { UserContext } from "../context/UserContext";
3import toast from "react-hot-toast";
4const AuthButton = ({children, roles,onClick, ...rest }) => {
5 const {user} = useContext(UserContext);
6 const {levelRole} = user;
22301009207e2db2025-06-09 00:27:28 +08007
223010091e2aea72025-06-08 16:35:54 +08008 let clickFunc = onClick
9 if(!roles || roles.length === 0 || roles.includes(levelRole)){
10 clickFunc = onClick;
11 }else{
22301009207e2db2025-06-09 00:27:28 +080012 clickFunc = (e) => {
13 e.preventDefault();
Krishya34493be2025-06-09 22:45:46 +080014 toast.error("等级不足,无法执行此操作");
223010091e2aea72025-06-08 16:35:54 +080015 }
16 }
17
18 return (
19 <button onClick={clickFunc} {...rest}>
20 {children}
21 </button>
22 )
23}
24export default AuthButton;