import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/recommendedProduct_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/product_detail_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:flutter/material.dart';

dynamic languageID;
bool isInWishlist = false;
int price = 0;
var itemID;
var product;
var customerId;

class RecommendedProductPage extends StatefulWidget {
  String productId ;
  RecommendedProductPage({this.productId});

  @override
  _RecommendedProductPageState createState() => _RecommendedProductPageState(productId: productId);
}

class _RecommendedProductPageState extends State<RecommendedProductPage>
    with SingleTickerProviderStateMixin {
  List<RecommendedProductModel> recommendedProductList = [];
  String productId;
  _RecommendedProductPageState({this.productId});
  String id = "";
  bool styleOne = true;
  bool styleTwo = false;
  Icon styleIcon = Icon(
    Icons.widgets_sharp,
    color: Colors.blue,
    size: 29.0,
  );

  getLanguageID() async {
    languageID = await sharedPref.getString(APP_LANGUAGE);
  }

   // String productId = "4561";
 // String productId = "";

  @override
  void initState() {
    checkWishlist();
    userInfo(id, product);
    print("-------------this--------------");
    print(itemID);
  }

  @override
  Widget build(BuildContext context) {
    var size = MediaQuery.of(context).size;
    final double itemHeight = ((size.height - kToolbarHeight - 24) * 0.80) / 2;
    final double itemWidth = size.width / 2;
    return Container();
//      BaseView<PharmacyModuleViewModel>(
//      onModelReady: (model) => model.getRecommendedProducts(productId),
//      builder: (_, model, wi) => AppScaffold(
//        appBarTitle: TranslationBase.of(context).recommended,
//        baseViewModel: model,
//        isShowAppBar: true,
//        isPharmacy: true,
//        backgroundColor: Colors.white,
//        body: SingleChildScrollView(
//          child: Column(children: [
//            Row(
//              mainAxisAlignment: MainAxisAlignment.spaceBetween,
//                children: [
//                  Row(
//                    mainAxisAlignment: MainAxisAlignment.start,
//                    children: [
//                      Container(
//                        padding: EdgeInsets.only(
//                          top: 8,
//                          bottom: 10,
//                          left: 10,
//                        ),
//                        child: Text(
//                          model.recommendedProductList.length.toString(),
//                          style: TextStyle(
//                            color: Colors.black,
//                            fontSize: 14.0,
//                          ),
//                        ),
//                      ),
//                      Container(
//                        padding: EdgeInsets.only(top: 8, bottom: 10, left: 8),
//                        child: Text(
//                          TranslationBase.of(context).result,
//                          style: TextStyle(
//                            color: Colors.black,
//                            fontSize: 14.0,
//                          ),
//                        ),
//                      ),
//                    ],
//                  ),
//                  Row(
//                    mainAxisAlignment: MainAxisAlignment.end,
//                    children: [
//                      Padding(
//                        padding: const EdgeInsets.symmetric(vertical: 8),
//                        child: SizedBox(
//                          child: Container(
//                            width: 1,
//                            color: Colors.grey,
//                          ),
//                        ),
//                      ),
//                      Container(
//                        child: Image.asset(
//                          'assets/images/pharmacy/sort.png',
//                          width: 20,
//                          height: 20,
////                                         color: Colors.red,
//                        ),
//                      ),
//                      Container(
//                        child: Text(
//                          TranslationBase.of(context).sort,
//                          style: TextStyle(
//                            color: Colors.black,
//                            fontSize: 14.0,
//                          ),
//                        ),
//                      ),
//                      Padding(
//                        padding: const EdgeInsets.symmetric(vertical: 8),
//                        child: SizedBox(
//                          child: Container(
//                            width: 1,
//                            color: Colors.grey,
//                          ),
//                        ),
//                      ),
//                      Divider(
//                        thickness: 1.0,
//                        color: Colors.black12,
//                      ),
//                      Padding(
//                        padding: EdgeInsets.all(8.0),
//                        child: InkWell(
//                          child: styleIcon,
//                          onTap: () {
//                            setState(() {
//                              if (styleOne == true) {
//                                styleOne = false;
//                                styleTwo = true;
//                                styleIcon = Icon(
//                                  Icons.auto_awesome_mosaic,
//                                  color: Colors.blue,
//                                  size: 29.0,
//                                );
//                              } else {
//                                styleOne = true;
//                                styleTwo = false;
//                                styleIcon = Icon(
//                                  Icons.widgets_sharp,
//                                  color: Colors.blue,
//                                  size: 29.0,
//                                );
//                              }
//                            });
//                          },
//                        ),
//                      ),
//                    ],
//                  ),
//                ]),
//            SizedBox(
//              height: 2,
//            ),
//            Divider(
//              color: Colors.grey[350],
//              height: 10,
//              thickness: 6,
//              indent: 0,
//              endIndent: 0,
//            ),
//            styleOne == true
//                ? Container(
//                    margin: EdgeInsets.all(5.0),
//                    child: model.recommendedProductList.length != null
//                        ? CustomScrollView(
//                            primary: false,
//                            shrinkWrap: true,
//                            physics: NeverScrollableScrollPhysics(),
//                            slivers: <Widget>[
//                                SliverPadding(
//                                  padding: const EdgeInsets.fromLTRB(0, 0, 0, 0),
//                                  sliver: SliverGrid.count(
//                                    crossAxisCount: 2,
//                                    childAspectRatio: (itemWidth / itemHeight),
//                                    children: model.recommendedProductList
//                                        .map((e) => Card(
//                                                  elevation: 2,
//                                                  shape: RoundedRectangleBorder(
//                                                      side: BorderSide(
//                                                          color: Colors.grey[300],
//                                                          width: 2),
//                                                      borderRadius:
//                                                          BorderRadius.circular(
//                                                              10)),
//                                                  margin: EdgeInsets.symmetric(
//                                                    horizontal: 8,
//                                                    vertical: 11,
//                                                  ),
//                                                  child: Container(
//                                                    decoration: BoxDecoration(
//                                                      borderRadius:
//                                                          BorderRadius.all(
//                                                        Radius.circular(15),
//                                                      ),
//                                                    ),
//                                                    padding: EdgeInsets.symmetric(
//                                                        horizontal: 4),
//                                                    width: MediaQuery.of(context)
//                                                            .size.width / 3,
////
//                                                    child: Column(
//                                                      crossAxisAlignment:
//                                                          CrossAxisAlignment
//                                                              .start,
//                                                      children: [
//                                                        Stack(children: [
//                                                          Container(
//                                                            child: Align(
//                                                                alignment: Alignment.topRight,
//                                                                child: itemID.contains(e.id)
//                                                                  // !isInWishlist
//                                                                        ? IconButton(icon: Icon(Icons.favorite_border),
//                                                                            color: Colors.grey, iconSize: 30,
//                                                                            onPressed:
//                                                                                () {
//                                                                              setState(() {addToWishlistFunction(itemID);
//                                                                              });
//                                                                            },
//                                                                          )
//                                                                        : IconButton(icon: Icon(Icons.favorite),
//                                                                            color: Colors.red, iconSize: 30,
//                                                                            onPressed:
//                                                                                () {setState(() {
//                                                                                deleteFromWishlistFunction(itemID);
//                                                                              });
//                                                                            },
//                                                                          )
////
//                                                                ),
//                                                          ),
//                                                          Container(margin: EdgeInsets.fromLTRB(0, 16, 10, 16),
//                                                            alignment: Alignment.center,
////                                       padding: EdgeInsets.only(left: 25, bottom: 20),
//                                                            child: (e.images != null && e.images.length > 0)
//                                                                ? Image.network(e.images[0].src.toString(),
////                                    item.images[0].src,
//                                                                    fit: BoxFit.cover, height: 60,)
//                                                                : Image.asset("assets/images/no_image.png", fit: BoxFit.cover, height: 60,
//                                                                  ),
//                                                          ),
//                                                          Container(width: e.rxMessage != null ? MediaQuery.of(context)
//                                                                        .size.width / 5 : 0,
//                                                            padding: EdgeInsets.all(4),
//                                                            decoration: BoxDecoration(
//                                                              color: Color(0xffb23838),
//                                                              borderRadius: BorderRadius.only(topLeft: Radius.circular(6)),
//                                                            ),
//                                                            child: Texts(e.rxMessage != null ? e.rxMessage : "",
//                                                              color: Colors.white,
//                                                              regular: true,
//                                                              fontSize: 10,
//                                                              fontWeight: FontWeight.w400,
//                                                            ),
//                                                          ),
//                                                        ]),
//                                                        Container(
//                                                          margin: EdgeInsets
//                                                              .symmetric(horizontal: 6, vertical: 0,
//                                                          ),
//                                                          child: Column(
//                                                            crossAxisAlignment: CrossAxisAlignment.start,
//                                                            children: [
//                                                              Text(
//                                                                languageID == "ar" ? e.namen : e.name,
//                                                                style: TextStyle(
//                                                                  color: Colors.black, fontSize: 13.0,
////                                             fontWeight: FontWeight.bold,
//                                                                ),
//                                                              ),
//                                                              Padding(
////                                          padding: const EdgeInsets.only(top: 15, bottom: 10),
//                                                                padding: const EdgeInsets.only(top: 10, bottom: 5),
//                                                                child: Texts("SAR ${e.price}",
//                                                                  bold: true, fontSize: 14,
//                                                                ),
//                                                              ),
//                                                            ],
//                                                          ),
//                                                        ),
//                                                        Row(
//                                                            crossAxisAlignment: CrossAxisAlignment.start,
//                                                            children: <Widget>[
//                                                              Container(
//                                                                padding: EdgeInsets.only(right: 10),
////                                        margin: EdgeInsets.only(left: 5),
//                                                                child: Align(alignment: Alignment.topLeft,
//                                                                  child: RatingBar.readOnly(initialRating: e.approvedRatingSum.toDouble(),
////                                               initialRating: productRate,
//                                                                    size: 13.0, filledColor: Colors.yellow[700],
//                                                                    emptyColor: Colors.grey[500],
//                                                                    isHalfAllowed: true,
//                                                                    halfFilledIcon: Icons.star_half,
//                                                                    filledIcon: Icons.star,
//                                                                    emptyIcon: Icons.star,
//                                                                  ),
//                                                                ),
//                                                              ),
//                                                              Texts("(${e.approvedTotalReviews.toString()})",
////                                        bold: true,
//                                                                fontSize: 12,
//                                                              ),
//                                                            ]),
//                                                      ],
//                                                    ),
//                                                  ),
//                                                )
//
//                                            )
//                                        .toList(),
//
//                                  ),
//                                ),
//                              ])
//                        : Container(),
//                  )
//                : Container(
//                    height: model.recommendedProductList.length > 0
//                        ? MediaQuery.of(context).size.height * 0.60
//                        : 0,
//                    child: ListView.builder(
//                        physics: ScrollPhysics(),
////                      physics: NeverScrollableScrollPhysics(),
//                        itemCount: model.recommendedProductList.length,
//                        itemBuilder: (context, index) {
//                          return Card(
//                            elevation: 2,
//                            shape: RoundedRectangleBorder(
//                                side: BorderSide(color: Colors.grey[300], width: 2),
//                                borderRadius: BorderRadius.circular(10)),
////
//                            margin: EdgeInsets.symmetric(
//                              horizontal: 8,
//                              vertical: 4,
//                            ),
//                            child: Container(
//                              decoration: BoxDecoration(
//                                borderRadius: BorderRadius.all(
//                                  Radius.circular(15),
//                                ),
//                              ),
//                              padding: EdgeInsets.symmetric(horizontal: 5),
//                              width: MediaQuery.of(context).size.width / 3,
////
//                              child: Column(
//                                crossAxisAlignment: CrossAxisAlignment.start,
//                                children: [
//                                  Stack(children: [
//                                    Container(
//                                      child: Align(
//                                          alignment: Alignment.topRight,
//                                          child: //true
//                                              //wishlistVar[index].id.contains(model.recommendedProductList[index].id)
//                                              !isInWishlist
//                                                  ? IconButton(
//                                                      icon: Icon(Icons.favorite_border),
//                                                      color: Colors.grey,
//                                                      iconSize: 30,
//                                                      onPressed: () {
//                                                        setState(() {
//                                                          addToWishlistFunction(itemID);
//                                                        });
//                                                      },
//                                                    )
//                                                  : IconButton(
//                                                      icon: Icon(Icons.favorite),
//                                                      color: Colors.red,
//                                                      iconSize: 30,
//                                                      onPressed: () {
//                                                        setState(() {
//                                                          deleteFromWishlistFunction(itemID);
//                                                        });
//                                                      },
//                                                    )
////
//                                          ),
//                                    ),
//                                    Container(
//                                      margin: EdgeInsets.fromLTRB(0, 16, 10, 16),
//                                      alignment: Alignment.center,
////                                       padding: EdgeInsets.only(left: 25, bottom: 20),
//                                      child: (model.recommendedProductList[index].images != null &&
//                                          model.recommendedProductList[index].images.length > 0)
//                                          ? Image.network(model.recommendedProductList[index].images[0].src.toString(),
////                                    item.images[0].src,
//                                              fit: BoxFit.cover,
//                                              height: 60,
//                                            )
//                                          : Image.asset("assets/images/no_image.png",
//                                              fit: BoxFit.cover,
//                                              height: 60,
//                                            ),
//                                    ),
//                                    Container(
//                                      width: model.recommendedProductList[index].rxMessage != null
//                                          ? MediaQuery.of(context).size.width / 5
//                                          : 0,
//                                      padding: EdgeInsets.all(4),
//                                      decoration: BoxDecoration(
//                                        color: Color(0xffb23838),
//                                        borderRadius: BorderRadius.only(
//                                            topLeft: Radius.circular(6)),
//                                      ),
//                                      child: Texts(
//                                        model.recommendedProductList[index].rxMessage != null
//                                            ? model.recommendedProductList[index].rxMessage
//                                            : "",
//                                        color: Colors.white,
//                                        regular: true,
//                                        fontSize: 10,
//                                        fontWeight: FontWeight.w400,
//                                      ),
//                                    ),
//                                  ]),
//                                  Container(
//                                    margin: EdgeInsets.symmetric(
//                                      horizontal: 6,
//                                      vertical: 2,
//                                    ),
//                                    child: Column(
//                                      crossAxisAlignment: CrossAxisAlignment.start,
//                                      children: [
//                                        Text(model.recommendedProductList[index].name,
//                                          style: TextStyle(
//                                            color: Colors.black,
//                                            fontSize: 13.0,
////                                             fontWeight: FontWeight.bold,
//                                          ),
//                                        ),
//                                        Padding(
////                                          padding: const EdgeInsets.only(top: 15, bottom: 10),
//                                          padding: const EdgeInsets.only(
//                                              top: 10, bottom: 5),
//                                          child: Texts(
//                                            "SAR ${model.recommendedProductList[index].price}",
//                                            bold: true,
//                                            fontSize: 14,
//                                          ),
//                                        ),
//                                      ],
//                                    ),
//                                  ),
//                                  Row(
//                                      crossAxisAlignment: CrossAxisAlignment.start,
//                                      children: <Widget>[
//                                        Container(
//                                          padding: EdgeInsets.only(
//                                              right: 10, bottom: 10),
////                                        margin: EdgeInsets.only(left: 5),
//                                          child: Align(
//                                            alignment: Alignment.topLeft,
//                                            child: RatingBar.readOnly(
//                                              initialRating: model.recommendedProductList[index].approvedRatingSum.toDouble(),
////                                               initialRating: productRate,
//                                              size: 13.0,
//                                              filledColor: Colors.yellow[700],
//                                              emptyColor: Colors.grey[500],
//                                              isHalfAllowed: true,
//                                              halfFilledIcon: Icons.star_half,
//                                              filledIcon: Icons.star,
//                                              emptyIcon: Icons.star,
//                                            ),
//                                          ),
//                                        ),
//                                        Texts(
//                                          "(${model.recommendedProductList[index].approvedTotalReviews.toString()})",
////                                        bold: true,
//                                          fontSize: 12,
//                                        ),
//                                      ]),
//                                ],
//                              ),
//                            ),
//                          );
//
//                        }),
//                  ),
//          ]),
//        ),
//      ),
//    );
  }
  checkWishlist() async {
    ProductDetailViewModel x = new ProductDetailViewModel();
    await x.checkWishlistData();
    for (int i = 0; i < x.wishListItems.length; i++) {
      // itemID = x.wishListItems[i].id;
      print("-------------wishlist---------------");
      print(itemID);
//      print(product.id);
      print(x.wishListItems[i].productId);
      if (itemID == x.wishListItems[i].productId) {
        isInWishlist = true;
//      print('in wishlist');
        break;
      } else {
        isInWishlist = false;
//      print('not in wishlist');
      }
    }
  }

  Future userInfo(id, product) async {
    customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID);
    if (customerId != null) {
      itemID = id;
      product = product;
      checkWishlist();
    }
    print("customerId:$customerId");
    return customerId;
  }


  addToWishlistFunction(itemID) async {
    ProductDetailViewModel x = new ProductDetailViewModel();
    isInWishlist = true;
    await x.addToWishlistData(itemID, context);
  }

  deleteFromWishlistFunction(itemID) async {
    ProductDetailViewModel x = new ProductDetailViewModel();
    isInWishlist = false;
    await x.addToWishlistData(itemID, context);
  }
}

