Skip to content

Comments

refactor: 전체적인 코드 정리 및 누락된 기능 추가#157

Merged
Seony777 merged 19 commits intodevelopfrom
feature/146-code-refactor
Feb 12, 2026
Merged

refactor: 전체적인 코드 정리 및 누락된 기능 추가#157
Seony777 merged 19 commits intodevelopfrom
feature/146-code-refactor

Conversation

@Seony777
Copy link
Collaborator

📌 관련 이슈번호

close : #146

🔍 구현한 내용

1. 인증/유저 프로필 사용 방식 통일 (useAuth 훅 중심)

관련 파일:

  • src/hooks/useAuth.ts
  • src/hooks/useAddToCombination.ts
  • src/layouts/RootLayout.tsx
  • src/routes/guards/OnboardingCompletedGuard.tsx
  • src/routes/guards/OnboardingOnlyGuard.tsx
  • src/pages/onboarding/OnboardingCombinationPage.tsx
  • src/pages/onboarding/OnboardingCompletePage.tsx
  • src/utils/authStorage.ts

변경 내용:

  • 기존에 useGetUserProfile()을 개별 컴포넌트에서 직접 호출하던 방식 → RootLayout에서 한 번만 트리거하고, 나머지 컴포넌트는 useAuth() 훅으로 캐시 구독하는 방식으로 통일
  • useAuth 훅에 hasCompletedOnboarding 반환값 추가 (API의 isOnboardingCompleted 기반)
  • authStorage.ts에서 hasCompletedOnboarding 유틸 함수 제거 (useAuth로 대체)
  • useAddToCombination 훅에서 hasAccessToken() + useGetUserProfile() 조합 → useAuth() 단일 훅으로 교체

2. 로그인 페이지 리다이렉트 로직 개선

관련 파일:

  • src/pages/auth/LoginPage.tsx

변경 내용:

  • 로그인된 상태에서 로그인 페이지 접근 시, 온보딩 완료 여부에 따라 홈 또는 온보딩 페이지로 리다이렉트
  • 로그인 성공 시 navigate()로 직접 라우팅 → React Query 캐시 업데이트 후 isLoggedIn 가드가 자동으로 라우팅 처리하도록 변경

3. 회원가입 플로우 리팩토링

관련 파일:

  • src/pages/auth/SignupAccountPage.tsx
  • src/pages/auth/SignupProfilePage.tsx
  • src/stores/signupStore.ts

변경 내용:

  • React 훅 규칙 준수: useForm() 등 훅 호출을 조건부 return(Navigate) 이전에 배치
  • zustand store에서 isEmailVerifiedaccount 객체에서 분리하여 최상위 상태로 관리
  • setProfile() 호출 제거 (프로필 정보를 zustand에 중간 저장하지 않고 API 호출 시 직접 사용)
  • 회원가입 성공 후 resetSignup()으로 zustand 상태 즉시 초기화 (이메일/비밀번호 메모리 정리)

4. 비밀번호 찾기 에러 처리 개선

관련 파일:

  • src/apis/findCredential/postFindPassword.ts
  • src/pages/auth/FindPasswordPage.tsx

변경 내용:

  • axiosInstancecookieAxiosInstance로 변경 (인증 쿠키 포함)
  • 에러 처리를 수동 타입 캐스팅 → parseApiError() 유틸 함수 사용으로 변경

5. 조합 평가 태그 연동

관련 파일:

  • src/components/Combination/CombinationTag.tsx
  • src/components/MyPage/CombinationCard.tsx

변경 내용:

  • CombinationTag 컴포넌트 복구 및 스타일맵 내부 정의로 변경 (외부 상수 의존 제거)
  • CombinationCard에서 useComboEvaluation(combination.comboId) 훅으로 React Query의 COMBO_EVALUATION 캐시를 직접 구독
  • 조합 평가 등급(연동성, 편의성, 라이프스타일)이 카드 태그에 실시간 반영
  • staleTime: Infinity로 설정되어 있어 캐시에 데이터가 있으면 추가 API 호출 없이 사용

6. 불필요한 파일/코드 삭제

삭제된 파일:

  • src/assets/icons/accessories.svg - 미사용 아이콘
  • src/assets/icons/chevron_right.svg - 미사용 아이콘
  • src/assets/icons/dropdown_up.svg - 미사용 아이콘
  • src/assets/react.svg - CRA 기본 파일
  • src/components/Combination/CombinationDetailTag.tsx - 미사용 컴포넌트
  • src/components/ProductCard/ProductLife.tsx - 미사용 컴포넌트
  • src/constants/storageKeys.ts - 미사용 상수
  • src/types/designToken.ts - 미사용 타입 정의
  • src/utils/recentlyViewedStorage.ts - 미사용 유틸 (API 방식으로 대체됨)
  • src/pages/support/* (5개 파일) - 미구현 빈 페이지들
  • src/routes/PublicRoutes.tsx 내 주석 처리된 푸터 라우트 제거

7. UI 개선

관련 파일:

  • src/components/Button/GoogleLoginButton.tsx
  • src/pages/auth/FindIdResultPage.tsx

변경 내용:

  • 구글 로그인 버튼에 hover:bg-gray-100 추가
  • 비밀번호 찾기 버튼에 hover:opacity-80 추가

📸 스크린샷 or 실행 영상

📢 리뷰어에게

@github-actions
Copy link

@Seony777 Seony777 merged commit d2b7f56 into develop Feb 12, 2026
1 check passed
@Seony777 Seony777 deleted the feature/146-code-refactor branch February 12, 2026 10:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor: AUTH 플로우 코드 최적화 및 안쓰는 파일/코드 정리

2 participants