style: fix prettier formatting issues
Deploy / Deploy Staging (push) Failing after 192h26m58s
CI/CD Pipeline / Frontend Lint (push) Failing after 192h27m37s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 192h27m46s
Deploy / Production Browser E2E (push) Failing after 1851h1m12s
Deploy / Deploy Production (push) Failing after 1851h1m14s
Deploy / Build Production Runtime Images (push) Failing after 1851h1m17s

This commit is contained in:
CI Test
2026-07-01 12:26:48 +08:00
parent 3e10860f02
commit f0eed0ca3f
45 changed files with 1339 additions and 409 deletions
@@ -124,7 +124,9 @@ const CloneVoiceModal: React.FC<CloneVoiceModalProps> = ({
// Mock:模拟上传 + 克隆过程
const result = await createVoiceClone({
name,
audio_url: selectedFile ? `mock://${selectedFile.name}` : "mock://recorded-audio",
audio_url: selectedFile
? `mock://${selectedFile.name}`
: "mock://recorded-audio",
});
setStep("success");
@@ -211,7 +213,9 @@ const CloneVoiceModal: React.FC<CloneVoiceModalProps> = ({
<label className="cvm-label">直接录制</label>
<div className="cvm-record-area">
<p className="cvm-record-hint">
{isRecording ? "录制中…再次点击停止" : "点击按钮开始录制你的声音"}
{isRecording
? "录制中…再次点击停止"
: "点击按钮开始录制你的声音"}
</p>
<button
type="button"
@@ -226,7 +230,9 @@ const CloneVoiceModal: React.FC<CloneVoiceModalProps> = ({
{/* 提示 */}
<div className="cvm-tip">
<span className="cvm-tip-icon">💡</span>
<span>建议上传10秒~3分钟的清晰语音,环境安静、语速均匀效果最佳</span>
<span>
建议上传10秒~3分钟的清晰语音,环境安静、语速均匀效果最佳
</span>
</div>
{/* 底部按钮 */}
@@ -234,7 +240,11 @@ const CloneVoiceModal: React.FC<CloneVoiceModalProps> = ({
<Button buttonType="ghost" onClick={handleClose}>
取消
</Button>
<Button buttonType="primary" disabled={!canStart} onClick={handleStartClone}>
<Button
buttonType="primary"
disabled={!canStart}
onClick={handleStartClone}
>
🎤 开始克隆
</Button>
</div>
@@ -255,7 +265,9 @@ const CloneVoiceModal: React.FC<CloneVoiceModalProps> = ({
<div className="cvm-success">
<div className="cvm-success-icon">✅</div>
<h3 className="cvm-success-title">克隆已提交</h3>
<p className="cvm-success-desc">音色正在生成中,完成后将出现在列表中</p>
<p className="cvm-success-desc">
音色正在生成中,完成后将出现在列表中
</p>
</div>
)}
</Modal>
@@ -36,13 +36,16 @@
color: var(--text-primary, #101828);
font-size: 14px;
line-height: 1.5;
transition: border-color 0.2s, box-shadow 0.2s;
transition:
border-color 0.2s,
box-shadow 0.2s;
outline: none;
}
.cvm-input:focus {
border-color: var(--primary, #6366f1);
box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color) 12%, transparent);
box-shadow: 0 0 0 3px
color-mix(in srgb, var(--primary-color) 12%, transparent);
}
.cvm-input::placeholder {
@@ -58,7 +61,9 @@
text-align: center;
background: var(--bg-subtle, #f8fafc);
cursor: pointer;
transition: border-color 0.2s, background 0.2s;
transition:
border-color 0.2s,
background 0.2s;
}
.cvm-upload-zone:hover {
@@ -135,10 +140,17 @@
font-size: 32px;
line-height: 1;
padding: 0;
background: linear-gradient(135deg, var(--error-color, #ef4444), var(--error-dark, #dc2626));
background: linear-gradient(
135deg,
var(--error-color, #ef4444),
var(--error-dark, #dc2626)
);
color: var(--text-inverse);
box-shadow: 0 4px 14px color-mix(in srgb, var(--error-color, #ef4444) 35%, transparent);
transition: transform 0.15s, box-shadow 0.15s;
box-shadow: 0 4px 14px
color-mix(in srgb, var(--error-color, #ef4444) 35%, transparent);
transition:
transform 0.15s,
box-shadow 0.15s;
display: inline-flex;
align-items: center;
justify-content: center;
@@ -146,7 +158,8 @@
.cvm-record-btn:hover {
transform: scale(1.06);
box-shadow: 0 6px 20px color-mix(in srgb, var(--error-color, #ef4444) 45%, transparent);
box-shadow: 0 6px 20px
color-mix(in srgb, var(--error-color, #ef4444) 45%, transparent);
}
.cvm-record-btn:active {
@@ -158,8 +171,15 @@
}
@keyframes cvm-pulse {
0%, 100% { box-shadow: 0 4px 14px color-mix(in srgb, var(--error-color, #ef4444) 35%, transparent); }
50% { box-shadow: 0 4px 28px color-mix(in srgb, var(--error-color, #ef4444) 60%, transparent); }
0%,
100% {
box-shadow: 0 4px 14px
color-mix(in srgb, var(--error-color, #ef4444) 35%, transparent);
}
50% {
box-shadow: 0 4px 28px
color-mix(in srgb, var(--error-color, #ef4444) 60%, transparent);
}
}
/* ── 提示条 ─────────────────────────────────────────────── */
@@ -215,7 +235,9 @@
}
@keyframes cvm-spin {
to { transform: rotate(360deg); }
to {
transform: rotate(360deg);
}
}
.cvm-uploading-text {
@@ -262,7 +284,6 @@
/* ── 响应式 ─────────────────────────────────────────────── */
@media (max-width: 768px) {
.cvm-overlay {
padding: var(--space-md);