From b3bc2e319ff203dc0c1e4a043b992acf3a1266a3 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Thu, 30 Jul 2026 07:48:32 +0800 Subject: [PATCH] =?UTF-8?q?refactor(CloneModal):=20=E6=8F=90=E5=8F=96?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/voice/CloneModal/types.ts | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 apps/web/src/components/voice/CloneModal/types.ts diff --git a/apps/web/src/components/voice/CloneModal/types.ts b/apps/web/src/components/voice/CloneModal/types.ts new file mode 100644 index 000000000..cd08ed9f4 --- /dev/null +++ b/apps/web/src/components/voice/CloneModal/types.ts @@ -0,0 +1,21 @@ +import type { VoiceClone } from "@/api/voice-clone" + +/** 弹窗阶段 */ +export type ModalPhase = "input" | "uploading" | "cloning" | "done" + +/** CloneModal 组件属性 */ +export interface CloneModalProps { + /** 弹窗是否可见 */ + open: boolean + /** 关闭弹窗回调 */ + onClose: () => void + /** 克隆成功回调(返回新创建的音色) */ + onSuccess?: (voice: VoiceClone) => void +} + +/** 进度步骤配置 */ +export interface ProgressStep { + key: string + label: string + icon: string +}