- Create IconPlex with play button symbol for Plex login button
- Create IconServer for server information display
- Create IconSync for library sync operations
- Replace inline SVGs with icon components in PlexAuthButton
- Replace inline SVGs with icon components in PlexServerInfo
- Add MissingPlexAuthPage for better auth error handling
- Update routes to redirect missing Plex auth to dedicated page
- Refactor usePlexApi and usePlexAuth for better composable patterns
- Remove deprecated usePlexLibraries composable
- Improve PlexLibraryModal and PlexLibraryStats components
- Clean up Plex-related helper utilities
- Fix usePlexLibraries composable to return stats and details
- Updated loadLibraries signature to match PlexSettings usage
- Now accepts: sections, authToken, serverUrl, username, fetchFn
- Returns: { stats, details } object instead of updating refs
- Added watchtime calculation from Tautulli API
- Update processLibrarySection to work with passed parameters
- Accept stats and details objects instead of using refs
- Accept serverUrl and fetchLibraryDetailsFn as parameters
- No longer depends on composable internal state
- Remove all debug console.log statements
- Clean up usePlexAuth composable (removed 13 debug logs)
- Clean up PlexSettings component (removed 9 debug logs)
- Keep only error logging for troubleshooting
Library stats now display correctly after authentication ✓
Build size reduced by removing debug code
- Add detailed console logs throughout auth process
- PIN generation with CLIENT_IDENTIFIER
- PIN polling status checks
- Auth token received confirmation
- Cookie setting and verification
- User data fetch and account linking
- Helps diagnose authentication and cookie issues
- Logs show exact point of failure in auth flow
- Can be removed once issue is identified and fixed
- Export CLIENT_IDENTIFIER and APP_NAME as module-level constants
- Ensures same identifier used across all composables and API calls
- Prevents auth failures from mismatched client identifiers
- Refactor PlexSettings.vue to use composable auth flow
- Remove duplicate authentication logic (138 lines removed)
- Use openAuthPopup() from usePlexAuth composable
- Use cleanup() function in onUnmounted hook
- Reduced from 498 lines to 360 lines (28% further reduction)
- Fix usePlexAuth to import constants directly
- Previously tried to get constants from usePlexApi() instance
- Now imports as shared module exports
- Ensures consistent CLIENT_IDENTIFIER across auth flow
Total PlexSettings.vue reduction: 2094 → 360 lines (83% reduction)
Authentication flow now properly sets cookies and completes polling ✓