Skip to content
This repository was archived by the owner on Mar 18, 2026. It is now read-only.

[리팩토링] 채팅 컴포넌트 통합 및 모드별 인터페이스 일원화#26

Merged
haesookimDev merged 1 commit into
mainfrom
refac/chat
Jul 21, 2025
Merged

[리팩토링] 채팅 컴포넌트 통합 및 모드별 인터페이스 일원화#26
haesookimDev merged 1 commit into
mainfrom
refac/chat

Conversation

@haesookimDev
Copy link
Copy Markdown
Contributor

설명

  • 기존에 분리되어 있던 NewChatInterface, DefaultChatInterface, ChatInterface 등의 컴포넌트를 하나로 통합하여 모드별(chat mode: 기존, 신규 워크플로우, 일반 채팅) 렌더링을 간소화했습니다.
  • 채팅 모드별 UI 로직을 명확하게 분리하고, 코드 중복을 제거하여 유지보수성을 향상시켰습니다.
  • 채팅 헤더와 채팅 영역을 분리하여 역할을 분명히 하였고, 커스텀 컴포넌트(ChatArea, ChatHeader, MessageList, EmptyState, SuggestionChips)를 도입해 재사용성을 높였습니다.
  • 기존 워크플로우 이력 불러오기 로직을 mode 상태를 기반으로 실행하도록 변경하여 로딩 및 에러 관리를 효율적으로 처리합니다.

주요 변경 사항

  • ChatInterface 컴포넌트를 모든 채팅 모드를 지원하도록 수정하고, 모드별 렌더링 분기를 추가함.
  • ChatContent 컴포넌트 내 기존, 신규 워크플로우, 기본 채팅 모드 구분 로직을 mode 상태 관리로 변경 및 간소화.
  • 채팅 헤더 UI를 별도 컴포넌트 ChatHeader로 분리하여 모드별 타이틀, 부제목, 대화 수 표시 로직 구현.
  • 채팅 메시지 영역을 ChatArea 컴포넌트로 분리하고, 모드별 메시지 및 빈 상태 처리 로직 통합.
  • 이전에 각각 분리되어 있던 메시지 리스트, 빈 상태, 제안 칩 UI를 각각 MessageList, EmptyState, SuggestionChips 컴포넌트로 분리.
  • 기존 채팅 이력 불러오기 (getWorkflowIOLogs)와 로딩 상태 관리를 모드에 따라 조건부로 실행하도록 개선.
  • 입력창 및 첨부파일, 컬렉션 선택 UI 동작을 유지하면서 모드별 실행 상태에 따라 UI 렌더링을 유연하게 변경.
  • 관련 타입 정의를 types.tsx로 분리해 명확히 관리.
  • 불필요한 NewChatInterface, DefaultChatInterface 컴포넌트 삭제 및 사용 중지
  • 스타일링과 아이콘 활용은 유지하며 컴포넌트 재사용성을 높임.

- Consolidate DefaultChatInterface and NewChatInterface into a single ChatInterface
  component with mode prop ('existing', 'new-workflow', 'new-default') to handle all chat
  scenarios.
- Introduce ChatHeader, ChatArea, MessageList, EmptyState, and SuggestionChips components
  to modularize UI and improve readability.
- Move type definitions to a dedicated types.tsx file for better maintainability.
- Update ChatContent to manage chat modes and workflows consistently.
- Enhance ChatInterface to support loading states, error handling, and mode-specific UI.
- Simplify chat input area with attachment menu and execution state handling.
- Remove unused imports and obsolete components
@haesookimDev haesookimDev self-assigned this Jul 21, 2025
@haesookimDev haesookimDev merged commit e9460fb into main Jul 21, 2025
4 checks passed
@haesookimDev haesookimDev deleted the refac/chat branch July 21, 2025 08:19
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant