more polish

This commit is contained in:
2026-05-06 12:15:46 -06:00
parent a96e42c9f9
commit acf7f2e64c
10 changed files with 160 additions and 223 deletions

View File

@ -646,7 +646,7 @@ export default function App() {
<div className="flex items-center gap-1">
<ToolbarButton
icon={<SlidersHorizontal className="w-4 h-4" />}
label="Gain Zone"
label="Sound Gain"
onClick={handleGain}
active={gainMode}
disabled={!canEdit}
@ -667,7 +667,7 @@ export default function App() {
<div className="flex items-center gap-1">
<ToolbarButton
icon={<Gauge className="w-4 h-4" />}
label="Speed Zone"
label="Speed Adjust"
onClick={handleSpeed}
active={speedMode}
disabled={!canEdit}
@ -685,9 +685,10 @@ export default function App() {
disabled={!canEdit}
/>
</div>
<div className="w-px h-5 bg-editor-border mx-1" />
<ToolbarButton
icon={<Grid3x3 className="w-4 h-4" />}
label="Zones"
label="Edit Zones"
active={activePanel === 'zones'}
onClick={() => togglePanel('zones')}
disabled={!videoPath || !canEdit}
@ -695,7 +696,7 @@ export default function App() {
/>
<ToolbarButton
icon={<span className="text-[10px] font-semibold">PA</span>}
label="Pause Trim"
label="Trim Silence"
active={activePanel === 'silence'}
onClick={() => togglePanel('silence')}
disabled={!videoPath || !canEdit}
@ -703,7 +704,7 @@ export default function App() {
/>
<ToolbarButton
icon={<MapPin className="w-4 h-4" />}
label="Markers"
label="Chapter Marks"
active={activePanel === 'markers'}
onClick={() => togglePanel('markers')}
disabled={!videoPath || !canEdit}
@ -711,7 +712,7 @@ export default function App() {
/>
<ToolbarButton
icon={<Music className="w-4 h-4" />}
label="Music"
label="Bkg. Music"
active={activePanel === 'music'}
onClick={() => togglePanel('music')}
disabled={!videoPath || !canEdit}
@ -719,12 +720,13 @@ export default function App() {
/>
<ToolbarButton
icon={<ListVideo className="w-4 h-4" />}
label="Append"
label="Add Clips"
active={activePanel === 'append'}
onClick={() => togglePanel('append')}
disabled={!videoPath || !canEdit}
title="Append additional video clips — concatenate multiple files during export"
/>
<div className="w-px h-5 bg-editor-border mx-1" />
<div className="flex items-center gap-1.5 px-2 py-1 rounded-md bg-editor-surface border border-editor-border">
<select
value={whisperModel}
@ -751,19 +753,11 @@ export default function App() {
<option value="distil-medium.en">distil-medium.en</option>
</optgroup>
</select>
<button
onClick={handleReprocessProject}
disabled={isTranscribing || !videoPath || !canEdit}
title="Re-run transcription with the selected Whisper model — replaces current transcript"
className="flex items-center gap-1 px-2 py-1 rounded text-xs text-editor-text hover:bg-editor-bg disabled:opacity-40 disabled:cursor-not-allowed"
>
<RefreshCw className={`w-3 h-3 ${isTranscribing ? 'animate-spin' : ''}`} />
Reprocess
</button>
</div>
<div className="w-px h-5 bg-editor-border mx-1" />
<ToolbarButton
icon={<Sparkles className="w-4 h-4" />}
label="AI"
label="AI Tools"
active={activePanel === 'ai'}
onClick={() => togglePanel('ai')}
disabled={words.length === 0 || !canEdit}
@ -774,7 +768,7 @@ export default function App() {
label="Export"
active={activePanel === 'export'}
onClick={() => togglePanel('export')}
disabled={words.length === 0}
disabled={!videoPath}
/>
<ToolbarButton
icon={<Settings className="w-4 h-4" />}
@ -800,6 +794,7 @@ export default function App() {
className="w-1 shrink-0 bg-editor-border cursor-col-resize hover:bg-editor-accent/50 active:bg-editor-accent transition-colors relative z-10"
style={{ cursor: isDraggingSplit.current ? 'col-resize' : 'col-resize' }}
onMouseDown={startSplitDrag}
title="Drag to resize"
/>
{/* Transcript */}
@ -877,6 +872,7 @@ export default function App() {
<div
className="w-1 shrink-0 bg-editor-border cursor-col-resize hover:bg-editor-accent/50 active:bg-editor-accent transition-colors relative z-10"
onMouseDown={startSidebarDrag}
title="Drag to resize"
/>
<div className="overflow-y-auto" style={{ width: sidebarWidth }}>
{activePanel === 'zones' && (
@ -886,7 +882,7 @@ export default function App() {
{activePanel === 'markers' && <MarkersPanel />}
{activePanel === 'music' && <BackgroundMusicPanel />}
{activePanel === 'append' && <AppendClipPanel />}
{activePanel === 'ai' && <AIPanel />}
{activePanel === 'ai' && <AIPanel onReprocess={handleReprocessProject} whisperModel={whisperModel} setWhisperModel={setWhisperModel} />}
{activePanel === 'export' && <ExportDialog />}
{activePanel === 'settings' && <SettingsPanel />}
</div>