Skip to content

[feature] MOA-1076 동아리 상세 기본 탭을 활동사진으로 변경 - #1969

Merged
seongwon030 merged 1 commit into
develop-fefrom
feature/#1968-club-detail-default-tab-photos-MOA-1076
Aug 31, 2026
Merged

[feature] MOA-1076 동아리 상세 기본 탭을 활동사진으로 변경#1969
seongwon030 merged 1 commit into
develop-fefrom
feature/#1968-club-detail-default-tab-photos-MOA-1076

Conversation

@seongwon030

@seongwon030 seongwon030 commented Aug 31, 2026

Copy link
Copy Markdown
Member

#️⃣연관된 이슈

#1968

📝작업 내용

상세페이지 진입 시 기본 탭을 소개내용활동사진으로 바꾼다. 6줄 변경이다.

  • 활동사진이 없는 동아리는 기존대로 소개내용으로 폴백
  • URL ?tab= 파라미터 우선순위는 그대로 유지
  • 로딩 중에는 if (!clubDetail) return null로 아무것도 렌더되지 않아 탭이 깜빡이지 않는다

🫡 참고사항 — 근거 (30일 실측)

체류시간 중앙값 7초 · 3초 이하 30% · 10초 이하 60%
활동사진 탭 클릭 3,451건 (행사일정 1,471건의 2.3배)
소개내용 탭 클릭 1,593건 — 기본 탭이라 되돌아온 클릭
사진 탭 본 사람의 지원 도달률 37% vs 전체 15.8%

동아리를 고르는 페이지에서 중앙값 7초는 읽지 않았다는 뜻이다. 그 7초에 텍스트 소개가 떠 있고, 유저가 스스로 찾아가는 곳은 사진이다.

마지막 줄(37% vs 15.8%)은 상관이지 인과가 아니다. 이미 관심 있는 사람이 사진도 보고 지원도 하는 것일 수 있다. 근거로 쓰되 효과 크기를 이 수치로 기대하면 안 된다.

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

A/B 없이 적용하는 판단. 상세 방문 유저가 월 1,509명(일 50명)이라, 기준선 15.8%에서 20% 상대 리프트를 검출하려면 53일이 걸린다. 한 줄 변경에 두 달을 묶는 건 비용이 안 맞고 되돌리는 비용도 거의 없어서 적용 후 관찰로 정했다. 3월 신학기(주 2,462명, 5.6배)에는 10일이면 되므로, 근거가 더 약한 안들은 그때 실험으로 돌린다.

테스트를 안 붙였다. 이 저장소에 전체 페이지 단위 테스트 선례가 없고(기존 7개는 전부 컴포넌트 단위), 이 변경을 테스트하려면 router·react-query·mixpanel·naver map을 다 목킹해야 해서 6줄 변경에 비해 과하다고 판단했다. 분기 자체는 hasFeeds ? PHOTOS : INTROtabParam 우선순위뿐이고 타입체크로 덮인다. 붙이는 게 낫다고 보면 알려달라.

측정 시 주의

변경 후에는 Club Feed Tab Clicked가 줄고 Club Intro Tab Clicked가 는다. 기본 탭이 바뀌어 클릭의 의미 자체가 달라지기 때문이다. 효과 판정은 탭 클릭이 아니라 Club Apply Button Clicked / ClubDetailPage Visited로 봐야 한다.

상위 스토리는 MOA-1075다.

검증: npm run typecheck 통과 · ESLint 0 errors · npx jest 460개 / 55개 스위트 통과

Summary by CodeRabbit

  • 개선 사항
    • 클럽 상세 페이지에서 유효한 탭 파라미터가 없을 경우, 피드가 있으면 사진 탭을 기본으로 표시합니다.
    • 피드가 없으면 기존처럼 소개 탭이 기본으로 표시됩니다.

체류시간 중앙값이 7초(3초 이하 30%, 10초 이하 60%)라 첫 화면이 판단을
좌우한다. 유저가 능동적으로 이동하는 탭도 활동사진이 3,451건으로
행사일정 1,471건의 2.3배다.

활동사진이 없는 동아리는 기존대로 소개내용으로 폴백하고, URL의 tab
파라미터 우선순위는 그대로 둔다.
@vercel

vercel Bot commented Aug 31, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
moadong Ready Ready Preview Aug 31, 2026 6:59am

@github-actions github-actions Bot added the 💻 FE Frontend label Aug 31, 2026
@github-actions

Copy link
Copy Markdown

✅ UI 변경사항 없음

구분 링크
📖 Storybook https://67904e61c16daa99a63b44a7-htkefoyjwv.chromatic.com/

전체 172개 스토리 · 64개 컴포넌트

@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 1c809f4e-5d96-4d9f-8ac1-f6769de73005

📥 Commits

Reviewing files that changed from the base of the PR and between d48ef75 and fcee340.

📒 Files selected for processing (1)
  • frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


Walkthrough

동아리 상세 페이지는 유효한 tab 파라미터가 없을 때 피드 존재 여부를 확인합니다. 피드가 있으면 PHOTOS를 선택하고, 없으면 INTRO를 선택합니다.

Changes

동아리 상세 탭

Layer / File(s) Summary
피드 기반 기본 탭 선택
frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx
hasFeeds로 피드 존재 여부를 계산합니다. activeTab은 피드가 있으면 PHOTOS, 없으면 INTRO를 기본값으로 사용합니다. 메모이제이션 의존성에 hasFeeds를 추가합니다.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to fcee3

The detail page now opens on activity photos when available and falls back to the introduction tab otherwise, while explicit URL tab selections continue to work; no actionable merge-blocking risk remains after normal checks and review.

Suggested reviewers: suhyun113, zepelown

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 동아리 상세 페이지의 기본 탭을 활동사진으로 변경하는 주요 변경 사항을 정확하게 요약합니다. 사진이 없을 때 소개내용으로 대체되는 세부 동작을 모두 포함하지 않아도 제목 기준을 충족합니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1 files.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/#1968-club-detail-default-tab-photos-MOA-1076

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.

@seongwon030 seongwon030 added the ✨ Feature 기능 개발 label Aug 31, 2026
@seongwon030
seongwon030 merged commit 287dcc0 into develop-fe Aug 31, 2026
7 checks passed
@seongwon030
seongwon030 deleted the feature/#1968-club-detail-default-tab-photos-MOA-1076 branch August 31, 2026 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💻 FE Frontend ✨ Feature 기능 개발

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant