Skip to content

refactor(frontend): Content 필터 컴포넌트 중복 제거 및 공통화#273

Merged
kubrickcode merged 1 commit intomainfrom
develop/shlee/272
Nov 29, 2025
Merged

refactor(frontend): Content 필터 컴포넌트 중복 제거 및 공통화#273
kubrickcode merged 1 commit intomainfrom
develop/shlee/272

Conversation

@kubrickcode
Copy link
Copy Markdown
Owner

두 다이얼로그 컴포넌트에서 동일한 필터 UI가 중복 구현되어 있었음 (content-details-dialog, content-group-details-dialog 각각 ~180줄씩 중복)

공통 컴포넌트로 분리하여 재사용성 개선:

  • BooleanFilter: 더보기/귀속 포함 토글 통합
  • ItemsFilter: 보상 아이템 멀티셀렉트 래퍼
  • useWageFilter: 필터 상태 관리 훅 (items 변경 시 동기화 포함)
  • ContentWageSection: 시급 정보 섹션 통합 컴포넌트
  • RewardItem 타입 통합으로 중복 정의 제거

fix #272

두 다이얼로그 컴포넌트에서 동일한 필터 UI가 중복 구현되어 있었음 (content-details-dialog, content-group-details-dialog 각각 ~180줄씩 중복)

공통 컴포넌트로 분리하여 재사용성 개선:
- BooleanFilter: 더보기/귀속 포함 토글 통합
- ItemsFilter: 보상 아이템 멀티셀렉트 래퍼
- useWageFilter: 필터 상태 관리 훅 (items 변경 시 동기화 포함)
- ContentWageSection: 시급 정보 섹션 통합 컴포넌트
- RewardItem 타입 통합으로 중복 정의 제거

fix #272
@github-actions github-actions Bot added the refactor Refactoring code label Nov 29, 2025
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello @kubrickcode, 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은 프론트엔드에서 두 개의 다이얼로그 컴포넌트(content-details-dialog와 content-group-details-dialog)에 걸쳐 중복되던 컨텐츠 필터 UI 로직을 제거하고 공통화하는 것을 목표로 합니다. 이를 통해 코드의 재사용성을 크게 개선하고 유지보수성을 향상시켰습니다. 필터 관련 UI와 상태 관리 로직을 별도의 컴포넌트와 훅으로 분리하여, 향후 유사한 기능이 필요할 때 쉽게 확장하고 적용할 수 있는 기반을 마련했습니다.

Highlights

  • ContentWageSection 공통 컴포넌트 도입: 두 다이얼로그(content-details-dialog, content-group-details-dialog)에 중복 구현되어 있던 시급 정보 필터 UI를 하나의 공통 컴포넌트로 분리했습니다.
  • 필터 컴포넌트 공통화: BooleanFilter (더보기/귀속 포함 토글) 및 ItemsFilter (보상 아이템 멀티셀렉트)를 별도 컴포넌트로 분리하여 재사용성을 높였습니다.
  • useWageFilter 훅 개발: 시급 정보 필터의 상태 관리 로직을 useWageFilter 커스텀 훅으로 추출하여 필터 상태 동기화를 포함한 로직을 중앙화했습니다.
  • RewardItem 타입 통합: 보상 아이템 타입을 통합하여 중복 정의를 제거하고 코드 일관성을 확보했습니다.
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.

@kubrickcode
Copy link
Copy Markdown
Owner Author

/gemini review

Copy link
Copy Markdown

@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

이번 PR은 두 다이얼로그 컴포넌트에서 중복으로 구현되었던 필터 UI를 공통 컴포넌트로 분리하여 재사용성을 개선하는 훌륭한 리팩터링입니다. BooleanFilter, ItemsFilter, useWageFilter, ContentWageSection 등의 공통 요소를 추출하여 코드 중복을 제거하고 유지보수성을 크게 향상시켰습니다. 전반적으로 코드베이스가 더 깔끔하고 구조화되었습니다. 몇 가지 사소한 스타일 가이드 준수 관련 제안 사항을 추가했습니다.

Comment thread src/frontend/src/domains/content/hooks/use-wage-filter.tsx
@kubrickcode kubrickcode merged commit 5ee574b into main Nov 29, 2025
10 checks passed
@kubrickcode kubrickcode deleted the develop/shlee/272 branch November 29, 2025 11:51
@kubrickcode
Copy link
Copy Markdown
Owner Author

🎉 This PR is included in version 0.7.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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

Labels

refactor Refactoring code released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Content 필터 컴포넌트 중복 제거 및 공통화

1 participant