diff --git a/src/layouts/AdminLayout.tsx b/src/layouts/AdminLayout.tsx
index 34585b4..8739dc0 100644
--- a/src/layouts/AdminLayout.tsx
+++ b/src/layouts/AdminLayout.tsx
@@ -104,9 +104,11 @@ export default function AdminLayout() {
const items = filterMenuByRole(adminMenuItems, currentRole)
return items
}}
- menuItemRender={(item, dom) => (
- item.path && navigate(item.path)}>{dom}
- )}
+ menuItemRender={(item, dom) => {
+ // Parent items with children should only toggle, not navigate
+ if ((item as any).children?.length) return dom
+ return item.path && navigate(item.path)}>{dom}
+ }}
breadcrumbRender={(routers) => {
// Hide breadcrumbs for full-screen iframe pages
if (location.pathname === '/git') return []