diff --git a/src/components/layout/header.tsx b/src/components/layout/header.tsx index 11f785c..709c6e0 100644 --- a/src/components/layout/header.tsx +++ b/src/components/layout/header.tsx @@ -1,48 +1,21 @@ "use client"; -import { useEffect, useState } from "react"; -import { cn } from "@/lib/utils"; +import { useEffect } from "react"; import { useAuthStore } from "@/store/auth-store"; import { useMenuStore } from "@/store/menu-store"; -import { useThemeStore } from "@/store/theme-store"; -import { - Bell, LogOut, Sun, Moon, User, BookOpen, - Home, Shield, -} from "lucide-react"; +import { LogOut, User } from "lucide-react"; export function Header() { const { user, logout } = useAuthStore(); const { topMenus, activeTopMenu, fetchTopMenus, fetchSideMenus } = useMenuStore(); - const { theme, toggleTheme } = useThemeStore(); - const [approvalCount, setApprovalCount] = useState(0); useEffect(() => { fetchTopMenus(); }, [fetchTopMenus]); - useEffect(() => { - const fetchApprovalCount = async () => { - try { - const res = await fetch("/api/approval/count"); - if (res.ok) { - const data = await res.json(); - setApprovalCount(data.count || 0); - } - } catch { /* ignore */ } - }; - fetchApprovalCount(); - const interval = setInterval(fetchApprovalCount, 60000); - return () => clearInterval(interval); - }, []); - - // 관리자 메뉴 분리 (기존 header.jsp openAdminMngPop 대응) - const userMenus = topMenus.filter((m) => m.MENU_NAME_KOR !== "관리자"); - const adminMenu = topMenus.find((m) => m.MENU_NAME_KOR === "관리자"); - - // 초기 로드: 항상 "사용자" 메뉴의 사이드바를 불러오기 + // 초기 로드: "사용자" 메뉴의 사이드바를 불러오기 (관리자 제외) useEffect(() => { if (topMenus.length > 0 && !activeTopMenu) { - // "관리자" 제외하고 "사용자" 메뉴를 명시적으로 찾아서 로드 const userMenu = topMenus.find((m) => m.MENU_NAME_KOR !== "관리자"); if (userMenu) { fetchSideMenus(userMenu.OBJID); @@ -50,103 +23,30 @@ export function Header() { } }, [topMenus, activeTopMenu, fetchSideMenus]); - const handleTopMenuClick = (menuObjId: string) => { - fetchSideMenus(menuObjId); - }; - - // 기존 openAdminMngPop() 대응 - 관리자 팝업 - const openAdminPopup = () => { - if (adminMenu) { - window.open( - `/admin-panel?menuId=${adminMenu.OBJID}`, - "adminPanel", - "width=1630,height=950,menuBar=no,status=no" - ); - } - }; - return ( -
- - - {/* 상위 메뉴 - 관리자 제외 */} - - -
- - - - - - - {/* 관리자 버튼 - plm_admin만 표시 */} - {user?.isAdmin && adminMenu && ( - - )} - -
- - - {user?.userName} {user?.deptName ? `(${user.deptName})` : ""} - -
- - -
); }