import 'package:feelverapp/ui/favorite/favorite.dart';
import 'package:feelverapp/ui/menu/menu.dart';
import 'package:feelverapp/ui/payment/payment_detail.dart';
import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class Payment extends StatefulWidget {
  @override
  _PaymentState createState() => _PaymentState();
}

class _PaymentState extends State<Payment> {
  @override
  Widget build(BuildContext context) {
    SizeConfig(context);
    return Scaffold(
      body: _setupView(),
      bottomNavigationBar: Container(
        color: Color.fromRGBO(69, 85, 79, 1),
        height: SizeConfig.getWidth(180),
        child: Column(
          children: <Widget>[
            Container(
              margin: EdgeInsets.only(
                left: SizeConfig.getPadding(15),
                top: SizeConfig.getPadding(17),
              ),
              child: Row(
                children: <Widget>[
                  Icon(
                    Icons.local_offer,
                    color: Colors.white,
                  ),
                  Padding(
                    padding: const EdgeInsets.only(left: 7, right: 12),
                    child: Text(
                      'โค้ดส่วนลด',
                      style: TextStyle(
                        color: Colors.white,
                        fontSize: SizeConfig.getFontSize(16),
                      ),
                    ),
                  ),
                  Container(

                    height: SizeConfig.getHeight(40),
                    width: SizeConfig.getWidth(200),
                    color: Colors.white,
                    child: TextField(
                      decoration: InputDecoration(
                        border: InputBorder.none,
                      ),
                    ),
                  ),
                  IconButton(
                      icon: Icon(
                        Icons.keyboard_arrow_right,
                        color: Colors.white,
                        size: 40,
                      ),
                      onPressed: () {}),
                ],
              ),
            ),
            Divider(
              color: Colors.white,
              height: SizeConfig.getHeight(35),
              indent: 20,
              endIndent: 20,
            ),
            Container(
              child: Row(
                children: <Widget>[
                  Spacer(),
                  Container(
                    child: Column(
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: <Widget>[
                        Text(
                          'ยอดชำระเงินทั้งหมด',
                          style: TextStyle(
                            color: Colors.white,
                            fontSize: SizeConfig.getFontSize(14),
                          ),
                        ),
                        Text(
                          '฿2,000',
                          style: TextStyle(
                            color: Color(0xFFEEAFB7),
                            fontSize: SizeConfig.getFontSize(24),
                          ),
                        ),
                      ],
                    ),
                  ),

                  Container(
                    padding: EdgeInsets.only(
                      right: SizeConfig.getPadding(10),
                      left: SizeConfig.getPadding(12),
                    ),
                    child: RaisedButton(
                      shape: RoundedRectangleBorder(
                        borderRadius: BorderRadius.circular(30.0),
                      ),
                      onPressed: () {
                        Navigator.push(
                          context,
                          MaterialPageRoute(
                            builder: (context) => Paymentdetail(),
                          ),
                        );
                      },
                      padding: EdgeInsets.only(
                        left: SizeConfig.getPadding(35),
                        right: SizeConfig.getPadding(35),
                        top: SizeConfig.getPadding(15),
                        bottom: SizeConfig.getPadding(15),
                      ),
                      color: Color(0xFFEEAFB7),
                      child: Text(
                        'ยืนยัน',
                        style: TextStyle(
                          fontSize: SizeConfig.getFontSize(16),
                          color: Colors.white,
                        ),
                      ),
                    ),
                  ),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }

  _setupView() {
    return Column(
      children: <Widget>[
        header(),
        containt(),
      ],
    );
  }

  Widget containt() {
    return Expanded(
      child: SingleChildScrollView(
        padding: EdgeInsets.only(
          left: SizeConfig.getPadding(10),
          right: SizeConfig.getPadding(10),
          top: SizeConfig.getPadding(8),
          bottom: SizeConfig.getPadding(8),
        ),
        child: Container(
//            color: Colors.yellow,
          alignment: FractionalOffset.topLeft,
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[
              Text(
                'เเพ็คเกจที่คุณเลือก',
                style: TextStyle(
                    fontSize: SizeConfig.getFontSize(18),
                    fontWeight: FontWeight.bold),
              ),
              SizedBox(
                height: SizeConfig.getHeight(20),
              ),
              list1(),
              Divider(
                color: Colors.black,
                height: SizeConfig.getHeight(40),
              ),
              list2(),
              Divider(
                color: Colors.black,
                height: SizeConfig.getHeight(40),
              ),
              payment(),
            ],
          ),
        ),
      ),
    );
  }

  Widget list1() {
    return Container(
//      color: Colors.red,
      child: Row(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Image.asset(
            'assets/images/demo_img.png',
            height: SizeConfig.getPadding(90),
            width: SizeConfig.getPadding(80),
            fit: BoxFit.cover,
          ),
          Expanded(
            child: Container(
//              color: Colors.yellow,
              padding: EdgeInsets.only(
                left: SizeConfig.getPadding(8),
              ),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  Text(
                    'Ivory Relax and Spa',
                    style: TextStyle(
                      fontSize: SizeConfig.getFontSize(16),
                      fontFamily: "SF_Pro_Text",
                      fontWeight: FontWeight.bold,
                      color: Colors.black,
                    ),
                  ),
                  SizedBox(
                    height: SizeConfig.getHeight(10),
                  ),
                  Text(
                    'นวดแผนไทย',
                    style: TextStyle(
                      fontSize: SizeConfig.getFontSize(16),
                      fontFamily: "SF_Pro_Text",
                      color: Colors.black,
                    ),
                  ),
                  SizedBox(
                    height: SizeConfig.getHeight(12),
                  ),
                  Container(
//                    color: Colors.orangeAccent,
                    child: Row(
                      children: <Widget>[
                        Text(
                          '฿1,200.00',
                          style: TextStyle(
                            fontSize: SizeConfig.getFontSize(20),
                            color: Color(0xFFFD2956),
                            fontFamily: "SF_Pro_Text",
                            fontWeight: FontWeight.bold,
                          ),
                        ),
                        Spacer(),
                        Text(
                          'X1',
                          style: TextStyle(
                            color: Color(0xFF9D9D9D),
                            fontSize: SizeConfig.getFontSize(20),
                          ),
                        ),
                      ],
                    ),
                  ),
                ],
              ),
            ),
          ),
        ],
      ),
    );
  }

  Widget list2() {
    return Container(
//      color: Colors.red,
      child: Row(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Image.asset(
            'assets/images/demo_img.png',
            height: SizeConfig.getPadding(90),
            width: SizeConfig.getPadding(80),
            fit: BoxFit.cover,
          ),
          Expanded(
            child: Container(
//              color: Colors.yellow,
              padding: EdgeInsets.only(
                left: SizeConfig.getPadding(8),
              ),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  Text(
                    'Sunshine Spa & Massage',
                    style: TextStyle(
                      fontSize: SizeConfig.getFontSize(16),
                      fontFamily: "SF_Pro_Text",
                      fontWeight: FontWeight.bold,
                      color: Colors.black,
                    ),
                  ),
                  SizedBox(
                    height: SizeConfig.getHeight(10),
                  ),
                  Text(
                    'Footology',
                    style: TextStyle(
                      fontSize: SizeConfig.getFontSize(16),
                      fontFamily: "SF_Pro_Text",
                      color: Colors.black,
                    ),
                  ),
                  SizedBox(
                    height: SizeConfig.getHeight(12),
                  ),
                  Container(
//                    color: Colors.orangeAccent,
                    child: Row(
                      children: <Widget>[
                        Text(
                          '฿1,000.00',
                          style: TextStyle(
                            fontSize: SizeConfig.getFontSize(20),
                            color: Color(0xFFFD2956),
                            fontFamily: "SF_Pro_Text",
                            fontWeight: FontWeight.bold,
                          ),
                        ),
                        Spacer(),
                        Text(
                          'X1',
                          style: TextStyle(
                            color: Color(0xFF9D9D9D),
                            fontSize: SizeConfig.getFontSize(20),
                          ),
                        ),
                      ],
                    ),
                  ),
                ],
              ),
            ),
          ),
        ],
      ),
    );
  }

  Widget payment() {
    return Container(
//      color: Colors.green,
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Text(
            'ช่องทางการชำระเงิน',
            style: TextStyle(
              color: Colors.black,
              fontSize: SizeConfig.getFontSize(18),
              fontWeight: FontWeight.bold,
            ),
          ),
          SizedBox(
            height: SizeConfig.getHeight(5),
          ),
          Row(
            children: <Widget>[
              Image.asset(
                'assets/images/no-image.png',
                height: SizeConfig.getPadding(50),
                width: SizeConfig.getPadding(50),
              ),
              SizedBox(
                width: SizeConfig.getWidth(5),
              ),
              Text(
                'บัตรเครดิต/บัตรเดบิต',
                style: TextStyle(
                  color: Colors.black,
                  fontSize: SizeConfig.getFontSize(16),
                  fontWeight: FontWeight.bold,
                ),
              ),
            ],
          ),
          Divider(
            color: Colors.black,
            height: 10,
          ),
          Row(
            children: <Widget>[
              Image.asset(
                'assets/images/no-image.png',
                height: SizeConfig.getPadding(50),
                width: SizeConfig.getPadding(50),
              ),
              SizedBox(
                width: SizeConfig.getWidth(5),
              ),
              Text(
                'All Pay',
                style: TextStyle(
                  color: Colors.black,
                  fontSize: SizeConfig.getFontSize(16),
                  fontWeight: FontWeight.bold,
                ),
              ),
            ],
          ),
          Divider(
            color: Colors.black,
            height: 10,
          ),
          Row(
            children: <Widget>[
              Image.asset(
                'assets/images/no-image.png',
                height: SizeConfig.getPadding(50),
                width: SizeConfig.getPadding(50),
              ),
              SizedBox(
                width: SizeConfig.getWidth(5),
              ),
              Text(
                'QF Pay',
                style: TextStyle(
                  color: Colors.black,
                  fontSize: SizeConfig.getFontSize(16),
                  fontWeight: FontWeight.bold,
                ),
              ),
            ],
          ),
          Divider(
            color: Colors.black,
            height: 10,
          ),
        ],
      ),
    );
  }

  Widget header() {
    return Container(
      child: Stack(
        children: <Widget>[
          Container(
            color: Color.fromRGBO(69, 85, 79, 1),
            height: SizeConfig.getHeight(200),
            width: MediaQuery.of(context).size.width,
          ),
          Positioned(
            top: SizeConfig.getPadding(50),
            left:
                SizeConfig.getPadding(MediaQuery.of(context).size.width / 3.5),
            child: Container(
              alignment: Alignment.topCenter,
              child: Image.asset(
                'assets/images/feelver_banner.png',
                width: MediaQuery.of(context).size.width / 2.5,
              ),
            ),
          ),
          Positioned(
            top: SizeConfig.getPadding(77),
            left: SizeConfig.getPadding(16),
            child: Container(
              child: GestureDetector(
                onTap: () {
                  showDialog(
                    context: context,
                    builder: (BuildContext context) {
                      return NavDrawer();
                    },
                  );
                },
                child: Image.asset(
                  'assets/images/ic_menu.png',
                  height: SizeConfig.getWidth(24),
                  width: SizeConfig.getWidth(30),
                  fit: BoxFit.cover,
                ),
              ),
            ),
          ),
          Positioned(
            top: SizeConfig.getPadding(77),
            right: SizeConfig.getPadding(60),
            child: Container(
              child: Image.asset(
                'assets/images/ic_noti.png',
                height: SizeConfig.getWidth(30),
                width: SizeConfig.getWidth(30),
                fit: BoxFit.cover,
              ),
            ),
          ),
          Positioned(
            top: SizeConfig.getPadding(77),
            right: SizeConfig.getPadding(20),
            child: InkWell(
//                onTap: () {
//                  Navigator.push(
//                    context,
//                    MaterialPageRoute(builder: (context) => LoginPage()),
//                  );
//                },
              child: Container(
                child: Image.asset(
                  'assets/images/ic_userimg.png',
                  height: SizeConfig.getWidth(30),
                  width: SizeConfig.getWidth(30),
                  fit: BoxFit.cover,
                ),
              ),
            ),
          ),
        ],
      ),
    );
  }
}
