chore: update watchlist features and fixes
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
# JavaScript Duplication Audit Report
|
||||
|
||||
**Generated:** 2026-02-26
|
||||
**Scope:** static/js/**/*.js (13 files)
|
||||
**Files Audited:** api.js, utils.js, auth.js, main.js, tabs.js, anime.js, series-search.js, downloads.js, watchlist/main.js, anime-details.js, recommendations.js, watchlist.js, watchlist-ui.js
|
||||
|
||||
---
|
||||
|
||||
## CRITICAL DUPLICATIONS (Potential Syntax Errors)
|
||||
|
||||
### 1. translateStatus() Function - DUPLICATED DEFINITION
|
||||
- **File 1:** `static/js/utils.js:35` - Primary definition
|
||||
- **File 2:** `static/js/anime-details.js:428` - Duplicate definition
|
||||
|
||||
**Impact:** HIGH - If both files are loaded, the second definition will overwrite the first, causing unpredictable behavior. The utils.js version is used by downloads.js and recommendations.js, while anime-details.js has its own localized version.
|
||||
|
||||
**Recommendation:** Remove duplicate in anime-details.js and ensure anime-details.js imports from utils.js
|
||||
|
||||
---
|
||||
|
||||
## MINOR DUPLICATIONS (Non-Breaking)
|
||||
|
||||
### 2. Redundant const Declarations in Same Function Scope (Different Functions)
|
||||
|
||||
#### auth.js - Duplicate variable declarations across functions
|
||||
- `mainContent` declared at line 70 and line 76 (in different functions showMainContent/hideMainContent)
|
||||
- `userInfo` declared at line 57 and line 82 (in showUserInfo/showLoginPrompt)
|
||||
- `loginPrompt` declared at line 58 and line 83
|
||||
- `mainTabs` declared at line 59 and line 84
|
||||
|
||||
**Impact:** LOW - These are in different function scopes, not causing syntax errors but creating redundant code
|
||||
|
||||
#### recommendations.js - Duplicate variable names in different functions
|
||||
- `container` declared at lines 5, 54, 105 (in different functions)
|
||||
- `section` declared at lines 6, 55 (in different functions)
|
||||
|
||||
**Impact:** LOW - Different function scopes
|
||||
|
||||
#### tabs.js - Duplicate container variable
|
||||
- `container` declared at lines 115, 152, 160, 178, 186, 235, 252, 329
|
||||
|
||||
**Impact:** LOW - Different function scopes
|
||||
|
||||
#### anime.js - Duplicate variable names across functions
|
||||
- `selectElement` declared at lines 156, 245, 253, 261, 307, 352
|
||||
- `seasonSelectElement` declared at lines 156, 245
|
||||
- `actionsDiv` declared at lines 287, 325
|
||||
|
||||
**Impact:** LOW - Different function scopes
|
||||
|
||||
---
|
||||
|
||||
## PATTERN OBSERVATIONS
|
||||
|
||||
### Utility Functions Shared Across Files
|
||||
The following functions are defined once but used across multiple files:
|
||||
- `escapeHtml()` - Defined in utils.js:26, used in 8 files
|
||||
- `translateStatus()` - DEFINED TWICE (CRITICAL ISSUE)
|
||||
- `formatBytes()` - Defined in utils.js
|
||||
- `formatSpeed()` - Defined in utils.js
|
||||
- `extractSeriesName()` - Defined in utils.js
|
||||
- `getDayString()` - Defined in utils.js
|
||||
|
||||
### Cross-File Function Usage
|
||||
- `renderReleaseCard()` - Defined in recommendations.js:195, called in tabs.js:171
|
||||
- `renderAnimeCard()` - Defined in anime.js:58, called in anime-details.js
|
||||
- `loadDownloads()` - Defined in downloads.js, called from multiple files
|
||||
|
||||
---
|
||||
|
||||
## SUMMARY
|
||||
|
||||
| Severity | Count | Issue |
|
||||
|----------|-------|-------|
|
||||
| CRITICAL | 1 | translateStatus() defined twice (utils.js + anime-details.js) |
|
||||
| MINOR | 4+ | Redundant const declarations across functions (auth.js) |
|
||||
| MINOR | 3+ | Duplicate container/section variables (recommendations.js, tabs.js, anime.js) |
|
||||
|
||||
---
|
||||
|
||||
## RECOMMENDATIONS
|
||||
|
||||
1. **FIX CRITICAL:** Remove duplicate `translateStatus()` from anime-details.js and use the version from utils.js
|
||||
2. **Consider:** Consolidating utility functions into a single utils module that all files import
|
||||
3. **Future Cleanup:** Review auth.js for redundant variable declarations (minor optimization)
|
||||
|
||||
---
|
||||
|
||||
## VERIFICATION
|
||||
|
||||
Audit completed: 13 JavaScript files scanned
|
||||
Duplicate function definitions: 1 CRITICAL
|
||||
Redundant const declarations: Multiple (non-critical)
|
||||
Reference in New Issue
Block a user