4 Commits

Author SHA1 Message Date
Jarian Cottingham
ec8af7782d fix: Implement proper tagging feature with file movement
- Fix handleTagClick to unselect other tags when selecting new tag
- Add handlePlayButtonClick to move individual tagged files
- Add 'behind-the-scenes' tag support to main.js
- Map tag types to Jellyfin-compatible folder names
- Add comprehensive test coverage (24 new tests)
- Fix displayCreatedFolder folder name mapping issue

This implements the full tagging workflow: tag a file with extra/
behind-the-scenes/delete, then click play button to move it to the
appropriate folder.
2026-02-25 10:13:05 -06:00
Jarian Cottingham
03586ee420 Fix episode arrow buttons and expand test suite to 111 tests 2026-02-25 08:42:52 -06:00
Jarian Cottingham
f0f423c2f1 Update comprehensive test suite with improved mocks
- Improved mock element implementation with proper innerHTML/textContent support
- Added getElementById mock that returns different elements based on ID
- Enhanced querySelectorAll mock for episode number queries
- Fixed isUpdatingEpisodeNumbers test to access property directly
- Tests now show 41/70 passing with improved mocks
2026-02-25 08:15:55 -06:00
Jarian Cottingham
4d7d476a44 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