Commit Graph

252 Commits

Author SHA1 Message Date
rishikanthc
f948857d60 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-12 14:26:50 -08:00
rishikanthc
13f3bee1f5 feat: refactor bulk selection UX
- Remove checkbox column from audio files table
- Implement Shift+Click range selection logic for desktop
- Implement Long-Press selection logic for mobile
- Add 'Clear Selection' button to floating action bar
- Add useLongPress hook
2025-12-12 14:02:33 -08:00
rishikanthc
7065a6df1b feat: implement per-job SSE for real-time status updates
- Implement SSE Broadcaster with job-based subscription support
- Add /api/v1/events endpoint for SSE streaming
- Update transcription service and handlers to broadcast job events
- Implement frontend per-job SSE connection logic
- Remove legacy polling from audio list hooks
- Fix server shutdown deadlock issue
2025-12-12 13:37:44 -08:00
rishikanthc
bba3e102b2 make bulk actions selection more accessible 2025-12-12 12:53:59 -08:00
rishikanthc
abc97c003a because i was dumb enough to not look at code 2025-12-12 12:07:58 -08:00
rishikanthc
74a428e7fa fix: search on homepage - change fonts - fix minor details in dashbaord 2025-12-12 12:04:24 -08:00
rishikanthc
36cad7fa08 fix button consistency and reorder card status and actions 2025-12-12 11:24:13 -08:00
rishikanthc
b957f32026 feat(ui): visual polish and layout refinements
- AudioFilesTable: Implemented 'Right-Side Cluster' layout (Status + Actions)
- AudioFilesTable: Updated audio icons to rounded-xl with pastel tint
- AudioFilesTable: Replaced text status pills with minimal icons
- AudioFilesTable: Removed duration display as requested
- Header: Updated 'Jewel' Add Button to rounded-xl
- Global: Applied 'rounded square' aesthetic to match design system
2025-12-12 11:19:00 -08:00
rishikanthc
54d477f9a8 Standardize Layout: Introduce MainLayout & Apply to Core Views
- **MainLayout**: New component enforcing 960px centered column & consistent header spacing.
- **Header**: Moved Border logic to allow cleaner template usage (removed bottom border from layout container manually).
- **Refactors**:
    - **Dashboard**: Adopted `MainLayout`.
    - **Settings**: Adopted `MainLayout`.
    - **AudioDetails**: Aligned Left Pane to `MainLayout` specs.
2025-12-12 10:03:33 -08:00
rishikanthc
9d40978892 Sidebar Polish: Overlay Actions, Custom Delete Dialog & Improved Search
- **Session Cards**: Actions are now hover-only overlays; removed message count.
- **Delete Dialog**: Replaced browser confirm with custom AlertDialog.
- **Search**: Improved input visibility and focus styles.
2025-12-12 09:43:39 -08:00
rishikanthc
547a5c174a UI Polish: Improve Split-View Resizer & consolidate Chat Button
- **Resizer**: Increased hit area for easier grabbing; added visual hover state.
- **Split View**: Removed shadow causing visual gap; reduced to single pixel border.
- **Chat Button**: Consolidated into single responsive button (hidden text on mobile).
2025-12-12 09:33:53 -08:00
rishikanthc
144ea7465f Fix Mobile Layout & Revamp New Chat Dialog
- **Mobile UX**:
  - Added dedicated Chat button to mobile toolbar.
  - Implemented full-screen overlay for mobile chat.
  - Added safe-area padding for mobile inputs.
- **New Chat Dialog**:
  - applied 'Raised White' glassmorphism style.
  - Updated inputs with Orange branding.
  - Used Orange Gradient for primary creation action.
2025-12-11 22:06:47 -08:00
rishikanthc
17b58f869b Polish Chat UI: Refined Styles, Icons & Interactions
- Updated ChatInterface:
  - Replaced 'Bot' icon with 'Sparkles' to better represent AI service.
  - Removed 'Scriberr AI' text label for cleaner look.
  - Applied 'lifted' style (shadow-sm) to message bubbles.
  - Refined input area and Send button with brand colors.
- Updated ChatSessionsSidebar:
  - Implemented 'lifted' card style as default state.
  - Simplified hover effects to maintain position (no translation).
  - Enhanced active state visibility.
2025-12-11 21:50:47 -08:00
rishikanthc
1c95c05d7c Revamp Chat Interface: Split-Screen Integration & UI Refinements
- Integrated chat into AudioDetailView as a resizable split-screen side panel.
- Added ChatSidePanel for managing chat sessions and mobile overlay.
- Removed standalone ChatPage and associated routes.
- Removed 'Open Chat' action from Dashboard; added 'Chat' button to Audio Detail header.
- Refactored ScriberrLogo to export ScriberrIcon for use in the chat header.
- Adjusted global Header to align with main content in split view.
- Updated AudioDetailView layout validation and cleanup.
2025-12-11 21:03:23 -08:00
rishikanthc
ff84ab8417 feat(ui): switch interface to Outfit and refine typography
- Switch primary interface font to 'Outfit' for a premium aesthetic
- Increase font sizes in AudioFilesTable (headers text-sm, cells text-base) to compensate for Outfit's x-height
- Restore bold font weights globally for clearer visual hierarchy
- Update index.html and index.css for optimal font loading and variable definitions
- Fix checkbox padding in audio files table
- Improve bulk actions toolbar responsiveness on mobile
- Update tooltip font sizes for better readability
2025-12-11 19:50:56 -08:00
rishikanthc
2599bac947 more mods 2025-12-11 16:25:12 -08:00
rishikanthc
376ccfe723 fix(ui): resolve dialog sizing and dashboard spacing
- Dashboard: restored spacing between header and table, updated margins

- ExecutionDialog: implemented curated parameter display based on model

- ExecutionDialog: optimized metric cards and timestamp layout for mobile
2025-12-11 16:24:52 -08:00
rishikanthc
f26fbab0f3 because i'm a fkin idiot 2025-12-11 15:10:29 -08:00
rishikanthc
7b3514bc02 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-11 15:09:23 -08:00
rishikanthc
cbfd4debf1 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-11 15:02:31 -08:00
rishikanthc
800a6dab21 fix(perf): optimize karaoke highlight search and tune gap filling
- replaced O(N) linear search with O(logN) binary search for highlight sync

- reduced gap filling threshold from 1.5s to 0.7s to avoid visual lag/stickiness
2025-12-11 14:50:38 -08:00
rishikanthc
a3b84c374f fix(ui): refine selection menu styles and smooth out playback highlighting
- updated TranscriptSelectionMenu to use glassmorphism with better contrast

- updated computeWordOffsets to fill small gaps (<1.5s) between words to prevent playback stuttering
2025-12-11 14:46:42 -08:00
rishikanthc
183a2fbf06 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-11 14:41:46 -08:00
rishikanthc
3dad9ec164 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-11 14:27:42 -08:00
rishikanthc
383fa0c674 feat: stream audio in chunks - new ember player and visualizer 2025-12-11 12:09:26 -08:00
rishikanthc
1902a26279 fix: dark mode issues in audio-details | scrollbar jitter | scrollbar styles 2025-12-11 10:30:04 -08:00
rishikanthc
acba2a2f1c feat: normalize layout width to 960px, fix scrollbar styling and layout shifts 2025-12-11 10:23:18 -08:00
rishikanthc
26310a1353 fix: normalize layout across all views 2025-12-11 10:04:56 -08:00
rishikanthc
fb7d26862d fix: styling inconsistencies and move actins menu to context menu 2025-12-11 09:55:33 -08:00
rishikanthc
11ea544fb1 fix: adjust header and transcript section in audio details view 2025-12-11 09:38:59 -08:00
rishikanthc
47c39d8364 feat: redesign transcript view to match the scriberr design system 2025-12-11 09:21:18 -08:00
rishikanthc
71caa42876 fix: inconsistent button styles 2025-12-11 09:01:37 -08:00
rishikanthc
98ed75ff4c Fix button colors 2025-12-10 22:32:35 -08:00
rishikanthc
286a6ca743 feat: revamp settings page 2025-12-10 21:45:54 -08:00
rishikanthc
c041c6b193 fix: resolve button visibility and tab bar contrast issues 2025-12-10 20:13:39 -08:00
rishikanthc
52edb2de22 feat: standardize dialogs and polish UI components with design tokens 2025-12-10 19:51:42 -08:00
rishikanthc
79ffc6a75d UI Polish: Apply premium design system to Dashboard and Header 2025-12-10 18:02:53 -08:00
rishikanthc
1754c088fa unify dark and light logo 2025-12-10 17:53:05 -08:00
rishikanthc
936be0ef5a Refactor frontend: Migrate to react-router-dom and fix auth persistence
- Replace custom RouterProvider with BrowserRouter.
- Update consumers to use useNavigate, useParams, and useLocation.
- Fix authentication persistence bug by unifying localStorage keys.
- Derive isAuthenticated state in useAuth to ensure correct hydration.
- Organize components into features/settings and features/transcription.
- Clean up unused components and contexts.
2025-12-10 17:27:03 -08:00
rishikanthc
2f1086e857 Refactor Dashboard and AudioFilesTable to use TanStack Query 2025-12-10 15:31:59 -08:00
rishikanthc
32913d22c7 Refactor: Auth - Migrated to feature-based structure, added Zustand store, integrated TanStack Query, and cleaned up AuthContext 2025-12-10 14:58:49 -08:00
rishikanthc
5e7cd8e97a Add text logo 2025-12-10 14:24:44 -08:00
rishikanthc
b6e4ac3fdb fix: nvidia models incorrect pyproject.toml generation 2025-12-10 13:50:08 -08:00
ET
91af22bfd8 Configurable OpenAI API Base URL
Fix for enhancement issue #194

Added option to use custom OpenAI API base URL.

If not configured the default OpenAI API base URL (https://api.openai.com/v1) will be used.

Does not change current behavior of apiKey, i.e if apiKey is already configured it will not have to be re-entered when modifying base URL.
2025-12-06 12:32:03 -08:00
Edris
1c1b7f8c12 UI part of custom alignment model option 2025-12-06 12:31:49 -08:00
rishikanthc
0312d1d114 fix spacing of transcript segments in timestamp view 2025-12-03 09:55:50 -08:00
rishikanthc
a33bcc63fa feat: improve audio player robustness with loading states and optimized fetch 2025-12-02 19:32:43 -08:00
rishikanthc
441a226612 Adjust spacing of components in audio details page 2025-12-02 15:38:29 -08:00
rishikanthc
ee12c35770 style: update audio player progress color to blue 2025-12-02 15:35:08 -08:00
rishikanthc
9053bc3604 feat: update accent color to brand orange #fe9a00 2025-12-02 15:23:55 -08:00