diff --git a/lib/pages/home/news/news.dart b/lib/pages/home/news/news.dart index 1a00756..337c4a6 100644 --- a/lib/pages/home/news/news.dart +++ b/lib/pages/home/news/news.dart @@ -2,7 +2,6 @@ import 'package:didvan/constants/app_icons.dart'; import 'package:didvan/pages/home/news/widgets/news_item.dart'; import 'package:didvan/pages/home/radar/widgets/search_field.dart'; import 'package:didvan/pages/home/widgets/logo_app_bar.dart'; -import 'package:didvan/widgets/didvan/card.dart'; import 'package:flutter/material.dart'; class News extends StatelessWidget { diff --git a/lib/pages/home/radar/radar_details/radar_details.dart b/lib/pages/home/radar/radar_details/radar_details.dart index 8e63b8e..76d3861 100644 --- a/lib/pages/home/radar/radar_details/radar_details.dart +++ b/lib/pages/home/radar/radar_details/radar_details.dart @@ -1,4 +1,7 @@ import 'package:didvan/widgets/didvan/page_view.dart'; +import 'package:didvan/widgets/didvan/text.dart'; +import 'package:didvan/widgets/floating_navigation_bar.dart'; +import 'package:didvan/widgets/skeletun_image.dart'; import 'package:flutter/material.dart'; class RadarDetails extends StatelessWidget { @@ -7,7 +10,65 @@ class RadarDetails extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( - body: DidvanPageView(), + body: Stack( + children: [ + DidvanPageView( + pages: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SkeletonImage( + imageUrl: 'https://wallpapercave.com/wp/wp9373116.jpg', + width: double.infinity, + height: 200, + ), + const SizedBox(height: 20), + for (var i = 0; i < 10; i++) + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Builder( + builder: (context) { + switch (i) { + case 0: + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + DidvanText( + 'تحلیل شکاف فناوری صنعت فولاد ایران', + style: + Theme.of(context).textTheme.bodyText1, + ), + const SizedBox(height: 8), + const DidvanText( + 'پایگاه خبری معدن نیوز - 2 ساعت پیش', + ), + const SizedBox(height: 8), + ], + ); + default: + return const Padding( + padding: EdgeInsets.only(bottom: 8), + child: DidvanText( + 'این سایت امروز (شنبه) تیم منتخب قاره آسیا در سال ۲۰۲۱ میلادی را معرفی کرد که از ایران، سردار آزمون و محمد حسین کنعانی‌زادگان در ترکیب اصلی و مهدی طارمی و سیدمجید حسینی در جمع بازیکنان ذخیره دیده می‌شوند.', + ), + ); + } + }, + ), + ), + const SizedBox(height: 20), + ], + ), + ], + ), + const Positioned( + bottom: 0, + left: 0, + right: 0, + child: FloatingNavigationBar(), + ), + ], + ), ); } } diff --git a/lib/widgets/didvan/page_view.dart b/lib/widgets/didvan/page_view.dart index 644740b..6ecc97f 100644 --- a/lib/widgets/didvan/page_view.dart +++ b/lib/widgets/didvan/page_view.dart @@ -1,94 +1,38 @@ import 'package:carousel_slider/carousel_slider.dart'; import 'package:didvan/widgets/didvan/card.dart'; -import 'package:didvan/widgets/didvan/text.dart'; -import 'package:didvan/widgets/floating_navigation_bar.dart'; -import 'package:didvan/widgets/skeletun_image.dart'; import 'package:flutter/material.dart'; class DidvanPageView extends StatelessWidget { - const DidvanPageView({Key? key}) : super(key: key); + final List pages; + const DidvanPageView({Key? key, required this.pages}) : super(key: key); @override Widget build(BuildContext context) { final double deviceTopPadding = MediaQuery.of(context).padding.top; - return Stack( - children: [ - CarouselSlider.builder( - itemCount: 5, - options: CarouselOptions( - height: double.infinity, - initialPage: 1, - viewportFraction: 0.94, - enableInfiniteScroll: false, + return CarouselSlider.builder( + itemCount: 5, + options: CarouselOptions( + height: double.infinity, + initialPage: 2, + viewportFraction: 0.94, + enableInfiniteScroll: false, + ), + itemBuilder: (context, index, realIndex) => SizedBox( + height: MediaQuery.of(context).size.height, + child: SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: EdgeInsets.only( + left: 4, + right: 4, + top: 16 + deviceTopPadding, ), - itemBuilder: (context, index, realIndex) => Padding( - padding: EdgeInsets.only( - left: 4, - right: 4, - top: 16 + deviceTopPadding, - ), - child: DidvanCard( - padding: EdgeInsets.zero, - enableBorder: false, - child: CustomScrollView( - slivers: [ - const SliverAppBar( - automaticallyImplyLeading: false, - expandedHeight: 200, - flexibleSpace: SkeletonImage( - imageUrl: 'https://wallpapercave.com/wp/wp9373116.jpg', - width: double.infinity, - height: double.infinity, - ), - ), - SliverPadding( - padding: const EdgeInsets.symmetric( - vertical: 20, horizontal: 16), - sliver: SliverList( - delegate: SliverChildBuilderDelegate( - (context, index) { - switch (index) { - case 0: - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - DidvanText( - 'تحلیل شکاف فناوری صنعت فولاد ایران', - style: - Theme.of(context).textTheme.bodyText1, - ), - const SizedBox(height: 8), - const DidvanText( - 'پایگاه خبری معدن نیوز - 2 ساعت پیش', - ), - const SizedBox(height: 8), - ], - ); - default: - return const Padding( - padding: EdgeInsets.only(bottom: 8), - child: DidvanText( - 'این سایت امروز (شنبه) تیم منتخب قاره آسیا در سال ۲۰۲۱ میلادی را معرفی کرد که از ایران، سردار آزمون و محمد حسین کنعانی‌زادگان در ترکیب اصلی و مهدی طارمی و سیدمجید حسینی در جمع بازیکنان ذخیره دیده می‌شوند.', - ), - ); - } - }, - childCount: 10, - ), - ), - ), - ], - ), - ), + child: DidvanCard( + padding: EdgeInsets.zero, + enableBorder: false, + child: pages[0], ), ), - const Positioned( - left: 0, - right: 0, - bottom: 0, - child: FloatingNavigationBar(), - ), - ], + ), ); } }