"use client";

import React from "react";
import Link from "next/link";

type RegisterDoneProps = {
	open: boolean;
	onClose?: () => void;
	children?: React.ReactNode;
	title?: string;
	description?: string;
	primaryHref?: string;
	primaryText?: string;
};

/**
 * 전체 화면을 덮는 회원가입 완료 싱글페이지 컴포넌트.
 * - open: true일 때 화면 전체를 덮어 표시
 * - children: 피그마에서 생성/복사한 컴포넌트를 그대로 주입 가능
 * - 기본 UI(title/description/primary 버튼) 제공, 필요 시 children으로 대체
 */
export default function RegisterDone({
	open,
	onClose,
	children,
	title = "회원가입이 완료되었습니다.",
	description = "이제 로그인하여 서비스를 이용하실 수 있어요.",
	primaryHref = "/login",
	primaryText = "로그인 하러 가기",
}: RegisterDoneProps) {
	if (!open) return null;

	return (
		<div className="fixed inset-0 z-50 bg-white">
			<div className="absolute inset-0 overflow-auto">
				<div className="min-h-screen w-full flex flex-col items-center justify-center p-6">
					{children ? (
						children
					) : (
						<div className="w-full max-w-[560px] text-center">
							<div className="text-[24px] font-extrabold leading-[150%] text-neutral-700 mb-3">
								{title}
							</div>
							<p className="text-[15px] text-basic-text mb-8 whitespace-pre-line">
								{description}
							</p>
							<div className="flex gap-3">
								<Link
									href={primaryHref}
									className="h-[40px] flex-1 rounded-[12px] bg-active-button text-white text-[18px] font-semibold flex items-center justify-center"
								>
									{primaryText}
								</Link>
								{onClose && (
									<button
										type="button"
										onClick={onClose}
										className="h-[40px] flex-1 rounded-[12px] bg-[#f1f3f5] text-[18px] font-semibold text-basic-text cursor-pointer"
									>
										닫기
									</button>
								)}
							</div>
						</div>
					)}
				</div>
			</div>
			{onClose && (
				<button
					type="button"
					aria-label="닫기"
					className="absolute inset-0 -z-10 cursor-pointer"
					onClick={onClose}
				/>
			)}
		</div>
	);
}


