ERP-node/frontend/components/layout/AdminButton.tsx

34 lines
893 B
TypeScript

import { Button } from "@/components/ui/button";
interface AdminButtonProps {
user: any;
}
/**
* 관리자 버튼 컴포넌트
*/
export function AdminButton({ user }: AdminButtonProps) {
// 디버깅용 로그
console.log("=== AdminButton 디버깅 ===");
console.log("user:", user);
console.log("user?.userType:", user?.userType);
console.log("user?.isAdmin:", user?.isAdmin);
// 관리자 권한이 있는 사용자만 Admin 버튼 표시
if (!user || (!user.isAdmin && user.userType !== "admin")) {
return null;
}
const handleAdminClick = () => {
// 새 탭으로 관리자 페이지 열기 (토큰 공유를 위해)
const adminUrl = `${window.location.origin}/admin`;
window.open(adminUrl, "_blank");
};
return (
<Button variant="outline" size="sm" className="cursor-pointer" onClick={handleAdminClick}>
Admin
</Button>
);
}