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); console.log("user?.userId:", user?.userId); // 관리자 권한 확인 로직 개선 const isAdmin = user?.isAdmin || user?.userType === "ADMIN" || user?.userId === "plm_admin"; console.log("최종 관리자 권한 확인:", isAdmin); // 관리자 권한이 있는 사용자만 Admin 버튼 표시 if (!user || !isAdmin) { console.log("관리자 권한 없음 - Admin 버튼 숨김"); return null; } const handleAdminClick = () => { console.log("Admin 버튼 클릭 - 새 탭으로 어드민 페이지 열기"); // 토큰 확인 const token = localStorage.getItem("authToken"); if (!token) { console.log("토큰이 없음 - 로그인 페이지로 이동"); window.open(`${window.location.origin}/login`, "_blank"); return; } console.log("토큰 존재 - 어드민 페이지 열기"); // 새 탭으로 관리자 페이지 열기 (localStorage 공유 활용) const adminUrl = `${window.location.origin}/admin`; const newWindow = window.open(adminUrl, "_blank"); // 새 창이 차단되었는지 확인 if (!newWindow) { console.log("팝업이 차단됨 - 같은 창에서 열기"); window.location.href = adminUrl; } }; return ( ); }