From f1893574478cefb3439da2c60ab2d12d9d740be3 Mon Sep 17 00:00:00 2001 From: baliasnyifeliks Date: Wed, 4 Feb 2026 20:45:19 +0200 Subject: [PATCH] fix(makhno): correct season link generation for multi-season voices The logic for generating voice links was incorrect - it was checking for requested season availability instead of checking if there are multiple seasons available. This caused season lists to not show properly for multi-season voices. The fix ensures that: - Multi-season voices always show the season list to keep filters correct - Single-season voices link directly to that season - The season parameter is correctly set based on the actual number of seasons --- Makhno/Controller.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Makhno/Controller.cs b/Makhno/Controller.cs index 0f68016..b786ded 100644 --- a/Makhno/Controller.cs +++ b/Makhno/Controller.cs @@ -273,16 +273,16 @@ namespace Makhno if (seasonsForVoice.Count == 0) continue; - bool hasRequestedSeason = seasonsForVoice.Any(s => s.Number == requestedSeason); string voiceLink; - if (hasRequestedSeason) + if (seasonsForVoice.Count > 1) { - 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}"; + // Always show season list for multi-season voices to keep filter correct + 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}"; } 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}"; + int onlySeason = seasonsForVoice[0].Number; + voiceLink = $"{host}/makhno?imdb_id={imdb_id}&title={HttpUtility.UrlEncode(title)}&original_title={HttpUtility.UrlEncode(original_title)}&year={year}&serial=1&season={onlySeason}&t={i}"; } bool isActive = selectedVoice == i.ToString(); voice_tpl.Append(voiceName, isActive, voiceLink);