feat(voice-transcribe): 新增语音转写语言过滤配置功能(支持用户自定义允许的转写语言),优化模型下载的超时处理与进度日志,提升下载稳健性,同步更新相关 UI 样式。

This commit is contained in:
Forrest
2026-01-17 19:54:31 +08:00
parent dc12df0fcf
commit 0853e049c8
9 changed files with 338 additions and 66 deletions

View File

@@ -14,7 +14,7 @@
}
.voice-transcribe-dialog {
background: var(--color-bg-elevated);
background: var(--bg-secondary);
border-radius: 16px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
width: 90%;
@@ -28,13 +28,13 @@
align-items: center;
justify-content: space-between;
padding: 20px 24px;
border-bottom: 1px solid var(--color-border);
border-bottom: 1px solid var(--border-color);
h3 {
margin: 0;
font-size: 18px;
font-weight: 600;
color: var(--color-text-primary);
color: var(--text-primary);
}
.close-button {
@@ -42,13 +42,13 @@
border: none;
cursor: pointer;
padding: 4px;
color: var(--color-text-secondary);
color: var(--text-secondary);
border-radius: 6px;
transition: all 0.15s ease;
&:hover {
background: var(--color-bg-hover);
color: var(--color-text-primary);
background: var(--bg-hover);
color: var(--text-primary);
}
}
}
@@ -65,19 +65,19 @@
gap: 16px;
.info-icon {
color: var(--color-primary);
color: var(--primary);
opacity: 0.8;
}
.info-text {
font-size: 15px;
color: var(--color-text-primary);
color: var(--text-primary);
margin: 0;
}
.model-info {
width: 100%;
background: var(--color-bg);
background: var(--bg-tertiary);
border-radius: 12px;
padding: 16px;
display: flex;
@@ -91,11 +91,11 @@
font-size: 14px;
.label {
color: var(--color-text-secondary);
color: var(--text-secondary);
}
.value {
color: var(--color-text-primary);
color: var(--text-primary);
font-weight: 500;
}
}
@@ -111,27 +111,27 @@
.download-icon {
.downloading-icon {
color: var(--color-primary);
color: var(--primary);
animation: bounce 1s ease-in-out infinite;
}
}
.download-text {
font-size: 15px;
color: var(--color-text-primary);
color: var(--text-primary);
margin: 0;
}
.progress-bar {
width: 100%;
height: 6px;
background: var(--color-bg);
background: var(--bg-tertiary);
border-radius: 3px;
overflow: hidden;
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
background: var(--primary-gradient);
border-radius: 3px;
transition: width 0.3s ease;
}
@@ -139,10 +139,17 @@
.progress-text {
font-size: 14px;
color: var(--color-text-secondary);
color: var(--text-secondary);
margin: 0;
font-variant-numeric: tabular-nums;
}
.download-hint {
font-size: 12px;
color: var(--text-tertiary);
margin: 8px 0 0 0;
text-align: center;
}
}
.complete-section {
@@ -153,12 +160,12 @@
padding: 20px 0;
.complete-icon {
color: var(--color-success);
color: #10b981;
}
.complete-text {
font-size: 15px;
color: var(--color-text-primary);
color: var(--text-primary);
margin: 0;
}
}
@@ -196,16 +203,16 @@
gap: 6px;
&.btn-secondary {
background: var(--color-bg);
color: var(--color-text-primary);
background: var(--bg-tertiary);
color: var(--text-primary);
&:hover {
background: var(--color-bg-hover);
background: var(--bg-hover);
}
}
&.btn-primary {
background: var(--color-primary);
background: var(--primary);
color: white;
&:hover {