'use client'; import './style.scss'; import Link from 'next/link'; import { useSearchParams } from 'next/navigation'; import { useState, useEffect } from 'react'; import { fetchApi, throwError } from '@/lib/utils/client'; import Loading from '@/app/component/Loading'; export default function VerifyEmail() { const searchParams = useSearchParams(); const [error, setError] = useState(''); const [loading, setLoading] = useState(true); const [isComplete, setComplete] = useState(false); const [token] = useState(searchParams.get('token')); useEffect(() => { if (error) { alert(error); setError(''); } }, [error]); useEffect(() => { if (!token) { setError('잘못된 접근입니다.'); setLoading(false); setComplete(false); return; } fetchApi(`/api/mypage/email/verify?token=${encodeURIComponent(token)}`).then((res) => { throwError(res); localStorage.removeItem('member'); setComplete(true); }).catch(err => { setError(err.message); }).finally(() => { setLoading(false); }); }, [token]); if (loading) { return ; } return ( <>
{isComplete ? <>

이메일 변경이 완료되었습니다.

이메일 인증이 확인되었습니다.
다시 로그인 후 변경된 이메일로 서비스 이용이 가능합니다.

로그인 : <>

이메일 변경이 거부되었습니다.

인증 시간이 만료되었거나, 이미 인증되었을 수 있습니다.
처음부터 다시 시도해 주십시오.

다시 시도하기 }
); }