Commit Graph

22 Commits

Author SHA1 Message Date
Fran Fitzpatrick
f8c0c6759d fix: Listen button in selection menu now works in Timeline View
The selection menu's "Listen" button wasn't working in Timeline View because
the character-to-timestamp mapping was incorrectly counting text from timestamp
and speaker name elements.

Changes:
- Add data-transcript-text attribute to transcript text containers
- Update TreeWalker in useSelectionMenu to only count text inside these marked elements

This fixes the character index calculation so word timestamps are correctly looked up.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 12:20:07 -08:00
Fran Fitzpatrick
1dedde96a8 feat: fix auto-scroll and add active segment highlighting in Timeline View
The "Auto Scroll On" feature was broken because it relied on a word-level ref
that was never assigned. This fix implements segment-level auto-scroll for
Timeline View.

Changes:
- Enable autoScrollEnabled prop usage in TranscriptView
- Add activeSegmentIndex computation to track current playback position
- Add auto-scroll effect that scrolls to active segment on segment change
- Add subtle background highlight to indicate the currently playing segment

The auto-scroll only triggers when:
- Mode is 'expanded' (Timeline View)
- Auto-scroll is enabled
- Audio is playing
- The segment actually changes (debounced to prevent jitter)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 12:19:23 -08:00
rishikanthc
efff1a3a7c fix: use Literata font for all transcripts
Changed from font-inter to font-literata to ensure consistent
typography across all transcript views regardless of model used.
2025-12-31 15:47:19 -08:00
rishikanthc
7df90246d5 fix: resolve hooks violation and lint errors in TranscriptView 2025-12-15 22:29:41 -08:00
rishikanthc
b5148643b1 fix: make text selecton on mobile devices robust - position floating pill menu 2025-12-14 19:09:52 -08:00
rishikanthc
5b2d154262 fix: text selection on mobile devices - actions on selection ranges 2025-12-14 19:09:52 -08:00
rishikanthc
789a9be6de feat: ui refinements and settings reactivity
- Replace status pills with icons in Audio Detail view
- Make settings changes (summary profiles) reactive
- Update karaoke highlight to use text accent color
- Remove transcription card styling on mobile
- Remove Scriberr logo from chat panel
2025-12-14 19:09:52 -08:00
rishikanthc
c33197752b fix: disable click-to-seek handlers on mobile devices
- Prevent interference with native text selection on touch devices
- Remove click listeners for timestamps/words when isMobile is true
2025-12-14 19:09:52 -08:00
rishikanthc
67648c7c3a fix: enable granular text selection on mobile devices
- Add 'select-text' utility to transcript containers
- Override default touch selection behavior
2025-12-14 19:09:52 -08:00
rishikanthc
5b527fcf2c feat: update UI fonts and implement karaoke highlight
- Switch transcript font to Literata with improved typography
- Fix audio icon hover visibility in file list
- Implement CSS Highlight API for high-performance karaoke word highlighting
- Update text colors for better contrast
2025-12-14 19:09:52 -08:00
rishikanthc
332fd49e1d fix(transcript): repair active segment detection in Expanded View
- implemented backwards search to find the LATEST started segment

- prevents highlighter from getting stuck on the first segment's last word

- ensures robust highlighting when switching views or seeking
2025-12-14 19:09:52 -08:00
rishikanthc
d9a311bc6b fix(ui): repair missing highlight styles in expanded view
- moved CSS Highlight API style block to global scope so it applies to both compact and expanded views

- fixed syntax error in renderCompactView
2025-12-14 19:09:52 -08:00
rishikanthc
4f9cd1958b feat: implement click-to-seek and selection menu for compact transcript
- implemented hit-testing using caretRangeFromPoint for Click-to-Seek

- rewrote useTranscriptSelection to work with character offsets instead of DOM nodes

- extracted computeWordOffsets to share text mapping logic

- updated TranscriptView to handle Cmd+Click seeking

- updated TranscriptSelectionMenu to use design system tokens
2025-12-14 19:09:52 -08:00
rishikanthc
17871295bd feat: implement CSS Highlight API for high-performance karaoke playback
- Created useKaraokeHighlight hook for performant text highlighting

- Refactored TranscriptView to use single text node + CSS Custom Highlights

- Removed overhead of thousands of span elements in Compact view

- Updated AudioDetailView to prop-drill isPlaying and currentTime
2025-12-14 19:09:52 -08:00
rishikanthc
0312d1d114 fix spacing of transcript segments in timestamp view 2025-12-03 09:55:50 -08:00
rishikanthc
9053bc3604 feat: update accent color to brand orange #fe9a00 2025-12-02 15:23:55 -08:00
rishikanthc
3fa193396c feat: maximize transcript width and add collapsible mobile toolbar 2025-11-30 17:40:20 -08:00
rishikanthc
8e09bcbab5 feat: reduce audio details width and add auto-scroll toggle 2025-11-30 17:27:19 -08:00
rishikanthc
3a8404a1a3 fix: align transcript timestamps to top of row 2025-11-30 17:20:29 -08:00
rishikanthc
4e6a78465e improve darkmode 2025-11-30 11:24:54 -08:00
rishikanthc
ab90ccf591 Refine UI: AudioPlayer layout, AudioDetailView padding/popup, TranscriptView typography, strict gray palette 2025-11-30 11:24:54 -08:00
rishikanthc
af54431281 feat: initial UI/UX improvements (warm minimalist theme) 2025-11-30 11:24:54 -08:00