Skip to content

[fix] 지원서 목록이 항상 비어있던 문제 수정#1306

Merged
lepitaaar merged 1 commit intodevelop-fefrom
fix/#1305-why-apply-cant-MOA-731
Mar 4, 2026
Merged

[fix] 지원서 목록이 항상 비어있던 문제 수정#1306
lepitaaar merged 1 commit intodevelop-fefrom
fix/#1305-why-apply-cant-MOA-731

Conversation

@lepitaaar
Copy link
Copy Markdown
Contributor

@lepitaaar lepitaaar commented Mar 4, 2026

🚀 릴리즈 PR인 경우 릴리즈 템플릿으로 전환해 주세요. (Preview 탭에서 클릭)

#️⃣연관된 이슈

📝작업 내용

동아리 상세페이지를 id에서 이름으로 마이그레이션 후
동아리 지원서에 관한 API가 id로 유지되어야하는데 파라미터로 넘겨진 동아리 이름을 이용해 API에 조회하였음
아직 백엔드는 한글이름을 통해 API조회를 제공하지않는데 한글로 조회하니 404 응답.
따라서 지원서에는 아무런 목록이 보이지 않게됨..

중점적으로 리뷰받고 싶은 부분(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

논의하고 싶은 부분(선택)

논의하고 싶은 부분이 있다면 작성해주세요.

🫡 참고사항

Summary by CodeRabbit

변경 사항

  • 버그 수정
    • 클럽 공유 링크의 URL 형식이 개선되었습니다. 클럽 ID 대신 클럽 이름을 사용하는 새로운 형식으로 변경되었습니다.
    • 클럽 신청 기능의 데이터 처리 흐름이 안정화되었습니다.
    • 클럽 상세 페이지 라우팅 및 공유 기능이 최적화되었습니다.

@lepitaaar lepitaaar requested a review from oesnuj March 4, 2026 07:50
@lepitaaar lepitaaar self-assigned this Mar 4, 2026
@lepitaaar lepitaaar added 💻 FE Frontend 🛠Fix 기능이 의도한 대로 동작하지 않는 버그를 수정 labels Mar 4, 2026
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 4, 2026

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

Project Deployment Actions Updated (UTC)
moadong Ready Ready Preview, Comment Mar 4, 2026 7:50am

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 4, 2026

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

체크아웃

이 변경사항은 ClubDetailPage의 두 컴포넌트를 수정하여 clubId 대신 clubName과 clubDetail.id를 사용하도록 합니다. ClubApplyButton은 파라미터 처리, 데이터 페칭, API 호출을 업데이트하고, ShareButton은 공유 URL 구성을 clubName 기반 형식으로 변경합니다.

변경사항

코호트 / 파일 요약
ClubDetailPage 컴포넌트
frontend/src/pages/ClubDetailPage/components/ClubApplyButton/ClubApplyButton.tsx, frontend/src/pages/ClubDetailPage/components/ShareButton/ShareButton.tsx
클럽 식별자 처리 변경: clubId에서 clubDetail.id 기반으로 전환. ClubApplyButton에서 라우트 파라미터 처리 확장(clubName 포함), 데이터 페칭 및 신청 관련 API 호출 업데이트. ShareButton에서 공유 URL을 '@' 구분자를 사용한 클럽명 기반 형식으로 변경.

예상 코드 리뷰 소요 시간

🎯 3 (Moderate) | ⏱️ ~20 분

관련 가능성 있는 PR

제안 레이블

🐞 Bug

제안 검토자

  • oesnuj
  • seongwon030
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목이 지원서 목록이 비어있던 문제 수정이라는 실질적인 변경 사항을 명확하게 요약하고 있으며, 코드 변경 내용과 일치합니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/#1305-why-apply-cant-MOA-731

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.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 4, 2026

🎨 UI 변경사항을 확인해주세요

변경된 스토리를 Chromatic에서 확인해주세요.

구분 링크
🔍 변경사항 리뷰 https://www.chromatic.com/build?appId=67904e61c16daa99a63b44a7&number=46
📖 Storybook https://67904e61c16daa99a63b44a7-tdcdjrkrvn.chromatic.com/

11개 스토리 변경 · 전체 58개 스토리 · 23개 컴포넌트

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
frontend/src/pages/ClubDetailPage/components/ClubApplyButton/ClubApplyButton.tsx (1)

22-39: ⚠️ Potential issue | 🟡 Minor

name 기반 라우트에서 clubId 가드가 불필요합니다

/clubDetail/@:clubName 경로로 진입할 때 clubIdundefined가 되어 현재 가드 조건 !clubId || !clubDetail에서 컴포넌트가 null을 반환합니다. 다만 clubDetail(clubName ?? clubId)로 이미 조회되었고, 컴포넌트에서는 clubDetail.id를 사용할 뿐 clubId 파라미터 자체는 필요하지 않습니다.

가드를 다음과 같이 단순화하세요:

-if (!clubId || !clubDetail) return null;
+if (!clubDetail) return null;
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@frontend/src/pages/ClubDetailPage/components/ClubApplyButton/ClubApplyButton.tsx`
around lines 22 - 39, The current guard `if (!clubId || !clubDetail) return
null;` incorrectly hides the component for name-based routes where clubId is
undefined; change the guard to only check clubDetail (e.g., `if (!clubDetail)
return null;`) so the component renders when clubDetail is loaded, and keep
using `clubDetail.id` where needed; update any tests or usages that assumed
clubId presence if applicable.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@frontend/src/pages/ClubDetailPage/components/ShareButton/ShareButton.tsx`:
- Line 27: The share URL is built using clubDetail.name which can contain spaces
or special characters and break routing; update the URL construction in
ShareButton.tsx (the url constant using MOADONG_BASE_URL and clubDetail.name) to
URL-encode the club name before inserting it into the path (e.g., use
JavaScript's encodeURIComponent on clubDetail.name) so the generated path
segment is safe across environments.

---

Outside diff comments:
In
`@frontend/src/pages/ClubDetailPage/components/ClubApplyButton/ClubApplyButton.tsx`:
- Around line 22-39: The current guard `if (!clubId || !clubDetail) return
null;` incorrectly hides the component for name-based routes where clubId is
undefined; change the guard to only check clubDetail (e.g., `if (!clubDetail)
return null;`) so the component renders when clubDetail is loaded, and keep
using `clubDetail.id` where needed; update any tests or usages that assumed
clubId presence if applicable.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: eac6dac1-69c2-4d6a-8165-819f376ceb30

📥 Commits

Reviewing files that changed from the base of the PR and between ce6e507 and f3ebe56.

📒 Files selected for processing (2)
  • frontend/src/pages/ClubDetailPage/components/ClubApplyButton/ClubApplyButton.tsx
  • frontend/src/pages/ClubDetailPage/components/ShareButton/ShareButton.tsx

@lepitaaar lepitaaar merged commit cf8c691 into develop-fe Mar 4, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💻 FE Frontend 🛠Fix 기능이 의도한 대로 동작하지 않는 버그를 수정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant