Jarian Cottingham
a47857681e
Rename commentary tag to behind-the-scenes (Jellyfin compatible)
2026-02-25 09:09:52 -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
Jarian Cottingham
759139a6f8
Add comprehensive test coverage for renderer class refactoring
...
- Added test-renderer-classes.js with tests for all 8 new class files
- Updated test-functional.js to match new code structure
- All tests passing:
* 4 renderer class tests (AppState, EpisodeManager, ProgressManager, imports)
* 9 audit system tests
* 4 functional tests
- Syntax verified with node --check
2026-02-25 02:33:37 -06:00
Jarian Cottingham
d0c70ca3e2
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
Jarian Cottingham
102167a365
Fix episode range format to include E prefix on both episodes
...
- Changed S05E01-03 to S05E01-E03 (proper format with E prefix on end episode)
- File now names correctly as 'Demon Slayer S05E01-E03 - 1080p.mkv'
2026-02-25 00:34:16 -06:00
Jarian Cottingham
76aa2b905d
Fix show name extraction to remove leading semicolons
...
- Add regex to strip leading semicolons/colons from show folder name
- This fixes filenames like ';Demon Slayer S05E01-03' -> 'Demon Slayer S05E01-03'
2026-02-25 00:33:07 -06:00
Jarian Cottingham
52678d3c47
Fix episode number arrow cascade and remove Update Ranges button
...
- Add isUpdatingEpisodeNumbers flag to prevent re-entrant calls
- Arrow buttons now properly cascade shifts to all subsequent episodes
- Remove Update Ranges button and associated code
- Remove DevTools auto-open for cleaner release
- Syntax validation passes
2026-02-25 00:24:54 -06:00
Jarian Cottingham
ead563ab54
Fix arrow button episode number cascading - all subsequent episodes now shift correctly
2026-02-25 00:17:51 -06:00
Jarian Cottingham
14c1bac5e8
Add Begin Mapping feature with Jellyfin naming, fix tvdbid regex
2026-02-22 03:08:51 -06:00
Jarian Cottingham
f9aee85e4f
Add delete tag, episode count matching indicator, fix season episode counts
2026-02-22 02:33:41 -06:00
Jarian Cottingham
83f3ec4ec4
MKV opens directly in player, improved search results contrast, updated AGENTS.md
2026-02-22 02:04:30 -06:00
Jarian Cottingham
ecf75036ed
Clean up UI with dark theme and improved layout
2026-02-22 01:42:20 -06:00
Jarian Cottingham
13fd64aa9d
Fix play button, add progress spinner, folder navigation, and UI improvements
2026-02-22 01:38:48 -06:00
Jarian Cottingham
7109e1e513
Clean up all duplicate path declarations in main.js
2026-02-21 16:06:16 -06:00
Jarian Cottingham
35f9969c80
Add startup log file creation with error handling
2026-02-21 16:03:47 -06:00
Jarian Cottingham
7813490a72
Fix duplicate path declaration properly
2026-02-21 15:59:15 -06:00
Jarian Cottingham
37d90ab836
Fix duplicate variable declaration in main.js
2026-02-21 15:58:48 -06:00
Jarian Cottingham
5b3f72e7ee
Add debug logging to file moving functionality
2026-02-21 15:58:08 -06:00
Jarian Cottingham
c2cd8986d0
Add comprehensive debugging to move functionality
2026-02-21 15:53:45 -06:00
Jarian Cottingham
51ffed0d2d
Add detailed logging to file moving functionality for debugging
2026-02-21 15:51:42 -06:00
Jarian Cottingham
3794289de5
Fix missing play button click handler and add debugging
2026-02-21 15:50:26 -06:00
Jarian Cottingham
af2814ce2f
Add directory creation feedback and improve move functionality
2026-02-21 15:49:02 -06:00
Jarian Cottingham
d9bf4a5f88
Add functionality to move tagged files to extra/commentary folders
2026-02-21 15:47:48 -06:00
Jarian Cottingham
2450af0a61
Disable play button until item is tagged, instead of hiding it
2026-02-21 15:45:59 -06:00
Jarian Cottingham
d51d85836f
Fix play button shifting with flex layout adjustments
2026-02-21 15:44:53 -06:00
Jarian Cottingham
5852ec908d
Fix play button shifting by pre-allocating space and showing/hiding instead of adding/removing
2026-02-21 15:43:30 -06:00
Jarian Cottingham
493116ad29
Fix play button positioning and remove green background
2026-02-21 15:42:16 -06:00
Jarian Cottingham
3d3cc2b91c
Add play button to media rows when items are tagged
2026-02-21 15:41:08 -06:00
Jarian Cottingham
de136c7d83
Update floating circle to appear at bottom right when tagged items exist
2026-02-21 15:37:45 -06:00
Jarian Cottingham
f744e9b90b
Update floating circle animation to move completely out of sight when no tagged items
2026-02-21 15:37:28 -06:00
Jarian Cottingham
695826db66
Add tagged items counter to floating circle with animation
2026-02-21 15:37:14 -06:00
Jarian Cottingham
0d4da00ee9
Add floating circle to bottom right of app
2026-02-21 15:22:53 -06:00
Jarian Cottingham
31f0ed6b4a
Add AGENTS.md file with project guidelines for agentic coding agents
2026-02-21 15:20:27 -06:00
Jarian Cottingham
80cbe2acd1
Implement video preview feature with centered modal, MKV file support, and improved user experience
2026-02-19 10:40:54 -06:00
Jarian Cottingham
e42c97a0dc
Fix warning sign persistence issue - warning sign now displayed in separate column and doesn't affect actual file names
2026-02-19 10:13:48 -06:00
Jarian Cottingham
7d543f8893
Implement actual file system renaming functionality with updated documentation
2026-02-19 10:11:11 -06:00
Jarian Cottingham
e667dc37c9
Implement mutually exclusive tagging with untagging, fix UI shifting, and add clapper emoji to title
2026-02-19 10:08:11 -06:00
Jarian Cottingham
2549295904
attempts at move to extra
2026-02-19 09:47:06 -06:00
Jarian Cottingham
53ac8272fd
feat: Remove test TVDB API button from UI
2026-02-19 09:23:39 -06:00
Jarian Cottingham
7a2fb5882c
feat: Clear search results when show is selected
2026-02-19 09:21:06 -06:00
Jarian Cottingham
4869cad916
feat: Implement real TVDB v4 API integration with season/episode functionality and clean table display
2026-02-19 09:19:01 -06:00
Jarian Cottingham
d8bbaee977
Refined show details implementation to properly handle season loading
2026-02-18 22:11:58 -06:00
Jarian Cottingham
17a53345eb
Simplified show details implementation to avoid API parameter errors
2026-02-18 22:10:29 -06:00
Jarian Cottingham
3d85f7b84d
Fix TVDB API implementation - use search by ID approach to avoid 'InvalidValueType' error
2026-02-18 22:07:26 -06:00
Jarian Cottingham
b5a6964c1e
Simplified and fixed TVDB API show details implementation - removed problematic fallback code
2026-02-18 22:01:51 -06:00
Jarian Cottingham
1528531643
Further refine TVDB API show details implementation with better error handling
2026-02-18 21:59:32 -06:00
Jarian Cottingham
421e223a6a
Fix TVDB API endpoint issue - corrected show details endpoint
2026-02-18 21:58:12 -06:00
Jarian Cottingham
c1818d4a78
Implement enhanced TVDB v4 API functionality: show seasons and episodes with clickable navigation
2026-02-18 21:56:46 -06:00