FC-DEV-FinalProject / final-fe-team4

4조 프론트엔드 깃허브
0 stars 2 forks source link

[feat] vc 기능 개선 #231

Closed dhkim511 closed 2 days ago

dhkim511 commented 3 days ago

178, #180 완료

179 작업 예정

Sourcery에 의한 요약

파일 업로드 기능을 개선하여 여러 파일 업로드를 지원하고 오디오 및 텍스트 파일에 대한 특정 처리를 추가합니다. 항목 및 프로젝트 데이터를 더 잘 처리하기 위해 새로운 상태 관리 저장소를 사용하여 음성 변환 페이지를 리팩터링합니다. 음성 선택 및 파일 업로드 구성 요소에 대한 사용자 인터페이스를 개선하고 로그인 API의 오류 처리를 수정합니다.

새로운 기능:

버그 수정:

개선 사항:

Original summary in English ## Summary by Sourcery Enhance the file upload functionality by supporting multiple file uploads and specific handling for audio and text files. Refactor the voice conversion page to use a new state management store for better handling of items and project data. Improve the user interface for voice selection and file upload components, and fix error handling in the login API. New Features: - Introduce a new file upload configuration for audio and text files, allowing for specific handling based on file type. Bug Fixes: - Fix an issue in the login API where errors were not correctly handled when not an AxiosError. Enhancements: - Refactor the file upload hook to support multiple file uploads and add options for file type handling. - Improve the voice conversion page by integrating a new state management store for handling voice conversion items and project data. - Enhance the user interface for voice selection and file upload components, including tooltips and improved layout.
sourcery-ai[bot] commented 3 days ago

리뷰어 가이드 by Sourcery

이 PR은 파일 업로드 처리 및 상태 관리를 중심으로 음성 변환(VC) 기능에 대한 중요한 개선 사항을 구현합니다. 변경 사항에는 파일 업로드 로직의 완전한 리팩터링, Zustand를 사용한 전용 VC 스토어 도입, 음성 선택 및 파일 관리에 대한 UI/UX 개선이 포함됩니다.

파일 업로드 프로세스에 대한 시퀀스 다이어그램

sequenceDiagram
    participant User
    participant VCStore
    participant useFileUpload
    User->>VCStore: handleAdd()
    VCStore->>useFileUpload: openFileDialog()
    useFileUpload->>User: 파일 선택 프롬프트
    User->>useFileUpload: 파일 선택
    useFileUpload->>VCStore: onSuccess(newItems)
    VCStore->>VCStore: addItems(newItems)
    VCStore->>User: 새 항목으로 UI 업데이트

파일 수준 변경 사항

변경 사항 세부 사항 파일
새로운 훅 구현으로 파일 업로드 기능 리팩터링
  • 더 나은 타입 처리를 위한 useFileUpload 훅 단순화
  • 전용 구성으로 다양한 파일 유형(오디오/텍스트) 지원 추가
  • 새로운 파일 검증 로직 구현
  • 구성 가능한 옵션으로 다중 파일 업로드 지원 추가
src/hooks/useFileUpload.ts
VC 기능을 위한 중앙 집중식 상태 관리 도입
  • VC 상태 관리를 위한 새로운 Zustand 스토어 생성
  • 포괄적인 상태 액션 및 핸들러 구현
  • 오류 처리를 위한 경고 시스템 추가
  • 상태 관리와 파일 업로드 로직 통합
src/stores/vc.store.ts
음성 선택 UI 및 기능 향상
  • 단순화된 인터페이스를 위한 사전 설정 음성 기능 제거
  • 더 나은 상호작용 처리를 위한 음성 카드 컴포넌트 개선
  • 사용자 안내를 위한 툴팁 추가
  • 음성 선택 레이아웃 및 스타일 업데이트
src/components/custom/feature/VoiceSelection.tsx
src/components/custom/cards/VoiceCard.tsx
src/components/section/sidebar/VCSidebar.tsx
테이블 컴포넌트 및 파일 처리 UI 개선
  • 테이블 뷰에서 체크박스 상호작용 향상
  • 오디오 파일 검증 지원 추가
  • 비활성 상태 처리가 가능한 텍스트 업로드 버튼 개선
  • 더 나은 파일 업로드 컨트롤을 위한 테이블 헤더 업데이트
src/components/custom/tables/project/common/TableHeader.tsx
src/components/custom/tables/project/common/TableListView.tsx
src/components/custom/tables/project/tts/TTSTableGridView.tsx

관련된 문제일 수 있음


팁 및 명령어 #### Sourcery와 상호작용하기 - **새 리뷰 트리거:** 풀 리퀘스트에 `@sourcery-ai review`라고 댓글을 남깁니다. - **토론 계속하기:** Sourcery의 리뷰 댓글에 직접 답장합니다. - **리뷰 댓글에서 GitHub 이슈 생성:** 리뷰 댓글에서 이슈를 생성하도록 Sourcery에 요청합니다. - **풀 리퀘스트 제목 생성:** 풀 리퀘스트 제목 어디에나 `@sourcery-ai`를 작성하여 언제든지 제목을 생성합니다. - **풀 리퀘스트 요약 생성:** 풀 리퀘스트 본문 어디에나 `@sourcery-ai summary`를 작성하여 언제든지 PR 요약을 생성합니다. 이 명령어를 사용하여 요약이 삽입될 위치를 지정할 수도 있습니다. #### 경험 맞춤화하기 [대시보드](https://app.sourcery.ai)에 액세스하여: - Sourcery가 생성한 풀 리퀘스트 요약, 리뷰어 가이드 등과 같은 리뷰 기능을 활성화하거나 비활성화합니다. - 리뷰 언어를 변경합니다. - 사용자 정의 리뷰 지침을 추가, 제거 또는 편집합니다. - 기타 리뷰 설정을 조정합니다. #### 도움 받기 - 질문이나 피드백이 있는 경우 [지원 팀에 문의](mailto:support@sourcery.ai)하세요. - 자세한 가이드와 정보를 보려면 [문서](https://docs.sourcery.ai)를 방문하세요. - [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) 또는 [GitHub](https://github.com/sourcery-ai)에서 Sourcery 팀을 팔로우하여 소식을 받아보세요.
Original review guide in English ## Reviewer's Guide by Sourcery This PR implements significant improvements to the voice conversion (VC) feature, focusing on file upload handling and state management. The changes include a complete refactor of the file upload logic, introduction of a dedicated VC store using Zustand, and UI/UX improvements for voice selection and file management. #### Sequence diagram for File Upload Process ```mermaid sequenceDiagram participant User participant VCStore participant useFileUpload User->>VCStore: handleAdd() VCStore->>useFileUpload: openFileDialog() useFileUpload->>User: Prompt file selection User->>useFileUpload: Select files useFileUpload->>VCStore: onSuccess(newItems) VCStore->>VCStore: addItems(newItems) VCStore->>User: Update UI with new items ``` ### File-Level Changes | Change | Details | Files | | ------ | ------- | ----- | | Refactored file upload functionality with a new hook implementation |
  • Simplified useFileUpload hook with better type handling
  • Added support for different file types (audio/text) with dedicated configurations
  • Implemented new file validation logic
  • Added multiple file upload support with configurable options
| `src/hooks/useFileUpload.ts` | | Introduced centralized state management for VC feature |
  • Created new Zustand store for VC state management
  • Implemented comprehensive state actions and handlers
  • Added alert system for error handling
  • Integrated file upload logic with state management
| `src/stores/vc.store.ts` | | Enhanced voice selection UI and functionality |
  • Removed preset voices feature for simplified interface
  • Improved voice card component with better interaction handling
  • Added tooltips for better user guidance
  • Updated voice selection layout and styling
| `src/components/custom/feature/VoiceSelection.tsx`
`src/components/custom/cards/VoiceCard.tsx`
`src/components/section/sidebar/VCSidebar.tsx` | | Improved table components and file handling UI |
  • Enhanced checkbox interaction in table views
  • Added support for audio file validation
  • Improved text upload button with disabled state handling
  • Updated table header with better file upload controls
| `src/components/custom/tables/project/common/TableHeader.tsx`
`src/components/custom/tables/project/common/TableListView.tsx`
`src/components/custom/tables/project/tts/TTSTableGridView.tsx` | ### Possibly linked issues - **#178**: The PR improves features on the VC page, which is related to the issue's creation of the VC page. ---
Tips and commands #### Interacting with Sourcery - **Trigger a new review:** Comment `@sourcery-ai review` on the pull request. - **Continue discussions:** Reply directly to Sourcery's review comments. - **Generate a GitHub issue from a review comment:** Ask Sourcery to create an issue from a review comment by replying to it. - **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull request title to generate a title at any time. - **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in the pull request body to generate a PR summary at any time. You can also use this command to specify where the summary should be inserted. #### Customizing Your Experience Access your [dashboard](https://app.sourcery.ai) to: - Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others. - Change the review language. - Add, remove or edit custom review instructions. - Adjust other review settings. #### Getting Help - [Contact our support team](mailto:support@sourcery.ai) for questions or feedback. - Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information. - Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).
github-actions[bot] commented 3 days ago

Visit the preview URL for this PR (updated for commit 193afc5):

https://aipark-four-t--231-01ci5bib.web.app

(expires Wed, 04 Dec 2024 06:10:19 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 0a4b3ef6ecc2c695a6a0d6ade46651e032870a9f

nakyeonko3 commented 2 days ago

merge 해도 될 겁니다