아직 회원이 아니신가요?{' '}
diff --git a/src/app/(auth)/signin/page.tsx b/src/app/(auth)/signin/page.tsx
index 2e09b3de..9d087d7a 100644
--- a/src/app/(auth)/signin/page.tsx
+++ b/src/app/(auth)/signin/page.tsx
@@ -2,6 +2,7 @@
import React from 'react';
+import BicLogo from '@/components/common/BigLogo';
import { cn } from '@/lib/utils';
import SigninForm from './(components)/SigninForm';
@@ -12,6 +13,7 @@ import SnsSignin from './(components)/SnsSignin';
const SigninPage = () => {
return (
<>
+
{
'm-auto flex flex-col justify-between md:justify-start',
'h-screen',
'w-[335px] md:w-[440px] xl:w-[640px]',
- 'py-[30px] md:py-[181px] xl:py-[93px]',
+ 'py-5',
'md:gap-[60px]',
)}
>
diff --git a/src/app/(auth)/signup/page.tsx b/src/app/(auth)/signup/page.tsx
index 0f0c0b6a..f14e5299 100644
--- a/src/app/(auth)/signup/page.tsx
+++ b/src/app/(auth)/signup/page.tsx
@@ -1,10 +1,17 @@
import React from 'react';
+import BicLogo from '@/components/common/BigLogo';
+
import SignupForm from './(components)/SignupForm';
/** 회원가입 페이지(컴포넌트 분리 버전) */
const SignupPage = () => {
- return
;
+ return (
+ <>
+
+
+ >
+ );
};
export default SignupPage;
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 943b65a6..d56bb642 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -6,7 +6,6 @@ import GlobalNav from '@/components/common/gnb/GlobalNav';
import ModalContainer from '@/components/common/ModalContainer';
import SonnerToast from '@/components/common/SonnerToast';
import FloatingButton from '@/components/ui/FloatingButton';
-import { cn } from '@/lib/utils';
import pretendard from '../lib/utils/fonts/pretendard';
@@ -20,8 +19,8 @@ export const metadata: Metadata = {
export default function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) {
return (
-
-
+
+
{children}
diff --git a/src/app/oauth/(components)/NicknameForm.tsx b/src/app/oauth/(components)/NicknameForm.tsx
index eafe1ec2..6874eba6 100644
--- a/src/app/oauth/(components)/NicknameForm.tsx
+++ b/src/app/oauth/(components)/NicknameForm.tsx
@@ -1,14 +1,15 @@
'use client';
-import React from 'react';
+import React, { useEffect, useState } from 'react';
import { zodResolver } from '@hookform/resolvers/zod';
import { useForm } from 'react-hook-form';
import { toast } from 'sonner';
+import BicLogo from '@/components/common/BigLogo';
import Input from '@/components/common/Input';
import Button from '@/components/ui/Buttons';
-import { oauthSignupSchema, OauthSignupValues } from '@/lib/validations/auth';
+import { oauthSignupSchema, type OauthSignupValues } from '@/lib/validations/auth';
type Props = {
onSubmit: (values: OauthSignupValues) => Promise | void;
@@ -21,29 +22,49 @@ export const NicknameForm = ({ onSubmit, isBusy, errorMessage }: Props) => {
const {
register,
handleSubmit,
- formState: { errors, isSubmitting },
+ formState: { errors },
} = useForm({
resolver: zodResolver(oauthSignupSchema),
mode: 'onBlur',
});
+ const [isLoading, setIsLoading] = useState(false);
+
+ useEffect(() => {
+ if (errorMessage) {
+ toast.error(errorMessage);
+ setIsLoading(false);
+ }
+ }, [errorMessage]);
+
+ const handleFormSubmit = async (values: OauthSignupValues) => {
+ try {
+ setIsLoading(true);
+ await onSubmit(values);
+ } finally {
+ setIsLoading(false);
+ }
+ };
+
return (
-
+
);
};
diff --git a/src/app/oauth/kakao/page.tsx b/src/app/oauth/kakao/page.tsx
index 628a6ee7..4ba7adb7 100644
--- a/src/app/oauth/kakao/page.tsx
+++ b/src/app/oauth/kakao/page.tsx
@@ -16,9 +16,8 @@ const OauthSignupPage = () => {
diff --git a/src/assets/icon/Exclude.svg b/src/assets/icon/Exclude.svg
deleted file mode 100644
index e63443a0..00000000
--- a/src/assets/icon/Exclude.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
diff --git a/src/assets/icon/MOGA.svg b/src/assets/icon/MOGA.svg
deleted file mode 100644
index 5d3cb071..00000000
--- a/src/assets/icon/MOGA.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/src/assets/icon/PickCha2.svg b/src/assets/icon/PickCha2.svg
index 3087ece3..172b86fe 100644
--- a/src/assets/icon/PickCha2.svg
+++ b/src/assets/icon/PickCha2.svg
@@ -1,9 +1,9 @@
-