From e5a518b21182f42cfda914d6f62460f22f03243c Mon Sep 17 00:00:00 2001 From: "jihoon87.lee" Date: Tue, 10 Feb 2026 17:29:57 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=20=EB=8C=80=EC=8B=9C=EB=B3=B4=EB=93=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(main)/layout.tsx | 5 +- features/layout/components/sidebar.tsx | 103 ++++++++++++++++++++++--- features/layout/types/index.ts | 2 + 3 files changed, 97 insertions(+), 13 deletions(-) diff --git a/app/(main)/layout.tsx b/app/(main)/layout.tsx index 1e6cd5e..55e50ff 100644 --- a/app/(main)/layout.tsx +++ b/app/(main)/layout.tsx @@ -1,5 +1,5 @@ import { Header } from "@/features/layout/components/header"; -import { Sidebar } from "@/features/layout/components/sidebar"; +import { MobileBottomNav, Sidebar } from "@/features/layout/components/sidebar"; import { createClient } from "@/utils/supabase/server"; export default async function MainLayout({ @@ -17,8 +17,9 @@ export default async function MainLayout({
-
{children}
+
{children}
+ ); } diff --git a/features/layout/components/sidebar.tsx b/features/layout/components/sidebar.tsx index a03be10..19136da 100644 --- a/features/layout/components/sidebar.tsx +++ b/features/layout/components/sidebar.tsx @@ -9,43 +9,54 @@ import { MenuItem } from "../types"; const MENU_ITEMS: MenuItem[] = [ { title: "대시보드", - href: "/", + href: "/dashboard", icon: Home, variant: "default", matchExact: true, + showInBottomNav: true, }, { title: "자동매매", href: "/trade", icon: BarChart2, variant: "ghost", + badge: "LIVE", + showInBottomNav: true, }, { title: "자산현황", href: "/assets", icon: Wallet, variant: "ghost", + showInBottomNav: true, }, { title: "프로필", href: "/profile", icon: User, variant: "ghost", + showInBottomNav: false, }, { title: "설정", href: "/settings", icon: Settings, variant: "ghost", + showInBottomNav: true, }, ]; +/** + * @description 메인 좌측 사이드바(데스크탑): 기본 축소 상태에서 hover/focus 시 확장됩니다. + * @see features/layout/components/sidebar.tsx MENU_ITEMS 한 곳에서 메뉴/배지/모바일 탭 구성을 함께 관리합니다. + */ export function Sidebar() { const pathname = usePathname(); return ( -