diff --git a/tests/test_video_side_shell.py b/tests/test_video_side_shell.py index 45292cdf..032391bc 100644 --- a/tests/test_video_side_shell.py +++ b/tests/test_video_side_shell.py @@ -207,6 +207,13 @@ def test_video_library_mapping_ui_present_and_video_only(): assert 'body[data-side="video"] #plex-library-selector-container' in css +def test_video_side_hides_music_api_config_and_shows_placeholders(): + css = _CSS_PATH.read_text(encoding="utf-8") + assert 'body[data-side="video"] [data-music-only]' in css # music API hidden on video + assert "data-music-only" in _INDEX # the music API group is marked + assert "TMDB API Key" in _INDEX and "TVDB API Key" in _INDEX # video placeholders + + def test_video_settings_module_referenced_and_isolated(): assert "video/video-settings.js" in _INDEX stripped = _VSETTINGS_JS.strip() diff --git a/webui/index.html b/webui/index.html index 372285af..f9468d4b 100644 --- a/webui/index.html +++ b/webui/index.html @@ -4288,7 +4288,7 @@
-
+

API Configuration

@@ -4739,6 +4739,22 @@
+ +
+

API Configuration

+
+ + + Coming soon — primary movie/TV metadata source. +
+
+ + + Coming soon — TV metadata source. +
+
+

Server Connections

diff --git a/webui/static/video/video-side.css b/webui/static/video/video-side.css index a9f6766c..f3cc27da 100644 --- a/webui/static/video/video-side.css +++ b/webui/static/video/video-side.css @@ -129,6 +129,11 @@ body[data-side="video"] #jellyfin-library-selector-container, body[data-side="video"] #navidrome-folder-selector-container { display: none !important; } +/* Music-only settings sections (e.g. the music API services) are hidden on the + video side; their video counterparts carry data-video-only. */ +body[data-side="video"] [data-music-only] { + display: none !important; +} /* ── Dashboard header: match music, minus the sweep animation ──────────── */ /* The header reuses music's .dashboard-header markup/CSS for an identical look;