123213213

This commit is contained in:
DDD1542
2026-04-09 12:35:34 +09:00
parent 4e05ee5e21
commit b982cb8db2
10 changed files with 1666 additions and 570 deletions
+57 -1
View File
@@ -777,7 +777,7 @@ function AppLayoutInner({ children }: AppLayoutProps) {
className={`${
isMobile
? (sidebarOpen ? "translate-x-0" : "-translate-x-full") + " fixed top-14 left-0 z-40 h-[calc(100vh-56px)]"
: "relative z-auto h-screen translate-x-0"
: "relative z-auto h-screen"
} border-sidebar-border bg-sidebar flex flex-col border-r transition-all duration-300 flex-shrink-0 overflow-hidden ${
!isMobile && sidebarCollapsed ? "w-16" : "w-[260px] sm:w-[220px] lg:w-[240px]"
}`}
@@ -806,11 +806,67 @@ function AppLayoutInner({ children }: AppLayoutProps) {
<PanelLeftOpen className="h-[18px] w-[18px] text-muted-foreground" />
</button>
</div>
{/* 관리 회사 + 모드 전환 + 회사 선택 */}
{(user as ExtendedUserInfo)?.userType === "SUPER_ADMIN" && (
<div className="border-border bg-muted/50 mx-3 mt-3 rounded-md border p-3">
<div className="flex items-center gap-2">
<Building2 className="text-primary h-4 w-4 shrink-0" />
<div className="min-w-0 flex-1">
<p className="text-muted-foreground text-[10px]"> </p>
<p className="truncate text-sm font-semibold" title={currentCompanyName || "로딩 중..."}>
{currentCompanyName || "로딩 중..."}
</p>
</div>
</div>
</div>
)}
{((user as ExtendedUserInfo)?.userType === "SUPER_ADMIN" ||
(user as ExtendedUserInfo)?.userType === "COMPANY_ADMIN" ||
(user as ExtendedUserInfo)?.userType === "admin") && (
<div className="border-border space-y-2 border-b p-3">
<Button
onClick={handleModeSwitch}
className={`flex w-full items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition-colors duration-150 hover:cursor-pointer ${
isAdminMode
? "border border-amber-200 bg-amber-50 text-amber-700 hover:bg-amber-100 dark:border-amber-800 dark:bg-amber-950 dark:text-amber-400"
: "border-primary/20 bg-primary/5 text-primary hover:bg-primary/10 border"
}`}
>
{isAdminMode ? (
<>
<UserCheck className="h-4 w-4" />
</>
) : (
<>
<Shield className="h-4 w-4" />
</>
)}
</Button>
{(user as ExtendedUserInfo)?.userType === "SUPER_ADMIN" && (
<Button
onClick={() => setShowCompanySwitcher(true)}
className="border-primary/20 bg-primary/5 text-primary hover:bg-primary/10 flex w-full items-center justify-center gap-2 rounded-md border px-3 py-2 text-sm font-medium transition-colors duration-150 hover:cursor-pointer"
>
<Building2 className="h-4 w-4" />
</Button>
)}
</div>
)}
<div className="flex-1 overflow-y-auto py-4">
<nav className="space-y-0.5 px-3">
{uiMenus.map((menu) => renderMenu(menu))}
</nav>
</div>
{/* 테마 토글 */}
<div className="border-border border-t px-3 py-1">
<ThemeToggle />
</div>
</div>
</>
)}