import 'package:flutter/material.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:carousel_slider/carousel_slider.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/compare-list.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart'; import 'package:provider/provider.dart'; int counter = 0; class ComparePage extends StatefulWidget { @override _ComparePageState createState() => _ComparePageState(); } //CompareList compareItems = CompareList(); class _ComparePageState extends State { @override Widget build(BuildContext context) { return AppScaffold( appBarTitle: 'Reviews page', isShowAppBar: true, isPharmacy: true, body: Container( child: compareList(), ), ); } } class compareList extends StatelessWidget { @override Widget build(BuildContext context) { final productItemData = Provider.of(context); final productItem = productItemData.productListItems; return productItem.length == 0 ? Container( child: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Padding( padding: const EdgeInsets.all(8.0), child: Image.asset( 'assets/images/new-design/empty_box.png', width: 100, height: 100, fit: BoxFit.cover, ), ), Padding( padding: const EdgeInsets.all(8.0), child: Text( 'There is no data', style: TextStyle(fontSize: 30), ), ) ], ), ), ) : CarouselSlider( options: CarouselOptions( height: 800.0, viewportFraction: 0.87, enableInfiniteScroll: false), items: productItem.map((i) { return Builder( builder: (BuildContext context) { return Padding( padding: const EdgeInsets.only(top: 8), child: Container( width: MediaQuery.of(context).size.width, margin: EdgeInsets.symmetric(horizontal: 10.0), child: productItem.length != 0 ? slideDetail(productItem) : Container(), ), ); }, ); }).toList(), ); } } class slideDetail extends StatefulWidget { final List data; slideDetail(this.data); @override _slideDetailState createState() => _slideDetailState(); } class _slideDetailState extends State { @override Widget build(BuildContext context) { return ListView.builder( scrollDirection: Axis.horizontal, itemCount: widget.data.length, itemBuilder: (BuildContext contx, int index) { return Row( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.center, children: [ Container( height: 550, width: 150, margin: EdgeInsets.symmetric(horizontal: 10.0), decoration: BoxDecoration( borderRadius: BorderRadius.circular(10), border: Border( top: BorderSide(width: 0.5, color: Colors.grey), left: BorderSide(width: 0.5, color: Colors.grey), right: BorderSide(width: 0.5, color: Colors.grey), bottom: BorderSide(width: 0.5, color: Colors.grey), ), color: Colors.white), child: Padding( padding: const EdgeInsets.all(8.0), child: Column( children: [ Container( child: Align( alignment: Alignment.topRight, child: IconButton( icon: Icon(FontAwesomeIcons.trashAlt, size: 15), onPressed: () { setState(() { Provider.of(context, listen: false) .deleteItem(widget.data[index].id); }); }, ), ), ), SizedBox( height: 20, ), Image.network( widget.data[index].images[0].src.trim(), fit: BoxFit.cover, width: 100, height: 60, ), Padding( padding: EdgeInsets.only(top: 8.0), child: Container( height: 1.0, width: 300.0, color: Colors.grey, ), ), Container( margin: EdgeInsets.all(5), child: Align( alignment: Alignment.topLeft, child: RichText( text: TextSpan( text: widget.data[index].name, style: TextStyle( fontWeight: FontWeight.bold, color: Colors.black, fontSize: 13), ), ), ), ), Container( margin: EdgeInsets.all(5), child: Align( alignment: Alignment.topLeft, child: RichText( text: TextSpan( text: widget.data[index].price.toString(), style: TextStyle( color: Colors.black54, fontSize: 15, fontWeight: FontWeight.bold), ), ), ), ), Padding( padding: EdgeInsets.only(top: 8.0), child: Container( height: 1.0, width: 300.0, color: Colors.grey, ), ), Container( margin: EdgeInsets.all(5), child: Align( alignment: Alignment.topLeft, child: RichText( text: TextSpan( text: widget.data[index].specifications != null ? widget.data[index].specifications[0].name : "No data", style: TextStyle( fontWeight: FontWeight.bold, color: Colors.black, fontSize: 13), ), ), ), ), Container( margin: EdgeInsets.all(5), child: Align( alignment: Alignment.topLeft, child: RichText( text: TextSpan( text: widget.data[index].specifications != null ? widget.data[index].specifications[1].name : "No data", style: TextStyle( color: Colors.black54, fontSize: 15, fontWeight: FontWeight.bold), ), ), ), ), Padding( padding: EdgeInsets.only(top: 8.0), child: Container( height: 1.0, width: 300.0, color: Colors.grey, ), ), Container( margin: EdgeInsets.all(5), child: Align( alignment: Alignment.topLeft, child: RichText( text: TextSpan( text:widget.data[index].specifications != null ? widget.data[index].specifications[2].name : "No data", style: TextStyle( fontWeight: FontWeight.bold, color: Colors.black, fontSize: 13), ), ), ), ), Container( margin: EdgeInsets.all(5), child: Align( alignment: Alignment.topLeft, child: RichText( text: TextSpan( text: widget.data[index].specifications != null ? widget.data[index].specifications[3].name : "No data", style: TextStyle( color: Colors.black54, fontSize: 15, fontWeight: FontWeight.bold), ), ), ), ), Padding( padding: EdgeInsets.only(top: 8.0), child: Container( height: 1.0, width: 300.0, color: Colors.grey, ), ), Container( margin: EdgeInsets.all(5), child: Align( alignment: Alignment.topLeft, child: RichText( text: TextSpan( text:widget.data[index].specifications != null ? widget.data[index].specifications[4].name : "No data", style: TextStyle( fontWeight: FontWeight.bold, color: Colors.black, fontSize: 13), ), ), ), ), Container( margin: EdgeInsets.all(5), child: Align( alignment: Alignment.topLeft, child: RichText( text: TextSpan( text:widget.data[index].specifications != null ? widget.data[index].specifications[5].name : "No data", style: TextStyle( color: Colors.black54, fontSize: 15, fontWeight: FontWeight.bold), ), ), ), ), Padding( padding: EdgeInsets.only(top: 8.0), child: Container( height: 1.0, width: 300.0, color: Colors.grey, ), ), ], ), ), ), ], ); }, ); } } String returnString(data) { for (int i = 0; i < data.length; i++) { print(data[i]); // if(data[i] == null){ // if(counter == i){ // // } // } } return "ENAD HILAL"; }