From e9a4d19d8cc9d889a8b9fd80f5941d525d77e7d9 Mon Sep 17 00:00:00 2001 From: baliasnyifeliks Date: Wed, 4 Feb 2026 19:54:27 +0200 Subject: [PATCH] fix(makhno): handle season filtering when requested season is unavailable When a requested season is not available in the selected voice, redirect to season list instead of showing foreign seasons. This prevents displaying seasons from other voices that the user may not have access to. --- Makhno/Controller.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Makhno/Controller.cs b/Makhno/Controller.cs index 65512a2..d60b0ba 100644 --- a/Makhno/Controller.cs +++ b/Makhno/Controller.cs @@ -266,11 +266,17 @@ namespace Makhno if (seasonsForVoice.Count == 0) continue; - int seasonNumber = seasonsForVoice.Any(s => s.Number == requestedSeason) - ? requestedSeason - : seasonsForVoice.Min(s => s.Number); - - string voiceLink = $"{host}/makhno?imdb_id={imdb_id}&title={HttpUtility.UrlEncode(title)}&original_title={HttpUtility.UrlEncode(original_title)}&year={year}&serial=1&season={seasonNumber}&t={i}"; + bool hasRequestedSeason = seasonsForVoice.Any(s => s.Number == requestedSeason); + string voiceLink; + if (hasRequestedSeason) + { + voiceLink = $"{host}/makhno?imdb_id={imdb_id}&title={HttpUtility.UrlEncode(title)}&original_title={HttpUtility.UrlEncode(original_title)}&year={year}&serial=1&season={requestedSeason}&t={i}"; + } + else + { + // Force season list for this voice to avoid showing чужі сезони + voiceLink = $"{host}/makhno?imdb_id={imdb_id}&title={HttpUtility.UrlEncode(title)}&original_title={HttpUtility.UrlEncode(original_title)}&year={year}&serial=1&season=-1&t={i}"; + } bool isActive = selectedVoice == i.ToString(); voice_tpl.Append(voiceName, isActive, voiceLink); }