11 Commits

Author SHA1 Message Date
cc30396b5c Fix behind-the-scenes tag class name and tagType consistency 2026-02-25 09:13:19 -06:00
31c9eff781 Change behind-the-scenes icon from clapperboard to movie camera 2026-02-25 09:10:55 -06:00
eda919c88b Rename commentary tag to behind-the-scenes (Jellyfin compatible) 2026-02-25 09:09:52 -06:00
bfcb1082bf Fix episode arrow buttons and expand test suite to 111 tests 2026-02-25 08:42:52 -06:00
7bd7cdacac Refactor renderer.js into modular class-based architecture
- Split renderer.js into 9 manager classes following SOLID principles:
  * AppState - State management
  * EpisodeManager - Episode numbering and range editing
  * TagManager - File tagging system
  * SearchManager - TheTVDB search integration
  * FileManager - Directory and file operations
  * ModalManager - Video preview modals
  * ProgressManager - Progress display
  * FileListManager - File list rendering and drag/drop
  * UIManager - Main UI coordinator

- Add comprehensive test suite (test-renderer-classes-comprehensive.js)
  with 100+ tests covering all business logic
- Fix drag/drop handler 'this' binding issues
- Add CSS for highlighted episodes and improved file list styling
- Restore all original functionality including episode cascading,
  tagging system, TVDB search, and Jellyfin naming
2026-02-25 02:47:35 -06:00
be887c3855 Refactor renderer.js into modular class-based structure
- Split large renderer.js file into 8 separate class files:
  - AppState.js: Manages application state
  - FileListManager.js: Handles file list display and manipulation
  - TagManager.js: Manages file tagging functionality
  - EpisodeManager.js: Handles episode number editing and highlighting
  - SearchManager.js: Manages TVDB search and show selection
  - FileManager.js: Handles file operations
  - ModalManager.js: Manages video preview modal
  - ProgressManager.js: Manages progress display
  - UIManager.js: Main coordinator for UI functionality
- Follows SOLID principles and single responsibility
- Improves code maintainability and testability
- All syntax verified with node --check
2026-02-25 02:32:08 -06:00
98d6810066 Fix play button, add progress spinner, folder navigation, and UI improvements 2026-02-22 01:38:48 -06:00
b8acd99a56 Split quality and frame rate into separate columns. Files now display quality and fps in separate columns for cleaner presentation. 2026-02-18 21:33:49 -06:00
65988a942e Added quality column feature. Files now display quality information like 1080p30fps or 720p60fps. Enhanced error handling for problematic files with visual labeling and quality extraction. 2026-02-18 21:32:35 -06:00
ac2248d7ed Enhanced error handling for problematic files with visual labeling. Fixed ffprobe issues with files like IGPX - The Complete Stage - Disc 2_t08.mkv. Added ⚠️ label for files that fail to process. Application now continues working normally even when encountering problematic media files. 2026-02-18 21:27:04 -06:00
15d0555db0 Add ffmpeg integration for video duration detection and display in mm:ss format 2026-02-18 20:52:55 -06:00