import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/contactus/get_hmg_locations.dart';
import 'package:diplomaticquarterapp/core/viewModels/contactus/findus_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:giffy_dialog/giffy_dialog.dart';
import 'package:maps_launcher/maps_launcher.dart';
import 'package:url_launcher/url_launcher.dart';

class PharmaciesPage extends StatefulWidget {
  final List<GetHMGLocationsModel> findusPharmaciesModelList;

  PharmaciesPage({Key key, this.findusPharmaciesModelList});
  @override
  _PharmaciesPageState createState() => _PharmaciesPageState();
}

class _PharmaciesPageState extends State<PharmaciesPage> {
  @override
  Widget build(BuildContext context) {
    return AppScaffold(
      body: SingleChildScrollView(
        child: Container(
          margin: EdgeInsets.only(left: 15, right: 15, top: 70),
          child: Column(
            children: [
              ...List.generate(
                  widget.findusPharmaciesModelList.length,
                  (index) => Container(
                        decoration: BoxDecoration(
                          shape: BoxShape.rectangle,
                          border: Border.all(color: Colors.white, width: 0.5),
                          borderRadius: BorderRadius.all(Radius.circular(5)),
                          color: Colors.white,
                        ),
                        child: Padding(
                          padding: const EdgeInsets.all(8.0),
                          child: Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: <Widget>[
                              Row(
                                mainAxisAlignment:
                                    MainAxisAlignment.spaceBetween,
                                children: <Widget>[
                                  Expanded(
                                    child: Row(
                                      mainAxisAlignment:
                                          MainAxisAlignment.spaceBetween,
                                      crossAxisAlignment:
                                          CrossAxisAlignment.center,
                                      children: <Widget>[
                                        InkWell(
                                          onTap: () {
                                            showDialog(
                                                context: context,
                                                builder: (_) =>
                                                    AssetGiffyDialog(
                                                      title: Text(
                                                        widget
                                                            .findusPharmaciesModelList[
                                                                index]
                                                            .locationName,
                                                        style: TextStyle(
                                                            fontSize: 22.0,
                                                            fontWeight:
                                                                FontWeight
                                                                    .w600),
                                                      ),
                                                      image: widget
                                                                  .findusPharmaciesModelList[
                                                                      index]
                                                                  .projectImageURL !=
                                                              null
                                                          ? Image.network(
                                                              widget
                                                                  .findusPharmaciesModelList[
                                                                      index]
                                                                  .projectImageURL,
                                                              fit: BoxFit.cover,
                                                            )
                                                          : Image.network(
                                                              'https://hmgwebservices.com/Images/Hospitals/15.jpg',
                                                              fit: BoxFit.cover,
                                                            ),
                                                      buttonCancelText:
                                                          Text('cancel'),
                                                      // buttonCancelText:Text(model.user.projectID) ,
                                                      buttonCancelColor:
                                                          Colors.grey,
                                                      onlyCancelButton: true,
                                                    ));
                                          },
                                          child: Container(
                                              width: 70,
                                              height: 70,
                                              child: Image.network(widget
                                                          .findusPharmaciesModelList[
                                                              index]
                                                          .projectImageURL !=
                                                      null
                                                  ? widget
                                                      .findusPharmaciesModelList[
                                                          index]
                                                      .projectImageURL
                                                      .toString()
                                                  : 'https://hmgwebservices.com/Images/Hospitals/15.jpg')),
                                        ),
                                        Expanded(
                                          flex: 4,
                                          child: Container(
                                            margin: EdgeInsets.only(
                                                left: 5, right: 5),
                                            child: Column(
                                              crossAxisAlignment:
                                                  CrossAxisAlignment.start,
                                              children: [
                                                Texts(
                                                  '${widget.findusPharmaciesModelList[index].locationName}',
                                                  textAlign: TextAlign.start,
                                                ),
                                                SizedBox(
                                                  height: 4,
                                                ),
                                                Texts(
                                                  '${widget.findusPharmaciesModelList[index].cityName}',
                                                  textAlign: TextAlign.center,
                                                ),
                                              ],
                                            ),
                                          ),
                                        ),
                                        //model.cOCItemList[index].cOCTitl
                                        Expanded(
                                          flex: 2,
                                          child: Row(
                                            children: [
                                              IconButton(
                                                // icon: Icon(
                                                //   Icons
                                                //       .person_pin_circle_outlined,
                                                //   color: Colors.red,
                                                // ),
                                                icon: new Image.asset(
                                                    'assets/images/new-design/navigate.png'),
                                                tooltip: '',
                                                onPressed: () {
                                                  setState(() {
                                                    MapsLauncher.launchCoordinates(
                                                        double.parse(widget
                                                            .findusPharmaciesModelList[
                                                                index]
                                                            .latitude),
                                                        double.parse(widget
                                                            .findusPharmaciesModelList[
                                                                index]
                                                            .longitude),
                                                        widget
                                                            .findusPharmaciesModelList[
                                                                index]
                                                            .locationName);
                                                    //  _volume += 10;
                                                  });
                                                },
                                              ),
                                              IconButton(
                                                // icon: Icon(
                                                //   Icons.phone,
                                                //   color: Colors.red,
                                                // ),
                                                icon: new Image.asset(
                                                    'assets/images/new-design/call.png'),
                                                tooltip: 'I',
                                                onPressed: () {
                                                  setState(() {
                                                    //  _volume += 10;
                                                    launch("tel://" +
                                                        widget
                                                            .findusPharmaciesModelList[
                                                                index]
                                                            .phoneNumber);
                                                  });
                                                },
                                              ),
                                            ],
                                          ),
                                        ),
                                      ],
                                    ),
                                  ),
                                ],
                              ),
                              Divider(
                                height: 4.5,
                                color: Colors.grey[500],
                              )
                            ],
                          ),
                        ),
                      )),
              SizedBox(
                height: 8,
              ),
              Container(
                width: double.infinity,
                height: 100,
                color: Colors.white,
                child: Row(
                  mainAxisSize: MainAxisSize.max,
                  mainAxisAlignment: MainAxisAlignment.spaceAround,
                  children: [
                    IconButton(
                      icon: new Image.asset(
                          'assets/images/new-design/youtube.png'),
                      iconSize: 70,
                      tooltip: 'Youtube',
                      onPressed: () {
                        setState(() {
                          //  _volume += 10;
                          launch(
                              "https://www.youtube.com/c/DrsulaimanAlhabibHospitals");
                        });
                      },
                    ),
                    IconButton(
                      icon: new Image.asset(
                          'assets/images/new-design/linkedin.png'),
                      tooltip: 'LinkedIn',
                      iconSize: 70,
                      onPressed: () {
                        setState(() {
                          launch(
                              "https://www.linkedin.com/company/drsulaiman-alhabib-medical-group");
                        });
                      },
                    ),
                    IconButton(
                      icon: new Image.asset(
                          'assets/images/new-design/twitter.png'),
                      tooltip: 'Twitter',
                      iconSize: 70,
                      onPressed: () {
                        setState(() {
                          launch("https://twitter.com/HMG");
                        });
                      },
                    ),
                    IconButton(
                      icon: new Image.asset(
                          'assets/images/new-design/facebook.png'),
                      tooltip: 'facebook',
                      iconSize: 70,
                      onPressed: () {
                        setState(() {
                          launch(
                              "https://www.facebook.com/DrSulaimanAlHabib?ref=tn_tnmn");
                        });
                      },
                    ),
                  ],
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
