diff --git a/apps/web/app/ErrorWrapper.tsx b/apps/web/app/ErrorWrapper.tsx index ddd1228..1e02e9e 100644 --- a/apps/web/app/ErrorWrapper.tsx +++ b/apps/web/app/ErrorWrapper.tsx @@ -2,7 +2,7 @@ import { Suspense } from 'react'; -import ErrorContent from '@/components/ErrorContnet'; +import ErrorContent from '@/components/ErrorContent'; export default function ErrorWrapper({ children }: { children: React.ReactNode }) { return ( diff --git a/apps/web/app/Sidebar.tsx b/apps/web/app/Sidebar.tsx index 265a079..0789bf6 100644 --- a/apps/web/app/Sidebar.tsx +++ b/apps/web/app/Sidebar.tsx @@ -71,8 +71,8 @@ export default function Sidebar() {
-
- {user?.nickname.slice(0, 3)} +
+ {user?.nickname.slice(0, 4)}
diff --git a/apps/web/app/components/ErrorContnet.tsx b/apps/web/app/components/ErrorContent.tsx similarity index 88% rename from apps/web/app/components/ErrorContnet.tsx rename to apps/web/app/components/ErrorContent.tsx index 0cd1b86..7c04db0 100644 --- a/apps/web/app/components/ErrorContnet.tsx +++ b/apps/web/app/components/ErrorContent.tsx @@ -12,13 +12,13 @@ export default function ErrorContent({ children }: { children: React.ReactNode } const errorDescription = searchParams.get('error_description'); if (error) { - const errorMessage = { + const message = { code: errorCode || 'unknown', message: errorDescription?.replace(/\+/g, ' ') || '인증 오류가 발생했습니다.', type: error, }; - throw new Error(JSON.stringify(errorMessage)); + throw new Error(JSON.stringify(message)); } }, [searchParams]); diff --git a/apps/web/app/error.tsx b/apps/web/app/error.tsx index e1403e6..7fd9a80 100644 --- a/apps/web/app/error.tsx +++ b/apps/web/app/error.tsx @@ -26,7 +26,7 @@ interface AuthError { } export default function Error({ error }: ErrorPageProps) { - const errorMessage = error.message; + const message = error.message; let errorDetails: AuthError | null = null; let isAuthError = false; @@ -66,7 +66,7 @@ export default function Error({ error }: ErrorPageProps) { {errorDetails ? decodeURIComponent(errorDetails.message) - : errorMessage || '서버에서 오류가 발생했습니다.'} + : message || '서버에서 오류가 발생했습니다.'} diff --git a/apps/web/app/error/page.tsx b/apps/web/app/error/page.tsx index 33dc9c7..3d09e6d 100644 --- a/apps/web/app/error/page.tsx +++ b/apps/web/app/error/page.tsx @@ -4,15 +4,13 @@ import { useSearchParams } from 'next/navigation'; export default function ErrorPage() { const searchParams = useSearchParams(); - const errorMessage = searchParams.get('message'); + const message = searchParams.get('message'); return (

인증 오류

-

- {errorMessage ? errorMessage : '알 수 없는 오류가 발생했습니다.'} -

+

{message ? message : '알 수 없는 오류가 발생했습니다.'}

-
-
- -
- -
- setConfirmPassword(e.target.value)} - required - className={ - confirmPassword && - (password === confirmPassword ? 'border-green-500' : 'border-red-500') - } - /> - -
- - {/* 비밀번호 일치 여부 */} - {confirmPassword && ( -
- {password === confirmPassword ? ( - <> - - 비밀번호가 일치합니다 - - ) : ( - <> - - 비밀번호가 일치하지 않습니다 - - )} -
- )} -
- - - -
- - - 로그인 페이지로 돌아가기 - -
- - - ); -} diff --git a/apps/web/app/utils/getErrorMessage.ts b/apps/web/app/utils/getErrorMessage.ts index d1841c0..1ca57c9 100644 --- a/apps/web/app/utils/getErrorMessage.ts +++ b/apps/web/app/utils/getErrorMessage.ts @@ -1,41 +1,47 @@ -export const getErrorMessage = (errorCode: string | null) => { +export const getSupabaseErrorMessage = (errorCode: string | null) => { if (!errorCode) { return { isSuccess: false, - errorTitle: '알 수 없는 오류', - errorMessage: '회원가입이 실패했어요.', + title: '알 수 없는 오류', + message: '회원가입이 실패했어요.', }; } switch (errorCode) { case 'email_address_invalid': return { isSuccess: false, - errorTitle: '유효하지 않은 이메일', - errorMessage: '이메일 주소가 올바르지 않아요.', + title: '유효하지 않은 이메일', + message: '이메일 주소가 올바르지 않아요.', }; case 'weak_password': return { isSuccess: false, - errorTitle: '약한 비밀번호', - errorMessage: '비밀번호가 최소 6자 이상이어야 해요.', + title: '약한 비밀번호', + message: '비밀번호가 최소 6자 이상이어야 해요.', }; case 'email_not_confirmed': return { isSuccess: false, - errorTitle: '인증되지 않은 계정', - errorMessage: '이메일 인증이 필요해요.', + title: '인증되지 않은 계정', + message: '이메일 인증이 필요해요.', }; case 'invalid_credentials': return { isSuccess: false, - errorTitle: '잘못된 정보', - errorMessage: '이메일 또는 비밀번호가 일치하지 않아요.', + title: '잘못된 정보', + message: '이메일 또는 비밀번호가 일치하지 않아요.', + }; + case 'same_password': + return { + isSuccess: false, + title: '동일한 비밀번호', + message: '이전 비밀번호와 동일해요.', }; default: return { isSuccess: false, - errorTitle: '알 수 없는 오류', - errorMessage: '회원가입이 실패했어요.', + title: '알 수 없는 오류', + message: '회원가입이 실패했어요.', }; } };