임동욱 임동욱 08-11
refactor: AuthCard를 (public) 레이아웃에서 로그인 페이지로 이동
레이아웃이 씌우던 AuthCard를 화면이 직접 두른다. (public) 그룹이 더 이상 모든 하위
화면에 로그인용 껍데기를 강제하지 않으므로, 이 그룹에 다른 성격의 공개 화면을 둘 수
있다.

Co-Authored-By: Claude Opus 5 
@149ee46907aefcf79558a5a022341986bb1ebcb5
app/(public)/layout.tsx
--- app/(public)/layout.tsx
+++ app/(public)/layout.tsx
@@ -1,4 +1,3 @@
-import { AuthCard } from '@/components/ui/auth-card';
 
 // Auth 레이아웃 — design 공용 AuthCard(프라이머리 배경 + 로고 + 카드)로 `(public)` 하위 화면
 // (로그인 등)을 감싼다. 화면별 제목은 AuthCard의 title 슬롯 대신 각 페이지 콘텐츠가 자체
@@ -8,5 +7,5 @@
 }: Readonly<{
   children: React.ReactNode;
 }>) {
-  return <AuthCard>{children}</AuthCard>;
+  return children;
 }
app/(public)/login/page.tsx
--- app/(public)/login/page.tsx
+++ app/(public)/login/page.tsx
@@ -1,6 +1,7 @@
-import { redirect } from 'next/navigation';
+import { AuthCard } from '@/components/ui/auth-card';
 import { getSessionAdmin } from '@/lib/auth/dal';
 import { LOGOUT_ERROR_QUERY_PARAM } from '@/lib/constants/logout';
+import { redirect } from 'next/navigation';
 import { LoginForm } from './_components/login-form';
 import { LogoutNotice } from './_components/logout-notice';
 
@@ -23,9 +24,9 @@
   const showLogoutError = typeof logoutError === 'string' && logoutError.length > 0;
 
   return (
-    <>
+    <AuthCard>
       <LogoutNotice showError={showLogoutError} />
       <LoginForm />
-    </>
+    </AuthCard>
   );
 }
Add a comment
List