page.tsx 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. 'use client';
  2. import './style.scss';
  3. import Link from 'next/link';
  4. import { useRouter } from 'next/navigation';
  5. import { useState, useEffect } from 'react';
  6. import { Registration } from '@/lib/api/auth';
  7. export default function Welcome()
  8. {
  9. const router = useRouter();
  10. const [error, setError] = useState<string>('');
  11. useEffect(() => {
  12. if (error) {
  13. alert(error);
  14. router.push('/register');
  15. }
  16. }, [error, router]);
  17. useEffect(() => {
  18. const email: string|null = sessionStorage.getItem('email');
  19. if (!email) {
  20. setError("잘못된 접근입니다.");
  21. }
  22. Registration(email).then().catch(err => {
  23. setError(err.message);
  24. }).finally(() => {
  25. sessionStorage.removeItem('email');
  26. });
  27. }, []);
  28. return (
  29. <div id="welcomeForm" className="row-start-2 flex flex-row flex-wrap gap-2">
  30. <fieldset className="grow">
  31. <legend>회원가입을 환영합니다.</legend>
  32. <svg xmlns="http://www.w3.org/2000/svg" width="15%" height="15%" fill="currentColor" className="pt-2 pb-3" viewBox="0 0 16 16">
  33. <path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0"/>
  34. </svg>
  35. <p>회원가입 절차가 완료되었습니다.<br/>로그인 후 서비스를 이용하실 수 있습니다.</p>
  36. <hr/>
  37. <div className="text-center">
  38. <Link href="/login" className="btn btn-submit w-full sm:w-auto">로그인 하기</Link>
  39. </div>
  40. </fieldset>
  41. </div>
  42. );
  43. }