Skip to content

[release] FE v1.1.4 배포 #827

Merged
oesnuj merged 2 commits intomainfrom
develop-fe
Nov 9, 2025
Merged

[release] FE v1.1.4 배포 #827
oesnuj merged 2 commits intomainfrom
develop-fe

Conversation

@oesnuj
Copy link
Member

@oesnuj oesnuj commented Nov 9, 2025

Summary by CodeRabbit

릴리스 노트

  • 리팩토링
    • 내부 코드 구조 최적화 및 정렬로 유지보수성 개선

사용자 영향: 없음 - 이번 업데이트는 백그라운드 유지보수로 기능상 변화는 없습니다.

@vercel
Copy link

vercel bot commented Nov 9, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
moadong Ready Ready Preview Comment Nov 9, 2025 2:07pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 9, 2025

Warning

.coderabbit.yaml has a parsing error

The CodeRabbit configuration file in this repository has a parsing error and default settings were used instead. Please fix the error(s) in the configuration file. You can initialize chat with CodeRabbit to get help with the configuration file.

💥 Parsing errors (1)
Validation error: Invalid regex pattern for base branch. Received: "**" at "reviews.auto_review.base_branches[0]"
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Walkthrough

MainPage.tsx 파일의 타입 어노테이션, useGetCardList 호출 인자 구조, 그리고 전체 개수 계산 로직이 리팩토링되었습니다. nullish coalescing 연산자를 도입하고 플래그 계산 방식을 조정했으며, 데이터 페칭 로직의 동작은 변경되지 않았습니다.

Changes

Cohort / File(s) Summary
MainPage 로직 리팩토링
frontend/src/pages/MainPage/MainPage.tsx
활성 탭 상태의 타입 어노테이션을 (typeof tabs)[number]로 수정, useGetCardList 호출 파라미터를 멀티라인 객체로 리팩토링, 전체 개수 계산을 ?? 연산자 기반으로 변경하고 clubs.length를 폴백으로 사용, isEmptyhasData 플래그가 clubs.length 기반으로 업데이트됨

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • 타입 안정성 개선와 nullish coalescing 연산자 도입 부분에서 의도한 동작 확인 필요
  • 플래그 계산 로직이 이전 totalCount 기반에서 clubs.length 기반으로 변경된 점에서 엣지 케이스 검증 필요

Possibly related PRs

Suggested reviewers

  • lepitaaar
  • suhyun113
  • seongje973
  • yw6938

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목은 '[release] FE v1.1.4 배포'로, 실제 변경사항(MainPage.tsx의 타입 주석, 리팩토링 등)과 무관하게 배포 릴리스를 나타냅니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch develop-fe

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 3cf8627 and dda2c8e.

📒 Files selected for processing (1)
  • frontend/src/pages/MainPage/MainPage.tsx (2 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
frontend/**/*.{ts,tsx}

📄 CodeRabbit inference engine (frontend/.cursorrules)

frontend/**/*.{ts,tsx}: Replace magic numbers with named constants for clarity.
Replace complex or nested ternary operators with if/else statements or IIFEs for readability.
Assign complex boolean conditions to named variables.
Use consistent return types for similar functions and hooks.
Avoid hidden side effects; functions should only perform actions implied by their signature (Single Responsibility Principle).
Use unique, descriptive names for custom wrappers and functions to avoid ambiguity.
Define constants near related logic or ensure names link them clearly.

Files:

  • frontend/src/pages/MainPage/MainPage.tsx
frontend/**/*.tsx

📄 CodeRabbit inference engine (frontend/.cursorrules)

frontend/**/*.tsx: Abstract complex logic/interactions into dedicated components or higher-order components (HOCs).
Separate significantly different conditional UI/logic into distinct components.
Colocate simple, localized logic or use inline definitions to reduce context switching.
Choose field-level or form-level cohesion based on form requirements.
Break down broad state management into smaller, focused hooks or contexts.
Use component composition instead of props drilling.

Files:

  • frontend/src/pages/MainPage/MainPage.tsx
🧠 Learnings (8)
📓 Common learnings
Learnt from: seongwon030
Repo: Moadong/moadong PR: 195
File: frontend/src/pages/AdminPage/AdminPage.tsx:7-7
Timestamp: 2025-03-19T05:18:07.818Z
Learning: AdminPage.tsx에서 현재 하드코딩된 클럽 ID('67d2e3b9b15c136c6acbf20b')는 로그인 기능 구현 후 동적으로 가져오는 방식으로 수정될 예정입니다.
Learnt from: seongwon030
Repo: Moadong/moadong PR: 548
File: frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx:17-57
Timestamp: 2025-07-19T05:05:10.196Z
Learning: ClubDetailPage.tsx에서 notJoinedClubNames 배열의 하드코딩은 의도적인 설계 결정입니다. 개발자가 명시적으로 하드코딩을 선택했으므로 이에 대한 리팩토링 제안을 하지 않아야 합니다.
📚 Learning: 2025-07-19T05:09:10.702Z
Learnt from: CR
Repo: Moadong/moadong PR: 0
File: frontend/.cursorrules:0-0
Timestamp: 2025-07-19T05:09:10.702Z
Learning: Applies to frontend/**/*.{ts,tsx} : Replace magic numbers with named constants for clarity.

Applied to files:

  • frontend/src/pages/MainPage/MainPage.tsx
📚 Learning: 2025-03-19T05:18:07.818Z
Learnt from: seongwon030
Repo: Moadong/moadong PR: 195
File: frontend/src/pages/AdminPage/AdminPage.tsx:7-7
Timestamp: 2025-03-19T05:18:07.818Z
Learning: AdminPage.tsx에서 현재 하드코딩된 클럽 ID('67d2e3b9b15c136c6acbf20b')는 로그인 기능 구현 후 동적으로 가져오는 방식으로 수정될 예정입니다.

Applied to files:

  • frontend/src/pages/MainPage/MainPage.tsx
📚 Learning: 2025-07-19T05:09:10.702Z
Learnt from: CR
Repo: Moadong/moadong PR: 0
File: frontend/.cursorrules:0-0
Timestamp: 2025-07-19T05:09:10.702Z
Learning: Applies to frontend/**/*.tsx : Separate significantly different conditional UI/logic into distinct components.

Applied to files:

  • frontend/src/pages/MainPage/MainPage.tsx
📚 Learning: 2025-07-19T05:09:10.702Z
Learnt from: CR
Repo: Moadong/moadong PR: 0
File: frontend/.cursorrules:0-0
Timestamp: 2025-07-19T05:09:10.702Z
Learning: Applies to frontend/**/*.{ts,tsx} : Use consistent return types for similar functions and hooks.

Applied to files:

  • frontend/src/pages/MainPage/MainPage.tsx
📚 Learning: 2025-07-19T05:09:10.702Z
Learnt from: CR
Repo: Moadong/moadong PR: 0
File: frontend/.cursorrules:0-0
Timestamp: 2025-07-19T05:09:10.702Z
Learning: Applies to frontend/**/*.tsx : Break down broad state management into smaller, focused hooks or contexts.

Applied to files:

  • frontend/src/pages/MainPage/MainPage.tsx
📚 Learning: 2025-07-19T05:09:10.702Z
Learnt from: CR
Repo: Moadong/moadong PR: 0
File: frontend/.cursorrules:0-0
Timestamp: 2025-07-19T05:09:10.702Z
Learning: Applies to frontend/**/*.tsx : Colocate simple, localized logic or use inline definitions to reduce context switching.

Applied to files:

  • frontend/src/pages/MainPage/MainPage.tsx
📚 Learning: 2025-07-19T05:05:10.196Z
Learnt from: seongwon030
Repo: Moadong/moadong PR: 548
File: frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx:17-57
Timestamp: 2025-07-19T05:05:10.196Z
Learning: ClubDetailPage.tsx에서 notJoinedClubNames 배열의 하드코딩은 의도적인 설계 결정입니다. 개발자가 명시적으로 하드코딩을 선택했으므로 이에 대한 리팩토링 제안을 하지 않아야 합니다.

Applied to files:

  • frontend/src/pages/MainPage/MainPage.tsx
🧬 Code graph analysis (1)
frontend/src/pages/MainPage/MainPage.tsx (1)
frontend/src/hooks/queries/club/useGetCardList.ts (1)
  • useGetCardList (13-28)
🔇 Additional comments (4)
frontend/src/pages/MainPage/MainPage.tsx (4)

27-27: 타입 안정성 개선이 잘 되었습니다.

(typeof tabs)[number] 형태로 괄호를 추가한 것은 타입 추론의 정확성을 높이는 좋은 변경입니다. 배열의 요소 타입을 올바르게 추출합니다.


31-36: 가독성이 향상되었습니다.

useGetCardList 호출을 멀티라인 객체 파라미터 형식으로 리팩토링한 것은 각 인자의 의미를 명확하게 하여 가독성을 개선합니다.


40-40: Nullish coalescing 연산자 사용이 적절합니다.

?? 연산자로 변경하여 totalCount0일 때도 올바르게 처리되며, clubs.length를 폴백으로 사용하는 것이 하드코딩된 0보다 실제 데이터 상태를 더 정확히 반영합니다.


42-43: 실제 데이터 기반 플래그 계산이 더 신뢰할 수 있습니다.

clubs.length를 직접 사용하여 isEmptyhasData를 계산하는 것은 백엔드에서 제공하는 totalCount와의 불일치 가능성을 방지하고, 실제 렌더링되는 데이터 상태를 정확히 반영합니다.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@lepitaaar lepitaaar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

늘생기는 핫픽스.. 수고하셨습니다

Copy link
Member

@seongwon030 seongwon030 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

정말 어프루브입니다

@oesnuj oesnuj merged commit 030b19c into main Nov 9, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants