diff --git a/lib/routes/route_generator.dart b/lib/routes/route_generator.dart index f749ae8..94014bf 100644 --- a/lib/routes/route_generator.dart +++ b/lib/routes/route_generator.dart @@ -91,7 +91,11 @@ class RouteGenerator { ); case Routes.podcasts: return _createRoute( - Podcasts(viewPodcasts: settings.arguments as bool?), + const Podcasts(viewPodcasts: true), + ); + case Routes.videocasts: + return _createRoute( + const Podcasts(), ); case Routes.radars: return _createRoute( diff --git a/lib/routes/routes.dart b/lib/routes/routes.dart index 5003eb3..08f562f 100644 --- a/lib/routes/routes.dart +++ b/lib/routes/routes.dart @@ -4,6 +4,7 @@ class Routes { static const String radars = '/radars'; static const String news = '/news'; static const String podcasts = '/podcasts'; + static const String videocasts = '/videocasts'; static const String aboutUs = '/about-us'; static const String authenticaion = '/authentication'; static const String profile = '/profile'; diff --git a/lib/views/home/home_state.dart b/lib/views/home/home_state.dart index b8e4e91..cdcde50 100644 --- a/lib/views/home/home_state.dart +++ b/lib/views/home/home_state.dart @@ -185,12 +185,12 @@ class HomeState extends CoreProvier { MenuItemType( label: 'ویدئوکست', asset: Assets.videocast, - link: Routes.podcasts, + link: Routes.videocasts, ), MenuItemType( label: 'پادکست', asset: Assets.podcast, - link: '${Routes.podcasts}/audio', + link: Routes.podcasts, ), ]); diff --git a/lib/views/home/main/main_page.dart b/lib/views/home/main/main_page.dart index c173445..4f0c552 100644 --- a/lib/views/home/main/main_page.dart +++ b/lib/views/home/main/main_page.dart @@ -90,6 +90,16 @@ class _MainPageSection extends StatelessWidget { } } + int _maxSublistCount() { + int max = 1; + for (var i = 0; i < list.contents.length; i++) { + if (list.contents[i].subtitles.length > max) { + max = list.contents[i].subtitles.length; + } + } + return max - 1; + } + @override Widget build(BuildContext context) { final icon = _generateIcon(); @@ -136,7 +146,8 @@ class _MainPageSection extends StatelessWidget { ), if (list.type != 'podcast') DidvanSlider( - height: 260, + height: 260 + + (_maxSublistCount() - (list.type == 'radar' ? 1 : 0)) * 20, itemCount: list.contents.length, viewportFraction: 0.65, itemBuilder: (context, index, realIndex) => Padding( diff --git a/lib/views/home/main/main_page_state.dart b/lib/views/home/main/main_page_state.dart index 2853db0..600cf7b 100644 --- a/lib/views/home/main/main_page_state.dart +++ b/lib/views/home/main/main_page_state.dart @@ -72,8 +72,8 @@ class MainPageState extends CoreProvier { { link = Routes.studioDetails; args = { - type: 'podcast', - id: 'id', + 'type': 'podcast', + 'id': id, }; break; } diff --git a/lib/views/home/main/widgets/general_item.dart b/lib/views/home/main/widgets/general_item.dart index 7fa5650..a082d3d 100644 --- a/lib/views/home/main/widgets/general_item.dart +++ b/lib/views/home/main/widgets/general_item.dart @@ -1,3 +1,5 @@ +import 'dart:math'; + import 'package:didvan/config/theme_data.dart'; import 'package:didvan/constants/app_icons.dart'; import 'package:didvan/models/home_page_content/content.dart'; @@ -40,6 +42,11 @@ class _MainPageGeneralItemState extends State { } else { return DidvanIcons.timer_light; } + case 'startup': + if (index == 0) { + return DidvanIcons.location_light; + } + return DidvanIcons.puzzle_light; default: return DidvanIcons.puzzle_light; } @@ -62,6 +69,7 @@ class _MainPageGeneralItemState extends State { } else { return '${widget.content.subtitles[index]} دقیقه'; } + case 'startup': default: return widget.content.subtitles[index]; } @@ -165,7 +173,13 @@ class _MainPageGeneralItemState extends State { Column( children: [ for (int i = 0; - i < widget.content.subtitles.length; + i < + min( + widget.content.subtitles.length, + widget.type == 'radar' + ? 2 + : widget.content.subtitles.length, + ); i++) _subtitleItem(i, context) ], diff --git a/lib/views/home/widgets/categories.dart b/lib/views/home/widgets/categories.dart index 1200c81..6ca12c6 100644 --- a/lib/views/home/widgets/categories.dart +++ b/lib/views/home/widgets/categories.dart @@ -18,10 +18,7 @@ class MainCategories extends StatelessWidget { state.currentPageIndex = 1; state.tabController.animateTo(1); } else { - Navigator.of(context).pushNamed( - link.contains('audio') ? link.replaceAll('/audio', '') : link, - arguments: link.contains('audio') ? true : null, - ); + Navigator.of(context).pushNamed(link); } }