From 28d0f445c590923aa7f794eeff9800ede602f8af Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 3 Feb 2026 15:15:06 +0800 Subject: [PATCH] feat: move navigation to right sidebar Switch top navigation to a vertical right rail with icon+label and adjust page layouts to reserve sidebar space. --- app/(admin)/layout.tsx | 2 +- app/(chat)/layout.tsx | 4 +- app/canvas/[id]/layout.tsx | 2 +- components/app-sidebar.tsx | 2 +- components/top-navbar.tsx | 193 +++++++++++++++++++++---------------- 5 files changed, 113 insertions(+), 90 deletions(-) diff --git a/app/(admin)/layout.tsx b/app/(admin)/layout.tsx index 5878854..5475480 100644 --- a/app/(admin)/layout.tsx +++ b/app/(admin)/layout.tsx @@ -43,7 +43,7 @@ export default async function AdminLayout({ tutorialEnabled={siteSettings.tutorialEnabled ?? false} rankingEnabled={siteSettings.rankingEnabled ?? true} /> -
{children}
+
{children}
); } diff --git a/app/(chat)/layout.tsx b/app/(chat)/layout.tsx index 142db4e..3676ee9 100644 --- a/app/(chat)/layout.tsx +++ b/app/(chat)/layout.tsx @@ -63,9 +63,9 @@ async function SidebarWrapper({ children }: { children: React.ReactNode }) { tutorialEnabled={siteSettings.tutorialEnabled ?? false} rankingEnabled={siteSettings.rankingEnabled ?? true} /> -
{/* Add padding-top for fixed navbar */} +
- {children} {/* Adjust height */} + {children}
); diff --git a/app/canvas/[id]/layout.tsx b/app/canvas/[id]/layout.tsx index 7da871c..5f9eb57 100644 --- a/app/canvas/[id]/layout.tsx +++ b/app/canvas/[id]/layout.tsx @@ -59,7 +59,7 @@ async function CanvasLayoutWrapper({ children }: { children: React.ReactNode }) tutorialEnabled={siteSettings.tutorialEnabled ?? false} rankingEnabled={siteSettings.rankingEnabled ?? true} /> -
+
{children}
diff --git a/components/app-sidebar.tsx b/components/app-sidebar.tsx index 36476df..fd57c14 100644 --- a/components/app-sidebar.tsx +++ b/components/app-sidebar.tsx @@ -59,7 +59,7 @@ export function AppSidebar({ user }: { user: User | undefined }) { return ( <> - +
diff --git a/components/top-navbar.tsx b/components/top-navbar.tsx index 78a07e2..c4ce895 100644 --- a/components/top-navbar.tsx +++ b/components/top-navbar.tsx @@ -124,6 +124,25 @@ export function TopNavbar({ // 决定显示哪个 LOGO const displayLogo = (siteLogoDark && siteLogoDark.trim() !== "") ? siteLogoDark : siteLogo; + const getShortLabel = (label: string) => { + const trimmed = label.trim(); + if (!trimmed) return ""; + if (trimmed === "AI精选") return "精选"; + if (trimmed === "功能教程") return "教程"; + if (trimmed === "精选榜") return "榜单"; + if (trimmed === "图片编辑") return "编辑"; + if (trimmed === "无限画布") return "画布"; + if (trimmed === "我的图册") return "图册"; + if (trimmed === "系统设置") return "设置"; + if (trimmed === "工具箱") return "工具"; + if (trimmed === "工具箱2") return "工具"; + return Array.from(trimmed).slice(0, 2).join(""); + }; + + const navItemBaseClass = + "flex h-14 w-14 flex-col items-center justify-center gap-1 rounded-xl text-white hover:bg-white/10 transition-colors"; + const navLabelClass = "text-[10px] leading-none font-medium"; + // 打开图片编辑器 - 直接打开,不触发上传 const handleOpenImageEditor = () => { setEditorImageUrl(""); // 确保初始为空 @@ -182,11 +201,11 @@ export function TopNavbar({ }; const navContent = ( -