fix(layout): 관리자 토글 시 admin-panel 페이지 이동 + sidebar 공급업체 항목 제거
Deploy momo-erp / deploy (push) Successful in 2m8s
Deploy momo-erp / deploy (push) Successful in 2m8s
- header: 관리자 토글 클릭 시 router.push('/admin-panel?tab=user'),
사용자로 돌아갈 때 '/m/orders/new'. 사이드바만 바뀌고 콘텐츠는 그대로
남아 혼동되던 UX 개선.
- sidebar ADMIN_SYSTEM_MENU 의 '공급업체 관리' 항목 제거 — admin-panel
에서 이미 supply 탭 제거됐기 때문에 클릭 시 이상한 페이지로 가던 문제 fix.
공급업체 관리는 m/admin/vendors 별도 메뉴 사용.
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
"use client";
|
||||
|
||||
import { useEffect } from "react";
|
||||
import { useRouter } from "next/navigation";
|
||||
import { useAuthStore } from "@/store/auth-store";
|
||||
import { useMenuStore } from "@/store/menu-store";
|
||||
import { LogOut, User, BookOpen, Menu as MenuIcon, Shield, Users } from "lucide-react";
|
||||
|
||||
export function Header() {
|
||||
const router = useRouter();
|
||||
const { user, logout } = useAuthStore();
|
||||
const { topMenus, activeTopMenu, fetchTopMenus, fetchSideMenus, setMobileOpen, viewMode, setViewMode } = useMenuStore();
|
||||
const isAdminUser = !!user && (user.isAdmin || user.role === "ADMIN" || user.userType === "A");
|
||||
@@ -52,10 +54,18 @@ export function Header() {
|
||||
<span className="hidden sm:inline">매뉴얼</span>
|
||||
</a>
|
||||
|
||||
{/* 관리자 모드 토글 (admin 권한자만) */}
|
||||
{/* 관리자 모드 토글 (admin 권한자만) — 토글 시 적절한 시작 페이지로 이동 */}
|
||||
{isAdminUser && (
|
||||
<button
|
||||
onClick={() => setViewMode(viewMode === "admin" ? "user" : "admin")}
|
||||
onClick={() => {
|
||||
if (viewMode === "admin") {
|
||||
setViewMode("user");
|
||||
router.push("/m/orders/new");
|
||||
} else {
|
||||
setViewMode("admin");
|
||||
router.push("/admin-panel?tab=user");
|
||||
}
|
||||
}}
|
||||
className={`inline-flex items-center gap-1 h-8 px-2.5 rounded-md text-xs font-bold transition ${
|
||||
viewMode === "admin"
|
||||
? "bg-orange-100 text-orange-700 hover:bg-orange-200"
|
||||
|
||||
@@ -47,7 +47,6 @@ const ADMIN_SYSTEM_MENU: MenuItem = {
|
||||
{ objid: "__sys_auth", menuNameKor: "권한 관리", menuNameEng: "Auth", menuUrl: "/admin-panel?tab=auth", parentObjId: "__sys__", menuOrder: "2", level: "2" },
|
||||
{ objid: "__sys_dept", menuNameKor: "부서 관리", menuNameEng: "Dept", menuUrl: "/admin-panel?tab=dept", parentObjId: "__sys__", menuOrder: "3", level: "2" },
|
||||
{ objid: "__sys_menu", menuNameKor: "메뉴 관리", menuNameEng: "Menu", menuUrl: "/admin-panel?tab=menu", parentObjId: "__sys__", menuOrder: "4", level: "2" },
|
||||
{ objid: "__sys_supply", menuNameKor: "공급업체 관리", menuNameEng: "Vendors", menuUrl: "/admin-panel?tab=supply", parentObjId: "__sys__", menuOrder: "6", level: "2" },
|
||||
{ objid: "__sys_login", menuNameKor: "로그인 로그", menuNameEng: "Login Log", menuUrl: "/admin-panel?tab=log-login", parentObjId: "__sys__", menuOrder: "7", level: "2" },
|
||||
{ objid: "__sys_file", menuNameKor: "파일 로그", menuNameEng: "File Log", menuUrl: "/admin-panel?tab=log-file", parentObjId: "__sys__", menuOrder: "8", level: "2" },
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user