blur unseen episode titles

This commit is contained in:
FuzzyGrim
2026-05-24 15:04:33 +02:00
parent c23f0e6c73
commit 4614504e57
2 changed files with 8 additions and 1 deletions

View File

@@ -64,6 +64,9 @@ class MediaDetailsViewTests(TestCase):
@patch("app.providers.tmdb.process_episodes")
def test_season_details_view(self, mock_process_episodes, mock_get_metadata):
"""Test the season details view."""
self.user.obfuscate_unseen_episodes = True
self.user.save(update_fields=["obfuscate_unseen_episodes"])
mock_get_metadata.return_value = {
"title": "Test TV Show",
"media_id": "1668",
@@ -87,6 +90,7 @@ class MediaDetailsViewTests(TestCase):
"media_type": MediaTypes.EPISODE.value,
"season_number": 1,
"episode_number": 1,
"title": "Episode 1",
"name": "Episode 1",
"air_date": "2023-01-01",
"watched": False,
@@ -111,6 +115,7 @@ class MediaDetailsViewTests(TestCase):
self.assertIn("media", response.context)
self.assertEqual(response.context["media"]["title"], "Season 1")
self.assertEqual(len(response.context["media"]["episodes"]), 1)
self.assertContains(response, "line-clamp-1 blur cursor-pointer")
mock_get_metadata.assert_called_once_with(
"tv_with_seasons",

View File

@@ -574,7 +574,9 @@
<div class="flex-1">
<div class="flex justify-between items-start mb-2 space-x-2 px-4">
<div>
<h2 class="text-xl font-semibold mb-1 line-clamp-1">{{ episode.title }}</h2>
<h2 class="text-xl font-semibold mb-1 line-clamp-1 {% if user.obfuscate_unseen_episodes and not episode.history %}blur cursor-pointer{% else %}cursor-text{% endif %}"
:class="{ 'blur': obfuscated, 'cursor-pointer': obfuscated, 'cursor-text': !obfuscated }"
@click="obfuscated = false">{{ episode.title }}</h2>
<p class="text-sm text-gray-400">
Episode {{ episode.episode_number }} • {{ episode.air_date|iso_date_format:request.user|default_if_none:"Unknown air date" }}
{% if episode.runtime %}• {{ episode.runtime }}{% endif %}