|
1 | | -"use client" |
| 1 | +import { Suspense } from "react" |
2 | 2 |
|
3 | | -import { useRouter } from "next/navigation" |
4 | | -import { useEffect } from "react" |
5 | | - |
6 | | -import { MSW_MOCK_CODE } from "@/mocks/handlers/auth" |
7 | | - |
8 | | -export default function KakaoLoginPage() { |
9 | | - const router = useRouter() |
10 | | - |
11 | | - const kakaoClientId = process.env.NEXT_PUBLIC_KAKAO_CLIENT_ID |
12 | | - const redirectUri = process.env.NEXT_PUBLIC_KAKAO_REDIRECT_URI |
13 | | - |
14 | | - useEffect(() => { |
15 | | - if (process.env.NODE_ENV === "development") { |
16 | | - router.replace(`/login/kakao/?code=${MSW_MOCK_CODE}`) |
17 | | - return |
18 | | - } |
19 | | - |
20 | | - if (!kakaoClientId || !redirectUri) return |
21 | | - |
22 | | - const kakaoAuthUrl = `https://kauth.kakao.com/oauth/authorize?client_id=${kakaoClientId}&redirect_uri=${encodeURIComponent(redirectUri)}&response_type=code` |
23 | | - |
24 | | - router.replace(kakaoAuthUrl) |
25 | | - }, [router, kakaoClientId, redirectUri]) |
| 3 | +import { KakaoLoginClient } from "./kakaoLoginClient" |
26 | 4 |
|
| 5 | +export default function KakaoLoginPage({ |
| 6 | + searchParams, |
| 7 | +}: { |
| 8 | + searchParams: { returnTo?: string } |
| 9 | +}) { |
27 | 10 | return ( |
28 | | - <div className="flex min-h-screen items-center justify-center bg-background-primary"> |
29 | | - <div className="flex flex-col items-center gap-16"> |
30 | | - <div className="size-32 animate-spin rounded-full border-4 border-blue-400 border-t-transparent"></div> |
31 | | - <p className="text-sm text-text-primary"> |
32 | | - 카카오 로그인으로 이동 중... |
33 | | - </p> |
34 | | - </div> |
35 | | - </div> |
| 11 | + <Suspense |
| 12 | + fallback={ |
| 13 | + <div className="flex min-h-screen items-center justify-center"> |
| 14 | + <div className="text-center"> |
| 15 | + <div className="mb-4">페이지를 준비하고 있습니다</div> |
| 16 | + <div className="mx-auto size-8 animate-spin rounded-full border-b-2 border-gray-900"></div> |
| 17 | + </div> |
| 18 | + </div> |
| 19 | + } |
| 20 | + > |
| 21 | + <KakaoLoginClient returnTo={searchParams.returnTo} /> |
| 22 | + </Suspense> |
36 | 23 | ) |
37 | 24 | } |
0 commit comments