UI improvements: Reader controls and TTS player

- Add archive/delete/external-link buttons to Reader header
- Create floating TTS player bar with progress slider
- Add 15s skip forward/back controls
- Show current time and duration during playback
- Add busy_timeout to SQLite for concurrent access during build
- Checkpoint WAL after migrations

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Gemini Agent
2026-01-18 01:34:39 +00:00
parent 8f059b8690
commit 9dafda88a9
6 changed files with 209 additions and 56 deletions

View File

@@ -208,16 +208,26 @@ export default function Home() {
onToggleFavorite={() =>
handleToggleFavorite(selectedArticle.id, !selectedArticle.isFavorite)
}
onToggleArchive={() => {
handleToggleArchive(selectedArticle.id, !selectedArticle.isArchived);
}}
onDelete={() => {
handleDelete(selectedArticle.id);
}}
onOpenSettings={() => setIsSettingsOpen(true)}
>
<TTSControls
isPlaying={tts.isPlaying}
isPaused={tts.isPaused}
isLoading={tts.isLoading}
currentTime={tts.currentTime}
duration={tts.duration}
progress={tts.progress}
onPlay={tts.play}
onPause={tts.pause}
onResume={tts.resume}
onStop={tts.stop}
onSeek={tts.seek}
/>
</Reader>
<SettingsPanel