diff --git a/solution/frontend/src/components/layout/AppShell.tsx b/solution/frontend/src/components/layout/AppShell.tsx index d1d943c..61a1fe7 100644 --- a/solution/frontend/src/components/layout/AppShell.tsx +++ b/solution/frontend/src/components/layout/AppShell.tsx @@ -1,6 +1,6 @@ import type {ComponentType, ReactNode} from 'react'; -import {Link, NavLink, useLocation} from 'react-router'; -import {LayoutGrid, LogOut, Search, Wand2} from 'lucide-react'; +import {Link, NavLink, useLocation, useNavigate} from 'react-router'; +import {LayoutGrid, LogIn, LogOut, Search, Wand2} from 'lucide-react'; import {cn} from '@/lib/utils'; import {userLabel, useAuthStore} from '@/stores/auth'; @@ -30,6 +30,7 @@ export function AppShell({children, nav = OWNER_NAV}: {children: ReactNode; nav? const user = useAuthStore((s) => s.user); const signOut = useAuthStore((s) => s.signOut); const location = useLocation(); + const navigate = useNavigate(); return (
@@ -58,19 +59,43 @@ export function AppShell({children, nav = OWNER_NAV}: {children: ReactNode; nav? ))} + {/* ★ 위저드는 로그인 없이도 열린다(관문은 에디터 진입이다) — 그래서 이 자리는 + **비로그인 상태를 반드시 그려야 한다.** 예전엔 이름이 빈 줄로 나오고 [로그아웃]만 + 남아서, 로그인한 적 없는 사람이 눌러도 아무 일이 안 일어났다(지울 세션이 없다). */}
- {user ? userLabel(user) : ''} - {user?.companyName ? ` · ${user.companyName}` : ''} + {user ? ( + <> + {userLabel(user)} + {user.companyName ? ` · ${user.companyName}` : ''} + + ) : ( + 로그인하지 않았습니다 + )}
- + {user ? ( + + ) : ( + + + 로그인 + + )}