tts: 功能卡调整到音色清单文字下方(蓝色方框位置)
This commit is contained in:
parent
d79c6cb67f
commit
12eef4b854
@ -476,13 +476,6 @@ export default function TtsPage() {
|
||||
spellCheck
|
||||
suppressContentEditableWarning
|
||||
/>
|
||||
<div className="mt-6 grid gap-4 md:grid-cols-3">
|
||||
<button className="assist-card text-left" disabled={helperBusy} onClick={() => fileInputRef.current?.click()} onDragOver={(event) => event.preventDefault()} onDrop={(event) => { event.preventDefault(); void handleOcr(event.dataTransfer.files[0]); }} type="button"><span className="assist-icon">▧</span><span><strong>图片转文字</strong><small>上传或拖入截图、纸稿、PPT,识别结果填入编辑区</small></span><span className="assist-arrow">→</span></button>
|
||||
<button className="assist-card text-left" onClick={checkTypos} type="button"><span className="assist-icon">✓</span><span><strong>生成前查错字</strong><small>扫描疑似错字,红色波浪线标出并支持一键替换</small></span><span className="assist-arrow">→</span></button>
|
||||
<button className="assist-card text-left" onClick={autoSegment} type="button"><span className="assist-icon">↵</span><span><strong>自动分段</strong><small>按句号、问号和感叹号切分长文案,方便控制节奏</small></span><span className="assist-arrow">→</span></button>
|
||||
</div>
|
||||
<input accept="image/*" className="hidden" onChange={(event) => void handleOcr(event.target.files?.[0])} ref={fileInputRef} type="file" />
|
||||
{helperMessage ? <p className="mt-4 rounded-lg border border-cyan/20 bg-cyan/5 px-3 py-2 text-xs text-cyan">{helperMessage}</p> : null}
|
||||
<div className="mt-5 border-t border-line pt-5">
|
||||
<div className="flex flex-wrap items-center gap-2">
|
||||
<span className="mr-1 text-sm text-muted">输入停顿</span>
|
||||
@ -512,6 +505,13 @@ export default function TtsPage() {
|
||||
{correctionMessage ? <p className="mt-3 rounded-lg border border-cyan/20 bg-cyan/5 px-3 py-2 text-xs text-cyan">{correctionMessage}</p> : null}
|
||||
</div>
|
||||
<p className="mt-5 border-t border-line pt-5 text-sm text-muted">{loadedAt ? `音色清单已更新 · ${voices.length} 个音色` : "正在读取音色清单…"}</p>
|
||||
<div className="mt-6 grid gap-4 md:grid-cols-3">
|
||||
<button className="assist-card text-left" disabled={helperBusy} onClick={() => fileInputRef.current?.click()} onDragOver={(event) => event.preventDefault()} onDrop={(event) => { event.preventDefault(); void handleOcr(event.dataTransfer.files[0]); }} type="button"><span className="assist-icon">▧</span><span><strong>图片转文字</strong><small>上传或拖入截图、纸稿、PPT,识别结果填入编辑区</small></span><span className="assist-arrow">→</span></button>
|
||||
<button className="assist-card text-left" onClick={checkTypos} type="button"><span className="assist-icon">✓</span><span><strong>生成前查错字</strong><small>扫描疑似错字,红色波浪线标出并支持一键替换</small></span><span className="assist-arrow">→</span></button>
|
||||
<button className="assist-card text-left" onClick={autoSegment} type="button"><span className="assist-icon">↵</span><span><strong>自动分段</strong><small>按句号、问号和感叹号切分长文案,方便控制节奏</small></span><span className="assist-arrow">→</span></button>
|
||||
</div>
|
||||
<input accept="image/*" className="hidden" onChange={(event) => void handleOcr(event.target.files?.[0])} ref={fileInputRef} type="file" />
|
||||
{helperMessage ? <p className="mt-4 rounded-lg border border-cyan/20 bg-cyan/5 px-3 py-2 text-xs text-cyan">{helperMessage}</p> : null}
|
||||
</section>
|
||||
|
||||
<aside className="space-y-6">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user