import Link from "next/link";
import { login } from "@/features/auth/actions";
import FormMessage from "@/components/form-message";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import {
Card,
CardContent,
CardDescription,
CardHeader,
CardTitle,
} from "@/components/ui/card";
import { Checkbox } from "@/components/ui/checkbox";
import { Separator } from "@/components/ui/separator";
/**
* [로그인 페이지 컴포넌트]
*
* Modern UI with glassmorphism effect (유리 형태 디자인)
* - 투명 배경 + 블러 효과로 깊이감 표현
* - 그라디언트 배경으로 생동감 추가
* - shadcn/ui 컴포넌트로 일관된 디자인 시스템 유지
*
* @param searchParams - URL 쿼리 파라미터 (에러 메시지 전달용)
*/
export default async function LoginPage({
searchParams,
}: {
searchParams: Promise<{ message: string }>;
}) {
// URL에서 메시지 파라미터 추출 (로그인 실패 시 에러 메시지 표시)
const { message } = await searchParams;
return (
{/* ========== 배경 그라디언트 레이어 ========== */}
{/* 웹 페이지 전체 배경을 그라디언트로 채웁니다 */}
{/* 라이트 모드: 부드러운 파스텔 톤 (indigo → purple → pink) */}
{/* 다크 모드: 진한 어두운 톤으로 눈부심 방지 */}
{/* 추가 그라디언트 효과 1: 우상단에서 시작하는 원형 그라디언트 */}
{/* 추가 그라디언트 효과 2: 좌하단에서 시작하는 원형 그라디언트 */}
{/* ========== 애니메이션 블러 효과 ========== */}
{/* 부드럽게 깜빡이는 원형 블러로 생동감 표현 */}
{/* animate-pulse: 1.5초 주기로 opacity 변화 */}
{/* delay-700: 700ms 지연으로 교차 애니메이션 효과 */}
{/* ========== 메인 콘텐츠 영역 ========== */}
{/* z-10: 배경보다 위에 표시 */}
{/* animate-in: 페이지 로드 시 fade-in + slide-up 애니메이션 */}
{/* 에러/성공 메시지 표시 영역 */}
{/* URL 파라미터에 message가 있으면 표시됨 */}
{/* ========== 로그인 카드 (Glassmorphism) ========== */}
{/* bg-white/70: 70% 투명도의 흰색 배경 */}
{/* backdrop-blur-xl: 배경 블러 효과 (유리 느낌) */}
{/* ========== 카드 헤더 영역 ========== */}
{/* 아이콘 배경: 그라디언트 원형 */}
👋
{/* 페이지 제목 */}
환영합니다!
{/* 페이지 설명 */}
서비스 이용을 위해 로그인해 주세요.
{/* ========== 카드 콘텐츠 영역 (폼) ========== */}
{/* 로그인 폼 - formAction으로 서버 액션(login) 연결 */}
{/* 소셜 로그인 구분선 */}
또는 소셜 로그인
{/* 소셜 로그인 버튼들 */}
);
}