From cce8625372ffd7e4c2b2cae0dbc50b19f61d6020 Mon Sep 17 00:00:00 2001 From: Michael SCHAL Date: Wed, 10 Dec 2025 13:36:24 +0100 Subject: [PATCH] v1.0.4: Fix season chip visibility in light mode --- .../screens/mobile_series_detail_screen.dart | 51 +++++++++++-------- .../iptv/widgets/mobile_settings_tab.dart | 2 +- 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/lib/mobile/features/iptv/screens/mobile_series_detail_screen.dart b/lib/mobile/features/iptv/screens/mobile_series_detail_screen.dart index b2c5b41..1c5f8d1 100644 --- a/lib/mobile/features/iptv/screens/mobile_series_detail_screen.dart +++ b/lib/mobile/features/iptv/screens/mobile_series_detail_screen.dart @@ -205,29 +205,36 @@ class _MobileSeriesDetailScreenState extends ConsumerState const SizedBox(width: 8), - itemBuilder: (context, index) { - final seasonNum = _seriesInfo!.episodes.keys.elementAt(index); - final isSelected = seasonNum == _selectedSeason; - return ChoiceChip( - label: Text('Season $seasonNum'), - selected: isSelected, - onSelected: (selected) { - if (selected) setState(() => _selectedSeason = seasonNum); + child: Builder( + builder: (context) { + final isDark = Theme.of(context).brightness == Brightness.dark; + return ListView.separated( + padding: const EdgeInsets.symmetric(horizontal: 16), + scrollDirection: Axis.horizontal, + itemCount: _seriesInfo!.episodes.keys.length, + separatorBuilder: (_, __) => const SizedBox(width: 8), + itemBuilder: (context, index) { + final seasonNum = _seriesInfo!.episodes.keys.elementAt(index); + final isSelected = seasonNum == _selectedSeason; + return ChoiceChip( + label: Text('Season $seasonNum'), + selected: isSelected, + onSelected: (selected) { + if (selected) setState(() => _selectedSeason = seasonNum); + }, + backgroundColor: isDark ? const Color(0xFF1C1C1E) : Colors.grey.shade300, + selectedColor: isDark ? Colors.white : Colors.blue, + labelStyle: TextStyle( + color: isSelected + ? (isDark ? Colors.black : Colors.white) + : (isDark ? Colors.grey.shade400 : Colors.grey.shade700), + fontWeight: isSelected ? FontWeight.w600 : FontWeight.w400, + ), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + showCheckmark: false, + side: BorderSide.none, + ); }, - backgroundColor: AppColors.surface, - selectedColor: AppColors.primary, - labelStyle: TextStyle( - color: isSelected ? Colors.white : AppColors.textSecondary, - fontWeight: isSelected ? FontWeight.w600 : FontWeight.w400, - ), - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), - showCheckmark: false, - side: BorderSide.none, ); }, ), diff --git a/lib/mobile/features/iptv/widgets/mobile_settings_tab.dart b/lib/mobile/features/iptv/widgets/mobile_settings_tab.dart index 3ad996c..7547deb 100644 --- a/lib/mobile/features/iptv/widgets/mobile_settings_tab.dart +++ b/lib/mobile/features/iptv/widgets/mobile_settings_tab.dart @@ -108,7 +108,7 @@ class _MobileSettingsTabState extends ConsumerState { ), SizedBox(height: 4), Text( - 'Version 1.0.3', + 'Version 1.0.4', style: TextStyle( fontSize: 13, color: AppColors.textSecondary,