Add German/English language switching with DE/EN toggle button in header. Add settings modal with gear icon button for configuring preferred audio and subtitle languages. Store language and filter preferences in localStorage and auto-apply on page load. Add data-de/data-en attributes to translatable elements and translate table headers, filter placeholders, and navigation labels. Include modal backdrop with
Remove duplicate header z-index:100 declaration and consolidate all z-index and positioning overrides into single style block. Maintain sticky positioning hierarchy with header at z-index:100, series summaries at z-index:30 (top:64px), and season dividers at z-index:29 (top:110px).
Set background-attachment:fixed on body gradient to prevent it from scrolling with content. Add min-height:100vh to body and min-height:100% to html to ensure gradient covers full viewport. Add min-height:calc(100vh - 64px) to main to maintain full-height layout accounting for header.
Update series summary sticky top position from 0 to 64px and add z-index:30 to prevent overlap with fixed header. Update season divider sticky top position to 110px with z-index:29 to stack below series summaries but above content.
Add radial gradient background with accent colors, refined header with backdrop blur and shadow, improved navigation with active state indicator line, enhanced toolbar with focus states and transitions, refined table styling with gradient headers and hover animations, and add rescan button hover lift effect. Include responsive breakpoints for mobile layout adjustments.
Add smooth expand animation with cubic-bezier easing when opening series details. Add rotating chevron indicator (⌄) to series summary that changes color and rotates 180° when expanded. Animation includes fade-in, translateY, and scaleY transform from top center origin.
Set overflow:visible on #seriesList and .series elements to prevent sticky positioning from being clipped. This ensures series summaries remain visible at the top when scrolling through long episode lists.
Add CSS animations for row entries, download pulse effects, and progress bar shimmer. Implement sticky positioning for series summaries and season dividers with backdrop blur effects. Add hover transitions for navigation buttons and badges. Include intersection observer to highlight currently scrolled series with visual indicator. Add prefers-reduced-motion media query for accessibility.
Add visual separators between seasons in series episode tables. Extract season number from episode data and insert divider rows with "Staffel N" labels when season changes. Style dividers with dark background and subtle borders to improve readability of long episode lists.
Replace exact title matching with token-based fuzzy matching that requires 75% of significant tokens (3+ chars) to match. Add "downloading" class to state column and apply purple badge styling to quality column for downloading items. Update download refresh to trigger markDownloading() and initialize download markers on page load.
Add visual indicators to mark movies/series as "Downloading" when they match active SABnzbd downloads. Implement text normalization for matching download titles against media entries, with special handling for series names and episode patterns. Add purple badge/state styling for downloading status and restore original "Keine Datei/Fehler" states when downloads complete.
Add SABnzbd integration to display active and completed downloads with progress tracking, speed monitoring, and automatic language detection from release names. Downloads are matched against Radarr/Sonarr queues to identify source application. Add new Downloads tab in navigation, API endpoint for queue/history data, and auto-refresh every 4 seconds. Include configuration for SAB_URL and SAB_API_KEY in docker-compose and
Add CSS styling for series details elements with border, rounded corners, and dark background. Initialize all series as collapsed by default on page load to improve UI organization for large series lists.
Add Sonarr integration alongside existing Radarr functionality. Implement background ffprobe scanning with ThreadPoolExecutor, progress tracking API, and separate navigation for movies/series. Series are grouped by show with collapsible episodes. Reduce Gunicorn workers to 1, add scan status endpoint, and update README with Sonarr configuration instructions.
Add a Flask-based dashboard for monitoring audio/subtitle languages in Radarr media files. Includes ffprobe integration for media analysis, SQLite caching, path mapping between Radarr and host filesystems, and a responsive web UI with filtering and statistics.