diff --git a/src/app/(auth)/layout.tsx b/src/app/(auth)/layout.tsx index c365eec..71bbb2f 100644 --- a/src/app/(auth)/layout.tsx +++ b/src/app/(auth)/layout.tsx @@ -1,12 +1,12 @@ import { makePageMetadata } from "@/seo/metadata"; -import type { AuthLayoutProps } from "@/types/auth"; +import type { AuthCommonProps } from "@/types/auth"; export const metadata = makePageMetadata({ title: "MyPlanMate — 인증", description: "MyPlanMate 계정으로 로그인하고, 새 계정을 만들고, 비밀번호를 재설정하세요.", }); -export default function AuthLayout({ children }: AuthLayoutProps) { +export default function AuthLayout({ children }: AuthCommonProps) { return (
{children}
diff --git a/src/app/(auth)/login/page.tsx b/src/app/(auth)/login/page.tsx index f59323f..9c77db3 100644 --- a/src/app/(auth)/login/page.tsx +++ b/src/app/(auth)/login/page.tsx @@ -1,3 +1,6 @@ +import { AuthHeader } from "@/components/auth/AuthHeader"; +import { LoginPageTitle } from "@/components/auth/login/LoginPageTitle"; +import { LoginSubtitle } from "@/components/auth/login/LoginSubtitle"; import { makePageMetadata } from "@/seo/metadata"; export const metadata = { @@ -12,12 +15,10 @@ export const metadata = { export default function LoginPage() { return ( <> -
- {/* TODO: 나중에 AppLogo + LoginPageTitle + LoginSubtitle로 교체 */} -

PlanMate

-

로그인

-

오늘도 만나서 반가워요!

-
+ + + +
{/* TODO: 나중에 LoginMain + AuthCard + LoginForm 구조로 확장 */} diff --git a/src/components/auth/AuthHeader.tsx b/src/components/auth/AuthHeader.tsx new file mode 100644 index 0000000..ce79df0 --- /dev/null +++ b/src/components/auth/AuthHeader.tsx @@ -0,0 +1,11 @@ +import { AppLogo } from "@/shared/AppLogo"; +import type { AuthCommonProps } from "@/types/auth"; + +export function AuthHeader({ children }: AuthCommonProps) { + return ( +
+ +
{children}
+
+ ); +} diff --git a/src/components/auth/login/LoginPageTitle.tsx b/src/components/auth/login/LoginPageTitle.tsx new file mode 100644 index 0000000..67c3393 --- /dev/null +++ b/src/components/auth/login/LoginPageTitle.tsx @@ -0,0 +1,7 @@ +export function LoginPageTitle() { + return ( +

+ 로그인 +

+ ); +} diff --git a/src/components/auth/login/LoginSubtitle.tsx b/src/components/auth/login/LoginSubtitle.tsx new file mode 100644 index 0000000..4ef609e --- /dev/null +++ b/src/components/auth/login/LoginSubtitle.tsx @@ -0,0 +1,3 @@ +export function LoginSubtitle() { + return

오늘도 만나서 반가워요!

; +} diff --git a/src/components/landing/LandingNavBar.tsx b/src/components/landing/LandingNavBar.tsx index a053e64..35b1130 100644 --- a/src/components/landing/LandingNavBar.tsx +++ b/src/components/landing/LandingNavBar.tsx @@ -1,5 +1,5 @@ import { cn } from "@/lib/utils"; -import Image from "next/image"; +import { AppLogo } from "@/shared/AppLogo"; import Link from "next/link"; export function LandingNavBar() { @@ -12,16 +12,7 @@ export function LandingNavBar() { aria-label="Global navigation" > {/* 좌측: 로고 (이미지) */} - - MyPlanMate 로고 - + {/* 우측: 언어 토글 + 로그인 */}
diff --git a/src/shared/AppLogo.tsx b/src/shared/AppLogo.tsx new file mode 100644 index 0000000..b5dcd14 --- /dev/null +++ b/src/shared/AppLogo.tsx @@ -0,0 +1,17 @@ +import Image from "next/image"; +import Link from "next/link"; + +export function AppLogo() { + return ( + + MyPlanMate 로고 + + ); +} diff --git a/src/types/auth.ts b/src/types/auth.ts index 34b4422..8afa326 100644 --- a/src/types/auth.ts +++ b/src/types/auth.ts @@ -1,5 +1,5 @@ import type { ReactNode } from "react"; -export interface AuthLayoutProps { +export interface AuthCommonProps { children: ReactNode; }