From 9bc18247df5a20cd0ff535b8777de29cc1f3634e Mon Sep 17 00:00:00 2001 From: dmitriylaukhin Date: Tue, 7 Apr 2026 14:18:56 +0500 Subject: [PATCH] Add homework review link to admin sidebar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Admin sidebar now has "ДЗ на проверку" link → /curator/homework - Curator layout renders children-only for admin (no double sidebar) - Active state highlights correctly when on /curator/* routes Co-Authored-By: Claude Sonnet 4.6 --- src/app/curator/layout.tsx | 5 +++++ src/components/admin/admin-nav.tsx | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/app/curator/layout.tsx b/src/app/curator/layout.tsx index c01e11f..564e8aa 100644 --- a/src/app/curator/layout.tsx +++ b/src/app/curator/layout.tsx @@ -9,6 +9,11 @@ export default async function CuratorLayout({ children }: { children: React.Reac if (!session) redirect("/login"); if (session.user.role !== "curator" && session.user.role !== "admin") redirect("/dashboard"); + // Admin uses their own layout — render content only + if (session.user.role === "admin") { + return <>{children}; + } + return (
{/* Sidebar */} diff --git a/src/components/admin/admin-nav.tsx b/src/components/admin/admin-nav.tsx index e375657..0c58791 100644 --- a/src/components/admin/admin-nav.tsx +++ b/src/components/admin/admin-nav.tsx @@ -8,6 +8,7 @@ const links = [ { href: "/admin/courses", label: "Курсы" }, { href: "/admin/categories", label: "Категории" }, { href: "/admin/users", label: "Пользователи" }, + { href: "/curator/homework", label: "ДЗ на проверку" }, ]; export function AdminNav() { @@ -18,7 +19,8 @@ export function AdminNav() { {links.map(({ href, label }) => { const active = pathname === href || - (href !== "/admin/dashboard" && pathname.startsWith(href)); + (href !== "/admin/dashboard" && href !== "/curator/homework" && pathname.startsWith(href)) || + (href === "/curator/homework" && pathname.startsWith("/curator")); return (