import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/product_detail_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:rating_bar/rating_bar.dart';

class ReviewsInfo extends StatelessWidget {
  final PharmacyProduct product;
  final ProductDetailViewModel previousModel;

  const ReviewsInfo({Key key, this.product, this.previousModel})
      : super(key: key);

  @override
  Widget build(BuildContext context) {
    ProjectViewModel projectViewModel = Provider.of(context);
    return previousModel.productDetailService.length != 0 &&
            previousModel.productDetailService[0].reviews.length != 0
        ? ListView.builder(
            physics: ScrollPhysics(),
            itemCount: previousModel.productDetailService[0].reviews.length,
            scrollDirection: Axis.vertical,
            shrinkWrap: true,
            itemBuilder: (BuildContext context, int index) {
              return Padding(
                padding: EdgeInsets.all(8.0),
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.start,
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    Container(
                      child: Row(
                        children: [
                          Expanded(
                            child: Container(
                              child: Text(previousModel.productDetailService[0].reviews[index].customer.firstName != null
                                  && previousModel.productDetailService[0].reviews[index].customer.firstName != null
                                   ? previousModel.productDetailService[0].reviews[index].customer.firstName.toString() + " "
                                    + previousModel.productDetailService[0].reviews[index].customer.lastName.toString()
                                :"",
//                              previousModel.productDetailService[0]
//                                  .reviews[index].customerId
//                                  .toString(),
                                style: TextStyle(
                                    fontSize: 14,
                                    color: Colors.black,
                                    fontWeight: FontWeight.w600),
                              ),
                            ),
                          ),
                          Container(
                         //   margin: EdgeInsets.only(left: 210),
                            child: projectViewModel.isArabic?
                            Align(
                              alignment: Alignment.topLeft,
                              child: RatingBar.readOnly(
                                initialRating: previousModel
                                    .productDetailService[0].reviews[index].rating
                                    .toDouble(),
                                size: 15.0,
                                filledColor: Colors.yellow[700],
                                emptyColor: Colors.grey[500],
                                isHalfAllowed: true,
                                halfFilledIcon: Icons.star_half,
                                filledIcon: Icons.star,
                                emptyIcon: Icons.star,
                              ),
                            ): Align(
                              alignment: Alignment.topRight,
                              child: RatingBar.readOnly(
                                initialRating: previousModel
                                    .productDetailService[0].reviews[index].rating
                                    .toDouble(),
                                size: 15.0,
                                filledColor: Colors.yellow[700],
                                emptyColor: Colors.grey[500],
                                isHalfAllowed: true,
                                halfFilledIcon: Icons.star_half,
                                filledIcon: Icons.star,
                                emptyIcon: Icons.star,
                              ),
                            ),
                          ),
                        ],
                      ),
                    ),
                    SizedBox(
                      height: 10,
                    ),
                    Padding(
                      padding: const EdgeInsets.all(8.0),
                      child: Container(
                        child: Text(
                          previousModel
                              .productDetailService[0].reviews[index].replyText,
                          style: TextStyle(fontSize: 20),
                        ),
                      ),
                    ),
                    SizedBox(
                      height: 50,
                    ),
                    Divider(height: 1, color: Colors.grey),
                  ],
                ),
              );
            },
            )
        : Container(
            padding: EdgeInsets.fromLTRB(15,15,15,20),
            margin:  EdgeInsets.only(bottom: 40),
            alignment: Alignment.center,
            child: Text(
              TranslationBase.of(context).noReviewsAvailable,
            ),
//                                            Text('No Reviews Available'),
          );
  }
}
