diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 9daf4947..34bcc8fa 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -3,7 +3,6 @@ import { Metadata, Viewport } from 'next' import localFont from 'next/font/local' -import Footer from '@/components/Layout/Footer' import { GoogleAnalytics } from '@next/third-parties/google' import './globals.css' @@ -14,6 +13,7 @@ import ClientProvider from '@/components/common/ClientProvider' import 'react-toastify/dist/ReactToastify.css' import { ToastContainer } from 'react-toastify' import Header from '@/widgets/Header/Header' +import Footer from '@/widgets/Footer/Footer' export const metadata: Metadata = { title: '링킷, Linkit', diff --git a/src/app/login/onboarding-info/page.tsx b/src/app/login/onboarding-info/page.tsx new file mode 100644 index 00000000..ab9fcc8b --- /dev/null +++ b/src/app/login/onboarding-info/page.tsx @@ -0,0 +1,5 @@ +import OnBoardingInfo from '@/features/onBoarding/components/OnBoardingInfo' + +export default function OnBoardingInfoPage() { + return <OnBoardingInfo /> +} diff --git a/src/features/login/model/authType.ts b/src/features/login/model/authType.ts index 502fbd67..15ce44f8 100644 --- a/src/features/login/model/authType.ts +++ b/src/features/login/model/authType.ts @@ -1,6 +1,8 @@ // src/features/auth/model/authTypes.ts export interface LoginResponse { - accessToken: string - email: string - existMemberBasicInform: boolean + result: { + accessToken: string + email: string + existMemberBasicInform: boolean + } } diff --git a/src/features/login/model/useKakaoAuth.ts b/src/features/login/model/useKakaoAuth.ts index efd54fc4..b7a0007f 100644 --- a/src/features/login/model/useKakaoAuth.ts +++ b/src/features/login/model/useKakaoAuth.ts @@ -2,13 +2,12 @@ import { useRouter } from 'next/navigation' import { useEffect, useState } from 'react' import { useRecoilState } from 'recoil' -import { accessTokenState, emailState } from '@/context/recoil-context' +import { accessTokenState } from '@/context/recoil-context' import { kakaoLogin } from '../api/authApi' import { LoginResponse } from './authType' export const useKakaoAuth = (code: string | null) => { const router = useRouter() - const [toEmail, setToEmail] = useRecoilState(emailState) const [accessToken, setAccessToken] = useRecoilState(accessTokenState) const [loading, setLoading] = useState(true) @@ -17,13 +16,15 @@ export const useKakaoAuth = (code: string | null) => { if (!code) return try { const responseData: LoginResponse = await kakaoLogin(code) - setAccessToken(responseData.accessToken) - setToEmail(responseData.email) - if (responseData.existMemberBasicInform) { + setAccessToken(responseData.result.accessToken) + + if (responseData.result.existMemberBasicInform) { router.push('/') } else { - router.push('/onBoarding') + // URL에 이메일과 이름을 쿼리 파라미터로 포함하여 온보딩 페이지로 이동 + const email = responseData.result.email + router.push(`/login/onboarding-info?email=${email}`) } } catch (error) { console.error('Login failed:', error) @@ -32,7 +33,7 @@ export const useKakaoAuth = (code: string | null) => { } } login() - }, [code, router, setToEmail, setAccessToken]) + }, [code, router, setAccessToken]) return { loading } } diff --git a/src/features/onBoarding/components/OnBoardingInfo.tsx b/src/features/onBoarding/components/OnBoardingInfo.tsx new file mode 100644 index 00000000..ccdda38b --- /dev/null +++ b/src/features/onBoarding/components/OnBoardingInfo.tsx @@ -0,0 +1,3 @@ +export default function OnBoardingInfo() { + return <div></div> +}