Skip to content

[FEAT] 동아리 박람회 이벤트 제거#385

Merged
ujinsim merged 1 commit intomainfrom
feat/#384
Mar 6, 2026
Merged

[FEAT] 동아리 박람회 이벤트 제거#385
ujinsim merged 1 commit intomainfrom
feat/#384

Conversation

@ujinsim
Copy link
Collaborator

@ujinsim ujinsim commented Mar 6, 2026

🔥 연관 이슈

🚀 작업 내용

  • 동아리 박람회 이벤트 제거하였습니다

🤔 고민했던 내용

💬 리뷰 중점사항

Summary by CodeRabbit

릴리스 노트

  • 제거된 기능
    • 페어 매칭 게임 기능이 완전히 제거되었습니다.
    • 게임 관련 모든 페이지(메인 게임, 가이드, 상품 페이지)가 제거되었습니다.
    • 네비게이션 메뉴에서 '동아리 카드 짝 맞추기 게임' 항목이 제거되었습니다.

@vercel
Copy link

vercel bot commented Mar 6, 2026

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

Project Deployment Actions Updated (UTC)
ddingdong-fe Ready Ready Preview, Comment Mar 6, 2026 1:16am

@github-actions github-actions bot added the feat 기능 개발 및 구현 label Mar 6, 2026
@coderabbitai
Copy link

coderabbitai bot commented Mar 6, 2026

개요

동아리 박람회 이벤트 관련 모든 컴포넌트, 훅, 유틸리티, 상수, 페이지 및 네비게이션 항목 제거로 인한 기능 완전 삭제(약 1,600줄 삭제).

변경 사항

응집/파일(s) 요약
스텝 컴포넌트 및 UI
src/app/pair_game/_components/steps/CompletedStep.tsx, src/app/pair_game/_components/steps/IntroStep.tsx, src/app/pair_game/_components/steps/IntroStepDesktop.tsx, src/app/pair_game/_components/steps/IntroStepMobile.tsx, src/app/pair_game/_components/steps/PlayingStep.tsx, src/app/pair_game/_components/steps/SubmitStep.tsx
게임 진행의 각 단계별 렌더링 컴포넌트 제거(소개, 플레이, 제출, 완료)
게임 UI 컴포넌트
src/app/pair_game/_components/ui/BellAnimation.tsx, src/app/pair_game/_components/ui/BridgeMaruMari.tsx, src/app/pair_game/_components/ui/EventCard.tsx, src/app/pair_game/_components/ui/GameSkeleton.tsx, src/app/pair_game/_components/ui/GameStartModal.tsx, src/app/pair_game/_components/ui/RoundResultModal.tsx
게임 UI를 구성하는 공통 컴포넌트 제거(카드, 애니메이션, 모달)
게임 컨텍스트 및 상태 관리
src/app/pair_game/_contexts/GameFunnelContext.tsx, src/app/pair_game/_contexts/PairGamePlayingContext.tsx
게임 단계 및 플레이 상태 관리 컨텍스트 제거
게임 커스텀 훅
src/app/pair_game/_hooks/useCardState.ts, src/app/pair_game/_hooks/useDelayedAction.ts, src/app/pair_game/_hooks/useGameLayoutBg.ts, src/app/pair_game/_hooks/useGameProgress.ts, src/app/pair_game/_hooks/usePairGameForm.ts, src/app/pair_game/_hooks/usePairGameSubmitAction.ts, src/app/pair_game/_hooks/useRoundPhase.ts
카드 상태, 타이머, 폼 관리 등 게임 로직 훅 제거
게임 유틸리티
src/app/pair_game/_utils/cardStyles.ts, src/app/pair_game/_utils/cardUtils.ts, src/app/pair_game/_utils/clubImages.ts, src/app/pair_game/_utils/clubs.ts, src/app/pair_game/_utils/preloadGameAssets.ts, src/app/pair_game/_utils/roundResultModal.ts, src/app/pair_game/_utils/shareLink.ts, src/app/pair_game/_utils/timerDisplay.ts, src/app/pair_game/_utils/validatePairGameSubmitData.ts
게임 기능을 지원하는 유틸리티 함수 및 헬퍼 제거
게임 상수
src/app/pair_game/_constants/RoundResultModalContent.ts, src/app/pair_game/_constants/categoryStyles.ts, src/app/pair_game/_constants/clubs.ts, src/app/pair_game/_constants/gameImages.ts, src/app/pair_game/_constants/heart.ts, src/app/pair_game/_constants/roundConfigs.ts
게임 이미지, 카테고리, 클럽 정보, 라운드 설정 상수 제거
게임 페이지 및 레이아웃
src/app/pair_game/page.tsx, src/app/pair_game/guide/page.tsx, src/app/pair_game/prize/page.tsx, src/components/layout/GameLayout.tsx
게임 메인 페이지, 가이드, 상품 페이지 및 게임 전용 레이아웃 제거
레이아웃 및 네비게이션
src/components/layout/index.tsx, src/constants/navItems.ts
게임 모달 플로우 및 동아리 박람회 이벤트 네비게이션 항목 제거

예상 코드 리뷰 소요 시간

🎯 4 (복잡) | ⏱️ ~45분

관련 PR

  • PR #365: 페어 게임 기능 구현을 추가한 초기 PR이며, 본 PR에서 제거되는 구현들의 원본
  • PR #383: 페어 게임 컴포넌트, 훅, 유틸리티를 추가/수정한 PR으로 본 PR의 제거 대상과 직접 연관
  • PR #381: 페어 게임 파일을 리팩토링/추가한 PR으로 본 PR에서 제거되는 심볼과 동일한 파일 접근

제안 레이블

⚛️ 프론트엔드, 🛠️ 리팩토링

제안 리뷰어

  • keemsebin
  • JangYEhoon00
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed PR 제목은 '[FEAT] 동아리 박람회 이벤트 제거'로 변경사항의 주요 내용을 명확하게 요약하고 있습니다.
Description check ✅ Passed PR 설명에서 필수 섹션(연관 이슈, 작업 내용)이 작성되었으나, 고민했던 내용과 리뷰 중점사항이 비어있습니다.
Linked Issues check ✅ Passed PR의 모든 변경사항은 #384 이슈의 '동아리 박람회 이벤트 제거' 목표를 충족하며, 관련 파일들이 완전히 삭제되었습니다.
Out of Scope Changes check ✅ Passed 모든 변경사항은 동아리 박람회 이벤트와 직접 관련된 파일 및 컴포넌트 제거이며, 범위 내의 변경입니다.

✏️ 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 feat/#384

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


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

@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.

Caution

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

⚠️ Outside diff range comments (1)
src/components/layout/index.tsx (1)

19-19: ⚠️ Potential issue | 🟡 Minor

로그인 페이지 판별을 세그먼트 기준으로 좁혀주세요.

Line 19의 includes('/login')/club/login-guide 같은 비로그인 경로도 매치해서 푸터를 숨길 수 있습니다. 공통 레이아웃인 만큼 실제 로그인 라우트만 잡도록 경계 기준으로 판별하는 편이 안전합니다.

제안 코드
-  const isLoginPage = pathname?.includes('/login');
+  const isLoginPage = /(^|\/)login(\/|$)/.test(pathname);
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/components/layout/index.tsx` at line 19, The current isLoginPage uses
pathname?.includes('/login'), which incorrectly matches paths like
/club/login-guide; change the check to match the login segment boundary only
(e.g., test the path segments or use a regex that asserts /login is a full
segment such as ^/login(/|$)) so isLoginPage only becomes true for actual login
routes—update the isLoginPage definition to use pathname (or
pathname?.split('/')) with a segment-based comparison or a boundary-regex
instead of includes.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@src/components/layout/index.tsx`:
- Line 19: The current isLoginPage uses pathname?.includes('/login'), which
incorrectly matches paths like /club/login-guide; change the check to match the
login segment boundary only (e.g., test the path segments or use a regex that
asserts /login is a full segment such as ^/login(/|$)) so isLoginPage only
becomes true for actual login routes—update the isLoginPage definition to use
pathname (or pathname?.split('/')) with a segment-based comparison or a
boundary-regex instead of includes.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 7f459a15-46b2-4798-963a-3b5ed8fc9a54

📥 Commits

Reviewing files that changed from the base of the PR and between c11f87a and f60f7ea.

📒 Files selected for processing (94)
  • public/pair_game/background_heart.webp
  • public/pair_game/bell-sprite.webp
  • public/pair_game/bridge.webp
  • public/pair_game/broken_heart.webp
  • public/pair_game/card.webp
  • public/pair_game/check_maru_mari.webp
  • public/pair_game/cheer_maru_mari.webp
  • public/pair_game/clubs/1.webp
  • public/pair_game/clubs/10.webp
  • public/pair_game/clubs/11.webp
  • public/pair_game/clubs/12.webp
  • public/pair_game/clubs/13.webp
  • public/pair_game/clubs/14.webp
  • public/pair_game/clubs/15.webp
  • public/pair_game/clubs/16.webp
  • public/pair_game/clubs/17.webp
  • public/pair_game/clubs/18.webp
  • public/pair_game/clubs/19.webp
  • public/pair_game/clubs/2.webp
  • public/pair_game/clubs/20.webp
  • public/pair_game/clubs/21.webp
  • public/pair_game/clubs/22.webp
  • public/pair_game/clubs/23.webp
  • public/pair_game/clubs/24.webp
  • public/pair_game/clubs/25.webp
  • public/pair_game/clubs/26.webp
  • public/pair_game/clubs/27.webp
  • public/pair_game/clubs/28.webp
  • public/pair_game/clubs/29.webp
  • public/pair_game/clubs/3.webp
  • public/pair_game/clubs/30.webp
  • public/pair_game/clubs/31.webp
  • public/pair_game/clubs/32.webp
  • public/pair_game/clubs/33.webp
  • public/pair_game/clubs/34.webp
  • public/pair_game/clubs/35.webp
  • public/pair_game/clubs/36.webp
  • public/pair_game/clubs/37.webp
  • public/pair_game/clubs/38.webp
  • public/pair_game/clubs/4.webp
  • public/pair_game/clubs/5.webp
  • public/pair_game/clubs/6.webp
  • public/pair_game/clubs/7.webp
  • public/pair_game/clubs/8.webp
  • public/pair_game/clubs/9.webp
  • public/pair_game/empty_heart.webp
  • public/pair_game/filled_heart.webp
  • public/pair_game/heart_mari.webp
  • public/pair_game/maru_mari.webp
  • public/pair_game/naver_pay.webp
  • public/pair_game/qr_code.webp
  • public/pair_game/ride_maru.webp
  • src/app/pair_game/_components/steps/CompletedStep.tsx
  • src/app/pair_game/_components/steps/IntroStep.tsx
  • src/app/pair_game/_components/steps/IntroStepDesktop.tsx
  • src/app/pair_game/_components/steps/IntroStepMobile.tsx
  • src/app/pair_game/_components/steps/PlayingStep.tsx
  • src/app/pair_game/_components/steps/SubmitStep.tsx
  • src/app/pair_game/_components/ui/BellAnimation.tsx
  • src/app/pair_game/_components/ui/BridgeMaruMari.tsx
  • src/app/pair_game/_components/ui/EventCard.tsx
  • src/app/pair_game/_components/ui/GameSkeleton.tsx
  • src/app/pair_game/_components/ui/GameStartModal.tsx
  • src/app/pair_game/_components/ui/RoundResultModal.tsx
  • src/app/pair_game/_constants/RoundResultModalContent.ts
  • src/app/pair_game/_constants/categoryStyles.ts
  • src/app/pair_game/_constants/clubs.ts
  • src/app/pair_game/_constants/gameImages.ts
  • src/app/pair_game/_constants/heart.ts
  • src/app/pair_game/_constants/roundConfigs.ts
  • src/app/pair_game/_contexts/GameFunnelContext.tsx
  • src/app/pair_game/_contexts/PairGamePlayingContext.tsx
  • src/app/pair_game/_hooks/useCardState.ts
  • src/app/pair_game/_hooks/useDelayedAction.ts
  • src/app/pair_game/_hooks/useGameLayoutBg.ts
  • src/app/pair_game/_hooks/useGameProgress.ts
  • src/app/pair_game/_hooks/usePairGameForm.ts
  • src/app/pair_game/_hooks/usePairGameSubmitAction.ts
  • src/app/pair_game/_hooks/useRoundPhase.ts
  • src/app/pair_game/_utils/cardStyles.ts
  • src/app/pair_game/_utils/cardUtils.ts
  • src/app/pair_game/_utils/clubImages.ts
  • src/app/pair_game/_utils/clubs.ts
  • src/app/pair_game/_utils/preloadGameAssets.ts
  • src/app/pair_game/_utils/roundResultModal.ts
  • src/app/pair_game/_utils/shareLink.ts
  • src/app/pair_game/_utils/timerDisplay.ts
  • src/app/pair_game/_utils/validatePairGameSubmitData.ts
  • src/app/pair_game/guide/page.tsx
  • src/app/pair_game/page.tsx
  • src/app/pair_game/prize/page.tsx
  • src/components/layout/GameLayout.tsx
  • src/components/layout/index.tsx
  • src/constants/navItems.ts
💤 Files with no reviewable changes (41)
  • src/app/pair_game/_hooks/useGameLayoutBg.ts
  • src/app/pair_game/_components/steps/IntroStepDesktop.tsx
  • src/app/pair_game/_constants/gameImages.ts
  • src/app/pair_game/_hooks/usePairGameForm.ts
  • src/app/pair_game/_utils/validatePairGameSubmitData.ts
  • src/constants/navItems.ts
  • src/app/pair_game/_hooks/useCardState.ts
  • src/app/pair_game/_constants/heart.ts
  • src/app/pair_game/_components/steps/PlayingStep.tsx
  • src/app/pair_game/_constants/categoryStyles.ts
  • src/app/pair_game/_hooks/useDelayedAction.ts
  • src/app/pair_game/_components/steps/CompletedStep.tsx
  • src/app/pair_game/_components/ui/BellAnimation.tsx
  • src/app/pair_game/_utils/cardStyles.ts
  • src/app/pair_game/guide/page.tsx
  • src/app/pair_game/page.tsx
  • src/app/pair_game/_hooks/useGameProgress.ts
  • src/app/pair_game/_constants/clubs.ts
  • src/app/pair_game/_contexts/GameFunnelContext.tsx
  • src/app/pair_game/_components/steps/SubmitStep.tsx
  • src/app/pair_game/_components/ui/GameStartModal.tsx
  • src/app/pair_game/_utils/clubs.ts
  • src/app/pair_game/prize/page.tsx
  • src/app/pair_game/_components/steps/IntroStepMobile.tsx
  • src/app/pair_game/_components/ui/GameSkeleton.tsx
  • src/app/pair_game/_constants/RoundResultModalContent.ts
  • src/app/pair_game/_constants/roundConfigs.ts
  • src/app/pair_game/_utils/timerDisplay.ts
  • src/app/pair_game/_components/ui/EventCard.tsx
  • src/app/pair_game/_hooks/useRoundPhase.ts
  • src/app/pair_game/_utils/cardUtils.ts
  • src/app/pair_game/_utils/preloadGameAssets.ts
  • src/app/pair_game/_contexts/PairGamePlayingContext.tsx
  • src/components/layout/GameLayout.tsx
  • src/app/pair_game/_components/steps/IntroStep.tsx
  • src/app/pair_game/_components/ui/RoundResultModal.tsx
  • src/app/pair_game/_hooks/usePairGameSubmitAction.ts
  • src/app/pair_game/_utils/roundResultModal.ts
  • src/app/pair_game/_utils/shareLink.ts
  • src/app/pair_game/_utils/clubImages.ts
  • src/app/pair_game/_components/ui/BridgeMaruMari.tsx

@ujinsim ujinsim merged commit 5d8758d into main Mar 6, 2026
6 checks passed
@ujinsim ujinsim deleted the feat/#384 branch March 6, 2026 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat 기능 개발 및 구현

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] 동아리 박람회 이벤트 제거

2 participants