chore: 사이드바 동작 수정

This commit is contained in:
2025-06-19 17:28:15 +09:00
parent 4ef352f770
commit 6b8d24f95f
2 changed files with 8 additions and 3 deletions
@@ -89,10 +89,11 @@ export function LNB({
item: MenuItem;
isSubMenu?: boolean;
}) {
const { open: isSidebarOpen } = useSidebar();
const { open: isSidebarOpen, setOpen } = useSidebar();
const isMatched = isPathMatched(item.urlPath);
const handleClick = () => {
if (!isSidebarOpen) setOpen(true);
setCookie("menu-code-key", item.menuCd.toString());
handleMenuClick?.(item);
};
@@ -114,6 +115,7 @@ export function LNB({
)}
data-matched={isMatched}
onClick={handleClick}
tooltip={item.menuKornNm}
>
<i
className={cn(
@@ -131,10 +133,11 @@ export function LNB({
}
function MenuGroup({ item }: { item: MenuItem }) {
const { open: isSidebarOpen } = useSidebar();
const { open: isSidebarOpen, setOpen } = useSidebar();
const isOpen = openMenuIds.includes(item.menuCd);
const handleOpenChange = (open: boolean) => {
if (!isSidebarOpen) setOpen(true);
if (open) {
// 열 때는 부모들도 함께 열기
if (!openMenuIds.includes(item.menuCd)) {
@@ -162,6 +165,7 @@ export function LNB({
"flex h-auto items-center py-4 pr-2 text-[1.4rem] group-data-[state=open]/collapsible:bg-transparent",
!isSidebarOpen && "justify-center",
)}
tooltip={item.menuKornNm}
>
<div className="flex items-center gap-2">
<i
@@ -252,7 +252,7 @@ const Sidebar = React.forwardRef<
<div
data-sidebar="sidebar-wrapper"
className={cn(
"fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex",
"fixed inset-y-0 z-20 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex",
side === "left"
? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]"
: "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
@@ -602,6 +602,7 @@ const SidebarMenuButton = React.forwardRef<
side="right"
align="center"
hidden={state !== "collapsed" || isMobile}
className="text-lg"
{...tooltip}
/>
</Tooltip>