Skip to content

refactor: ProgressBar 컴포넌트 UI 개선 및 코드 최적화#122

Merged
RookieAND merged 2 commits intodevelopfrom
feature/remove-heart-in-progress
Feb 27, 2026
Merged

refactor: ProgressBar 컴포넌트 UI 개선 및 코드 최적화#122
RookieAND merged 2 commits intodevelopfrom
feature/remove-heart-in-progress

Conversation

@RookieAND
Copy link
Collaborator

🎯 PR 제목

refactor: ProgressBar 컴포넌트 UI 개선 및 코드 최적화

📑 작업 상세 내역

  • 리팩토링
    • ProgressBar 컴포넌트에서 HeartIcon 인디케이터를 제거합니다
    • es-toolkit의 clamp 함수를 활용하여 범위 내 값 지정 로직을 개선합니다
    • AnimatePresence 및 관련 애니메이션 로직을 제거하여 컴포넌트를 단순화합니다

🙏 리뷰 요청 사항

  • ProgressBar가 단순한 진행률 표시만 하도록 변경되었는지 확인해주세요
  • es-toolkit clamp 함수가 기존 Math.min/Math.max 조합을 올바르게 대체했는지 검토해주세요

📃 참고 자료

  • 변경된 파일: src/components/progressBar/ProgressBar.tsx
  • HeartIcon 및 Circle 인디케이터 관련 UI/UX 개선 작업

🖼️ 작업 결과물

  • ProgressBar 컴포넌트가 더 간결한 구조로 개선되었습니다
  • 불필요한 애니메이션 및 아이콘 요소가 제거되어 성능이 향상되었습니다

RookieAND and others added 2 commits February 27, 2026 17:25
진행률 표시에서 하트 아이콘과 원형 인디케이터를 제거하여 UI를 단순화합니다.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
@RookieAND RookieAND added the 🔨 Refactor 코드 리팩토링 및 구조 개선 label Feb 27, 2026
@RookieAND RookieAND self-assigned this Feb 27, 2026
@RookieAND RookieAND added the 🔨 Refactor 코드 리팩토링 및 구조 개선 label Feb 27, 2026
@RookieAND RookieAND requested a review from youngminss February 27, 2026 08:32
@RookieAND RookieAND changed the base branch from main to develop February 27, 2026 08:33
@RookieAND RookieAND merged commit c73de1d into develop Feb 27, 2026
4 checks passed
@github-actions github-actions bot added 🔨 Refactor 코드 리팩토링 및 구조 개선 and removed 🔨 Refactor 코드 리팩토링 및 구조 개선 labels Feb 27, 2026
github-actions bot pushed a commit that referenced this pull request Feb 27, 2026
## [2.0.0-beta.10](v2.0.0-beta.9...v2.0.0-beta.10) (2026-02-27)

### Code Refactoring

* ProgressBar 컴포넌트 UI 개선 및 코드 최적화 ([#122](#122)) ([c73de1d](c73de1d))
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 ProgressBar 컴포넌트의 UI를 개선하고 코드를 최적화하며, 애플리케이션의 전반적인 에러 처리 및 사용자 경험을 향상시키는 데 중점을 둡니다. 특히 의견 수렴 페이지의 서버 사이드 렌더링 로직을 강화하고, 실시간 업데이트를 위한 SSE 통합 및 추천 결과 생성 프로세스를 효율적으로 관리하도록 변경되었습니다.

Highlights

  • UI 개선 및 코드 최적화: ProgressBar 컴포넌트에서 HeartIcon 인디케이터 및 관련 애니메이션 로직이 제거되었으며, Math.min/Math.max 대신 es-toolkitclamp 함수를 사용하여 값 지정 로직이 개선되었습니다.
  • 새로운 에러 및 404 페이지 추가: 애플리케이션 전반에 걸쳐 일관된 사용자 경험을 제공하기 위해 새로운 클라이언트 에러 페이지(app/error.tsx), 글로벌 에러 페이지(app/global-error.tsx), 404 Not Found 페이지(app/not-found.tsx)가 추가되었습니다.
  • 의견 수렴 페이지 서버 사이드 렌더링 및 에러 처리 강화: 의견 수렴 관련 페이지들(landing, complete, pending, result)의 서버 사이드 렌더링 로직이 개선되었으며, notFound()isApiError를 활용하여 API 에러에 대한 처리와 리다이렉트 로직이 강화되었습니다.
  • SSE(Server-Sent Events) 통합: 실시간 모임 현황 업데이트를 위해 ServerSentEventProvider가 추가되었고, useServerSentEventListener 훅을 통해 SSE 이벤트를 수신하고 처리하는 로직이 통합되었습니다.
  • 추천 결과 생성 프로세스 개선: 과반수 이상 의견 제출 시 추천 결과를 생성하도록 하는 새로운 Mutation Hook(usePostProceedRecommendResult)이 추가되어 추천 결과 생성 프로세스가 개선되었습니다.
  • 카테고리 및 랭크 상수명 통일: 기존 FoodCategory 관련 컴포넌트 및 스키마 이름이 Category로 통일되었으며, 랭크 관련 상수명도 RANK로 변경되었습니다.
  • 참여자 현황 훅 개선: useGetGatheringCapacity 훅에서 불필요한 refetchInterval이 제거되어 불필요한 네트워크 요청을 줄였습니다.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .gitignore
    • Git worktrees 관련 .worktrees/ 디렉토리가 추가되었습니다.
  • CHANGELOG.md
    • 프로젝트 버전이 2.0.0-beta.8로 업데이트되었으며, 2.0.0-beta.1부터 2.0.0-beta.8까지의 기능, 버그 수정, 리팩토링 내역이 추가되었습니다.
  • app/error.tsx
    • 새로운 클라이언트 에러 페이지가 추가되었습니다.
  • app/gathering/[accessKey]/landing/error.tsx
    • 기존 랜딩 페이지의 에러 처리 로직이 제거되었습니다.
  • app/gathering/[accessKey]/landing/page.tsx
    • 컴포넌트 이름이 LandingView에서 LandingPage로 변경되었고, notFound()isApiError를 사용하여 특정 에러 코드에 대한 처리 및 쿼리 옵션이 조정되었습니다.
  • app/gathering/[accessKey]/opinion/complete/CompleteViewContainer.tsx
    • 의견 수렴 완료 페이지 컨테이너 컴포넌트가 제거되었습니다.
  • app/gathering/[accessKey]/opinion/complete/error.tsx
    • 의견 수렴 완료 페이지에 대한 새로운 에러 처리 로직이 추가되었으며, 특정 API 에러에 대한 리다이렉트가 포함되었습니다.
  • app/gathering/[accessKey]/opinion/complete/layout.tsx
    • ServerSentEventProvider가 추가되어 SSE 기능을 제공합니다.
  • app/gathering/[accessKey]/opinion/complete/page.tsx
    • 컴포넌트 이름이 CompleteViewContainer에서 CompletePage로 변경되었고, 추천 결과 상태 및 참여자 수에 따른 에러 처리 및 쿼리 옵션이 조정되었습니다.
  • app/gathering/[accessKey]/opinion/error.tsx
    • 의견 수렴 페이지의 에러 처리 로직이 notFound()isApiError를 사용하도록 수정되었습니다.
  • app/gathering/[accessKey]/opinion/page.tsx
    • 컴포넌트 이름이 OpinionFormView에서 OpinionFormPage로 변경되었고, 추천 결과 상태 및 참여자 수에 따른 에러 처리 및 쿼리 옵션이 조정되었습니다.
  • app/gathering/[accessKey]/opinion/pending/PendingViewContainer.tsx
    • 의견 수렴 대기 페이지 컨테이너 컴포넌트가 제거되었습니다.
  • app/gathering/[accessKey]/opinion/pending/error.tsx
    • 의견 수렴 대기 페이지에 대한 새로운 에러 처리 로직이 추가되었으며, 특정 API 에러에 대한 리다이렉트가 포함되었습니다.
  • app/gathering/[accessKey]/opinion/pending/layout.tsx
    • ServerSentEventProvider가 추가되어 SSE 기능을 제공합니다.
  • app/gathering/[accessKey]/opinion/pending/page.tsx
    • 컴포넌트 이름이 PendingViewContainer에서 PendingPage로 변경되었고, 추천 결과 상태 및 참여자 수에 따른 에러 처리 및 쿼리 옵션이 조정되었습니다.
  • app/gathering/[accessKey]/opinion/result/ResultViewContainer.tsx
    • 의견 수렴 결과 페이지 컨테이너 컴포넌트가 제거되었습니다.
  • app/gathering/[accessKey]/opinion/result/error.tsx
    • 의견 수렴 결과 페이지에 대한 새로운 에러 처리 로직이 추가되었으며, 특정 API 에러에 대한 리다이렉트가 포함되었습니다.
  • app/gathering/[accessKey]/opinion/result/page.tsx
    • 컴포넌트 이름이 ResultViewContainer에서 ResultPage로 변경되었고, 추천 결과 상태 및 참여자 수에 따른 에러 처리 및 쿼리 옵션이 조정되었습니다.
  • app/global-error.tsx
    • 새로운 글로벌 에러 페이지가 추가되었습니다.
  • app/not-found.tsx
    • 새로운 404 Not Found 페이지가 추가되었습니다.
  • global.d.ts
    • 환경 변수를 위한 ProcessEnv 인터페이스가 NodeJS 네임스페이스에 추가되었습니다.
  • package.json
    • 프로젝트 버전이 2.0.0-beta.8로 업데이트되었습니다.
  • public/images/foodCategory/any.svg
    • 음식 카테고리 'any' SVG 이미지가 업데이트되었습니다.
  • public/images/foodCategory/asian.svg
    • 음식 카테고리 'asian' SVG 이미지가 업데이트되었습니다.
  • public/images/foodCategory/chinese.svg
    • 음식 카테고리 'chinese' SVG 이미지가 업데이트되었습니다.
  • public/images/foodCategory/japanese.svg
    • 음식 카테고리 'japanese' SVG 이미지가 업데이트되었습니다.
  • public/images/foodCategory/korean.svg
    • 음식 카테고리 'korean' SVG 이미지가 업데이트되었습니다.
  • public/images/foodCategory/western.svg
    • 음식 카테고리 'western' SVG 이미지가 업데이트되었습니다.
  • public/images/people/character1.svg
    • 새로운 사람 캐릭터 SVG 이미지가 추가되었습니다.
  • public/images/people/character10.svg
    • 새로운 사람 캐릭터 SVG 이미지가 추가되었습니다.
  • public/images/people/character2.svg
    • 새로운 사람 캐릭터 SVG 이미지가 추가되었습니다.
  • public/images/people/character3.svg
    • 새로운 사람 캐릭터 SVG 이미지가 추가되었습니다.
  • public/images/people/character4.svg
    • 새로운 사람 캐릭터 SVG 이미지가 추가되었습니다.
  • public/images/people/character5.svg
    • 새로운 사람 캐릭터 SVG 이미지가 추가되었습니다.
  • public/images/people/character6.svg
    • 새로운 사람 캐릭터 SVG 이미지가 추가되었습니다.
  • public/images/people/character7.svg
    • 새로운 사람 캐릭터 SVG 이미지가 추가되었습니다.
  • public/images/people/character8.svg
    • 새로운 사람 캐릭터 SVG 이미지가 추가되었습니다.
  • public/images/people/character9.svg
    • 새로운 사람 캐릭터 SVG 이미지가 추가되었습니다.
  • public/images/result/distance-far.svg
    • 새로운 거리 'far' SVG 이미지가 추가되었습니다.
  • public/images/result/distance-near.svg
    • 새로운 거리 'near' SVG 이미지가 추가되었습니다.
  • src/apis/recommendResult/api.ts
    • 추천 결과 생성 요청을 위한 postProcessRecommendResult API 호출이 추가되었습니다.
  • src/apis/recommendResult/index.ts
    • 새로운 추천 결과 Mutation Key 및 Option이 export 되었습니다.
  • src/apis/recommendResult/mutationKey.ts
    • 추천 결과 Mutation Key를 관리하는 recommendResultMutationKeys가 추가되었습니다.
  • src/apis/recommendResult/mutationOptions.ts
    • 추천 결과 API Mutation Option을 관리하는 recommendResultMutationOptions가 추가되었습니다.
  • src/apis/recommendResult/type.ts
    • PostProcessRecommendResultRequestPostProcessRecommendResultResponse 타입이 추가되었습니다.
  • src/components/illustrations/NotFoundIllustration.tsx
    • 새로운 NotFound 일러스트레이션 컴포넌트가 추가되었습니다.
  • src/components/illustrations/ResultGeneratingIllustration.tsx
    • 새로운 ResultGenerating 일러스트레이션 컴포넌트가 추가되었습니다.
  • src/components/illustrations/index.ts
    • 새로운 일러스트레이션 컴포넌트들이 export 되었습니다.
  • src/components/progressBar/ProgressBar.tsx
    • HeartIcon 인디케이터 및 AnimatePresence 애니메이션 로직이 제거되었고, Math.min/Math.max 대신 es-toolkitclamp 함수가 사용되었습니다.
  • src/components/tag/Tag.tsx
    • 태그 컴포넌트에 theme variant가 추가되었습니다.
  • src/constants/gathering/opinion/category.ts
    • 음식 카테고리 관련 상수(CATEGORY, CATEGORY_LABEL, CATEGORY_LIST, CATEGORY_VALUES)를 정의하는 새 파일이 추가되었습니다.
  • src/constants/gathering/opinion/distance.ts
    • 거리 범위에 따른 도보 시간을 정의하는 DISTANCE_RANGE_WALKING_MINUTES 상수가 추가되었습니다.
  • src/constants/gathering/opinion/food.ts
    • 음식 카테고리 관련 상수 파일이 제거되었습니다.
  • src/constants/gathering/opinion/index.ts
    • 새로운 카테고리 및 랭크 상수들이 export 되었고, 시간 슬롯 및 추천 결과 상태 관련 상수들이 추가되었습니다.
  • src/constants/gathering/opinion/mockResults.ts
    • 목업 데이터 구조가 업데이트되어 음식점 및 추천 결과 상태에 대한 새로운 필드가 포함되었습니다.
  • src/constants/gathering/opinion/rank.ts
    • 랭크 관련 상수(RANK, RANK_LIST, RANK_LABEL)가 업데이트되었습니다.
  • src/constants/gathering/opinion/recommendationResultStatus.ts
    • 추천 결과 상태를 정의하는 RecommendationResultStatus 상수 파일이 추가되었습니다.
  • src/constants/gathering/opinion/timeSlot.ts
    • 시간 슬롯 관련 상수(TIME_SLOT_LABEL)를 정의하는 새 파일이 추가되었습니다.
  • src/hooks/apis/gathering/useGetGatheringCapacity.ts
    • useGetGatheringCapacity 훅에서 refetchInterval이 제거되었습니다.
  • src/hooks/apis/recommendResult/index.ts
    • usePostProceedRecommendResult 훅이 export 되었습니다.
  • src/hooks/apis/recommendResult/usePostProceedRecommendResult.ts
    • 추천 결과 생성 프로세스를 처리하는 usePostProceedRecommendResult 훅이 추가되었습니다.
  • src/hooks/gathering/index.ts
    • useProceedRecommendResult 훅이 export 되었습니다.
  • src/hooks/gathering/useOpinionForm.ts
    • 파일 이름이 useOpinionForm.ts에서 useOpinionForm.tsx로 변경되었고, 임포트 및 토스트 메시지 에러 처리가 업데이트되었습니다.
  • src/hooks/gathering/useProceedRecommendResult.ts
    • 추천 결과 진행을 관리하는 useProceedRecommendResult 훅이 추가되었습니다.
  • src/hooks/sse/ServerSentEventProvider.tsx
    • Server-Sent Events를 위한 ServerSentEventProvider가 추가되었습니다.
  • src/hooks/sse/index.ts
    • SSE 관련 컴포넌트들이 export 되었습니다.
  • src/hooks/sse/registry.ts
    • SSE 이벤트 등록을 관리하는 EventRegistry가 추가되었습니다.
  • src/hooks/sse/schemas.ts
    • SSE 스키마를 정의하는 EVENT_SCHEMA 및 관련 타입들이 추가되었습니다.
  • src/hooks/sse/types.ts
    • SSE 이벤트 타입을 정의하는 EVENT 상수가 추가되었습니다.
  • src/hooks/sse/useServerSentEventListener.ts
    • SSE 이벤트 리스너를 위한 useServerSentEventListener 훅이 추가되었습니다.
  • src/icons/landingLogoIcon/LandingLogoIcon.tsx
    • 랜딩 페이지 로고 아이콘 컴포넌트가 추가되었습니다.
  • src/icons/landingLogoIcon/index.ts
    • 랜딩 페이지 로고 아이콘 컴포넌트가 export 되었습니다.
  • src/pageComponents/gathering/create/DateStep.tsx
    • TIME_SLOT_LABEL 임포트 경로가 업데이트되었습니다.
  • src/pageComponents/gathering/create/PeopleGroup.tsx
    • 사람 캐릭터 그룹을 표시하는 PeopleGroup 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/create/PeopleStep.tsx
    • PeopleGroup 컴포넌트가 통합되었습니다.
  • src/pageComponents/gathering/create/PersonCharacter.tsx
    • 개별 사람 캐릭터를 표시하는 PersonCharacter 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/CompleteView.tsx
    • 의견 수렴 완료 뷰 컴포넌트가 제거되었습니다.
  • src/pageComponents/gathering/opinion/DislikeStep.tsx
    • 의견 수렴 비선호 단계 컴포넌트가 제거되었습니다.
  • src/pageComponents/gathering/opinion/DistanceSelector.tsx
    • 거리 선택 컴포넌트가 제거되었습니다.
  • src/pageComponents/gathering/opinion/FoodCard.tsx
    • 파일 이름이 FoodCard.tsx에서 complete/CategoryCard.tsx로 변경되었고, 임포트가 업데이트되었습니다.
  • src/pageComponents/gathering/opinion/FoodCategoryCarousel.tsx
    • 파일 이름이 FoodCategoryCarousel.tsx에서 complete/CategoryCarousel.tsx로 변경되었고, 임포트가 업데이트되었으며, opacity transition이 제거되고 스타일이 조정되었습니다.
  • src/pageComponents/gathering/opinion/IntroStep.tsx
    • 인트로 단계 컴포넌트가 제거되었습니다.
  • src/pageComponents/gathering/opinion/LandingView.tsx
    • 랜딩 뷰 컴포넌트가 제거되었습니다.
  • src/pageComponents/gathering/opinion/PendingView.tsx
    • 의견 수렴 대기 뷰 컴포넌트가 제거되었습니다.
  • src/pageComponents/gathering/opinion/PreferenceStep.tsx
    • 의견 수렴 선호 단계 컴포넌트가 제거되었습니다.
  • src/pageComponents/gathering/opinion/RankChip.tsx
    • 랭크 칩 컴포넌트가 제거되었습니다.
  • src/pageComponents/gathering/opinion/RankSection.tsx
    • 랭크 섹션 컴포넌트가 제거되었습니다.
  • src/pageComponents/gathering/opinion/ResultView.tsx
    • 의견 수렴 결과 뷰 컴포넌트가 제거되었습니다.
  • src/pageComponents/gathering/opinion/SubmissionBottomSheet.tsx
    • useGetGatheringCapacity 훅을 사용하도록 수정되었습니다.
  • src/pageComponents/gathering/opinion/complete/CompletePage.tsx
    • 새로운 의견 수렴 완료 페이지 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/complete/ShowResultButton.tsx
    • 새로운 결과 보기 버튼 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/complete/index.ts
    • 새로운 완료 페이지 컴포넌트들이 export 되었습니다.
  • src/pageComponents/gathering/opinion/form/DislikeStep.tsx
    • 새로운 비선호 단계 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/form/DislikedCategoryButton.tsx
    • 새로운 비선호 카테고리 버튼 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/form/DistanceStep.tsx
    • 새로운 거리 단계 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/form/NicknameStep.tsx
    • 새로운 닉네임 단계 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/form/OpinionFormPage.tsx
    • 새로운 의견 수렴 폼 페이지 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/form/PreferenceStep.tsx
    • 새로운 선호 단계 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/form/RankChip.tsx
    • 새로운 랭크 칩 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/form/RankSection.tsx
    • 새로운 랭크 섹션 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/form/ToastLinkButton.tsx
    • 새로운 토스트 링크 버튼 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/form/index.ts
    • 새로운 폼 컴포넌트들이 export 되었습니다.
  • src/pageComponents/gathering/opinion/landing/GatheringDateBadge.tsx
    • 새로운 모임 날짜 배지 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/landing/LandingIntroLottie.tsx
    • 새로운 랜딩 인트로 로티 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/landing/LandingPage.tsx
    • 새로운 랜딩 페이지 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/landing/OpinionStartButton.tsx
    • 새로운 의견 시작 버튼 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/landing/index.ts
    • 새로운 랜딩 컴포넌트들이 export 되었습니다.
  • src/pageComponents/gathering/opinion/pending/PendingPage.tsx
    • 새로운 의견 수렴 대기 페이지 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/pending/ShareButton.tsx
    • 새로운 공유 버튼 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/pending/ShowResultButton.tsx
    • 새로운 결과 보기 버튼 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/pending/index.ts
    • 새로운 대기 페이지 컴포넌트들이 export 되었습니다.
  • src/pageComponents/gathering/opinion/result/OtherCandidateCard.tsx
    • 새로운 다른 후보 카드 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/result/ResultGeneratingPage.tsx
    • 새로운 결과 생성 페이지 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/result/ResultGeneratingSpeechBubble.tsx
    • 새로운 결과 생성 말풍선 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/result/ResultPage.tsx
    • 새로운 결과 페이지 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/result/TasteSummaryCard.tsx
    • 새로운 취향 요약 카드 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/result/VoteSummarySection.tsx
    • 새로운 투표 요약 섹션 컴포넌트가 추가되었습니다.
  • src/pageComponents/gathering/opinion/result/index.ts
    • 새로운 결과 컴포넌트들이 export 되었습니다.
  • src/pageComponents/gathering/restaurantCard/OtherCandidateCard.tsx
    • 음식점 카드 'OtherCandidateCard' 컴포넌트가 제거되었습니다.
  • src/pageComponents/gathering/restaurantCard/RestaurantCard.tsx
    • 음식점 카드 'RestaurantCard' 컴포넌트가 제거되었습니다.
  • src/pageComponents/gathering/restaurantCard/TopRecommendCard.tsx
    • 음식점 카드 'TopRecommendCard' 컴포넌트가 제거되었습니다.
  • src/pageComponents/gathering/restaurantCard/index.ts
    • 음식점 카드 관련 컴포넌트들이 제거되었습니다.
  • src/pageComponents/landing/LandingPage.tsx
    • LandingLogoIcon을 사용하도록 업데이트되었습니다.
  • src/providers/QueryProvider.tsx
    • SSR 호환성을 위해 getQueryClient를 사용하도록 수정되었습니다.
  • src/schemas/gathering/index.ts
    • 새로운 카테고리 및 선호 카테고리 스키마를 사용하도록 export가 업데이트되었습니다.
  • src/schemas/gathering/opinionForm.schema.ts
    • 새로운 카테고리 및 선호 카테고리 이름을 사용하도록 스키마가 업데이트되었고, 새로운 유효성 검사 규칙이 추가되었습니다.
  • src/schemas/sse/index.ts
    • 새로운 SSE 스키마들이 export 되었습니다.
  • src/schemas/sse/participantCount.schema.ts
    • 참여자 수 스키마를 정의하는 새 파일이 추가되었습니다.
  • src/schemas/sse/recommendResultCreated.schema.ts
    • 추천 결과 생성 스키마를 정의하는 새 파일이 추가되었습니다.
  • src/types/gathering/createOpinionForm.ts
    • 새로운 카테고리 및 선호 카테고리 이름을 사용하도록 타입이 업데이트되었습니다.
  • src/types/gathering/foodCategory.ts
    • 음식 카테고리 타입 파일이 제거되었습니다.
  • src/types/gathering/index.ts
    • 새로운 카테고리 및 선호 카테고리 타입을 사용하도록 export가 업데이트되었고, GatheringInfo 타입이 추가되었습니다.
  • src/types/gathering/preferredMenu.ts
    • 새로운 카테고리 이름을 사용하도록 타입이 업데이트되었습니다.
  • src/types/gathering/recommendationResult.ts
    • status, gathering, distances 필드를 포함하도록 타입이 업데이트되었습니다.
  • src/types/gathering/restaurant.ts
    • 새로운 카테고리 이름을 사용하도록 타입이 업데이트되었고, 새로운 필드들이 추가되었습니다.
Ignored Files
  • Ignored by pattern: .gemini/** (1)
    • .gemini/styleguide.md
  • Ignored by pattern: .github/workflows/** (2)
    • .github/workflows/development-deploy.yml
    • .github/workflows/pr-auto-labeler.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

github-actions bot pushed a commit that referenced this pull request Feb 27, 2026
## [2.0.0](v1.5.1...v2.0.0) (2026-02-27)

### ⚠ BREAKING CHANGES

* OpinionForm field names changed

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>

* refactor: update schema field names and exports

- foodCategorySchema → categorySchema
- dislikedFoodSchema → dislikedCategoriesSchema
- preferredMenusSchema → preferredCategoriesSchema
- Update opinionFormSchema with new field names
- Replace hardcoded "ANY" with CATEGORY.ANY
* Schema field names changed

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>

* refactor: rename component files to use Category naming

- FoodCard → CategoryCard
- FoodCategoryCarousel → CategoryCarousel
- DislikedFoodButton → DislikedCategoryButton

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>

* refactor: update component export names

- FoodCard → CategoryCard
- FoodCategoryCarousel → CategoryCarousel
- DislikedFoodButton → DislikedCategoryButton
- Update component function names to match new file names
- Internal logic unchanged (will be updated in next PR)

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>

* refactor: update import references to use new constant names

- Update all components to use new constant names:
  * RANKS → RANK_LIST
  * RANK_LABELS → RANK_LABEL
  * FOOD_CATEGORIES → CATEGORY_LIST
  * FOOD_CATEGORY_LABEL → CATEGORY_LABEL
  * FOOD_CATEGORY_VALUES → CATEGORY_VALUES
  * dislikedFoodSchema → dislikedCategoriesSchema
  * preferredMenusSchema → preferredCategoriesSchema

- Update type imports:
  * FoodCategory → Category

- Update form field references:
  * dislikedFoods → dislikedCategories
  * preferredMenus → preferredCategories

- Fix component imports after file renames:
  * FoodCategoryCarousel → CategoryCarousel
  * DislikedFoodButton → DislikedCategoryButton

This ensures the build succeeds after type system changes.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>

* style: run prettier format

- Format code according to project prettier rules
- No logic changes, only formatting

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>

### Features

* 404, 500 에러 페이지 추가 ([#107](#107)) ([e9e5772](e9e5772))
* opinion 랜딩 페이지 UI 업데이트 (로고·lottie·footer) ([#120](#120)) ([2817c50](2817c50))
* SSE Event Registry 시스템 구현 및 마이그레이션 ([#119](#119)) ([178c79c](178c79c))
* SSE 기반 실시간 모임 현황 업데이트 구현 ([#87](#87)) ([0d220e0](0d220e0))
* 결과 페이지 - 투표 결과 섹션 구현 ([#106](#106)) ([c633225](c633225))
* 과반수 이상 의견 제출 시 추천 결과 생성 관련 API, Hook 추가 ([#103](#103)) ([5b31eec](5b31eec)), closes [#105](#105)
* 인원 수 선택 시 시각적 피드백 추가 ([e9f6de6](e9f6de6))
* 추천 결과 API response 타입 업데이트 ([#100](#100)) ([1d046ab](1d046ab)), closes [#101](#101) [#102](#102)
* 추천 결과 생성 대기 페이지 및 애니메이션 구현 ([#118](#118)) ([a720a76](a720a76))
* 취향 요약 카드 추가 ([#104](#104)) ([816fa96](816fa96))

### Bug Fixes

* 1, 3순위를 선택했으나 2순위를 선택하지 않았을 경우 Validation 을 막지 않았던 문제 수정 ([#113](#113)) ([22e58e8](22e58e8))
* GitHub Actions 워크플로우 개선 및 스타일 가이드 업데이트 ([#91](#91)) ([e6c009e](e6c009e))
* 결과 대기 페이지 내 공유 버튼 스타일을 Tertiary 로 수정 ([#115](#115)) ([a63ddd1](a63ddd1))
* 결과 페이지 - 상단 취향 요약 섹션, 하단 투표 결과 선호 카테고리 노출 순서 로직 수정 ([#117](#117)) ([f5c4a1c](f5c4a1c))
* 모임 인원 초과 및 결과 생성 완료 시 Toast 커스텀 기능 추가 ([#116](#116)) ([6088935](6088935))
* 음식 카테고리 일러스트레이터를 Figma 내 최신 시안으로 수정 ([#114](#114)) ([18f9cc3](18f9cc3))

### Code Refactoring

* opinion 페이지 컴포넌트 구조 개선 및 로직 통합 ([#109](#109)) ([a76f75f](a76f75f))
* PeopleIllustration 캐릭터 배치 및 구조 개선 ([#112](#112)) ([ae95b72](ae95b72))
* ProgressBar 컴포넌트 UI 개선 및 코드 최적화 ([#122](#122)) ([c73de1d](c73de1d))
* SSE 이벤트를 recommend-result-created로 변경 ([#121](#121)) ([222e613](222e613))
* 타입 시스템 리팩토링 - enum을 as const 패턴으로 전환 ([#110](#110)) ([d427378](d427378)), closes [#111](#111)
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

ProgressBar 컴포넌트에서 HeartIcon 인디케이터와 관련 애니메이션 로직이 제거되었고, 값 범위 제한 로직이 es-toolkitclamp 함수를 사용하도록 변경되었습니다. 코드 변경 사항을 검토했으며, 특별한 문제는 발견되지 않았습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔨 Refactor 코드 리팩토링 및 구조 개선

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant