Closed dyeongg closed 1 week ago
이 PR은 TTS 프로젝트 생성 및 저장 기능을 구현합니다. 변경 사항에는 TTS 프로젝트에 대한 상태 관리를 설정하고, 프로젝트 저장/로드를 위한 API 통신을 추가하며, 프로젝트 이름 편집을 구현하는 것이 포함됩니다. 구현은 상태 관리를 위해 React hooks (useState, useCallback, useEffect)를 사용하며, 나중에 Zustand로 리팩토링할 계획입니다.
sequenceDiagram
actor User
participant TTSPage
participant API
User->>TTSPage: '프로젝트 저장' 클릭
TTSPage->>API: 프로젝트 데이터와 함께 POST /tts/save
API-->>TTSPage: 성공 상태로 응답
TTSPage-->>User: 저장 성공 메시지 표시
classDiagram
class TTSPage {
+useState<TTSItem[]>(items)
+useState<number | null>(projectId)
+useState<TTSSaveDto>(projectData)
+fetchTTSState(id: number)
+handleSaveProject()
+handleProjectNameChange(newName: string)
}
class TTSSaveDto {
number projectId
string projectName
number voiceStyleId
string fullScript
float globalSpeed
float globalPitch
float globalVolume
TTSDetailDto[] ttsDetails
}
class TTSProject {
number id
string projectName
string apiStatus
string fullScript
float globalPitch
float globalSpeed
float globalVolume
number voiceStyleId
}
class TTSDetailDto {
number id
boolean isDeleted
string unitScript
float unitSpeed
float unitVolume
float unitPitch
}
TTSPage --> TTSSaveDto
TTSSaveDto --> TTSDetailDto
TTSSpecificResponse --> TTSProject
TTSSpecificResponse --> TTSDetailDto
변경 사항 | 세부 사항 | 파일 |
---|---|---|
TTS 프로젝트 상태 관리 및 API 통합 구현 |
|
src/pages/TTSPage.tsx src/api/ttsApi.ts src/api/aIParkAPI.ts |
탐색 기능이 있는 프로젝트 생성 대화 상자 강화 |
|
src/components/custom/dialogs/CreateProjectDialog.tsx |
axios 클라이언트 구성 리팩토링 |
|
src/api/axios-client.ts |
편집 기능이 있는 프로젝트 제목 구성 요소 업데이트 |
|
src/components/section/contents/project/ProjectTitle.tsx |
Visit the preview URL for this PR (updated for commit 7378c03):
https://aipark-four-t--199-q3w3qi1c.web.app
(expires Fri, 29 Nov 2024 11:10:07 GMT)
🔥 via Firebase Hosting GitHub Action 🌎
Sign: 0a4b3ef6ecc2c695a6a0d6ade46651e032870a9f
Sourcery에 의한 요약
TTS 프로젝트 생성 및 저장을 위한 API 통신 구현, 일관된 API 처리를 위한 Axios 클라이언트 리팩토링, 탐색 및 초기 데이터 설정을 통한 프로젝트 생성 대화 상자 개선.
새로운 기능:
개선 사항:
Original summary in English
## Summary by Sourcery Implement API communication for TTS project creation and saving, refactor Axios client for consistent API handling, and enhance project creation dialog with navigation and initial data setup. New Features: - Implement API communication for creating and saving TTS projects, allowing users to save project data to the server. Enhancements: - Refactor Axios client to use a single Axios instance with request and response interceptors for consistent API communication.