feat: add dashboard insights section with media statistics and status cards showing file counts, missing items, and monitoring status
Add dashboard_stats dictionary to index() route calculating movie/episode totals, available files, missing items, and downloading counts. Pass stats to template for dashboard insights display. Add dashboard-insights CSS grid with 4 insight cards showing media availability (movies/episodes), monitoring status, and live updates. Each card has color-coded icon with
This commit is contained in:
1 parent
f63ba5381b
commit
bcefa02c32
2 files changed
+13
-2
No files matched your search
@@ -309,8 +309,19 @@ def index():
|
||||
episodes = [episode for episode in group["episodes"] if is_german_review_candidate(episode) and not has_german_track(episode)]
|
||||
if episodes:
|
||||
missing_german_series.append({**group, "episodes": episodes})
|
||||
dashboard_stats = {
|
||||
"movie_total": len(rows),
|
||||
"movie_files": sum(1 for row in rows if not row.get("missing")),
|
||||
"movie_missing": sum(1 for row in rows if row.get("missing") and not row.get("downloading")),
|
||||
"movie_downloading": sum(1 for row in rows if row.get("downloading")),
|
||||
"series_total": len(series),
|
||||
"episode_total": sum(len(group["episodes"]) for group in series),
|
||||
"episode_files": sum(1 for group in series for row in group["episodes"] if not row.get("missing")),
|
||||
"episode_missing": sum(1 for group in series for row in group["episodes"] if row.get("missing") and not row.get("downloading")),
|
||||
}
|
||||
return render_template("index.html", rows=rows, series=series, missing_german_movies=missing_german_movies,
|
||||
missing_german_series=missing_german_series, error=error,
|
||||
dashboard_stats=dashboard_stats,
|
||||
sonarr_enabled=bool(SONARR_URL and SONARR_API_KEY), sab_enabled=bool(SAB_URL and SAB_API_KEY),
|
||||
radarr_media_path=RADARR_MEDIA_PATH, local_media_path=LOCAL_MEDIA_PATH,
|
||||
local_series_path=LOCAL_SERIES_PATH)
|
||||
|
||||
Reference in new issue
Block a user