import 'dart:ui';

import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/screens/patients/profile/referral/referred-patient-screen.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/text_fields/text_fields_utils.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

import '../../ReferralDischargedPatientPage.dart';
import 'my-referral-inpatient-screen.dart';

class PatientReferralScreen extends StatefulWidget {
  @override
  _PatientReferralScreen createState() => _PatientReferralScreen();
}

class _PatientReferralScreen extends State<PatientReferralScreen> with SingleTickerProviderStateMixin {

  TabController _tabController;
  int index=0;

  @override
  void initState() {
    super.initState();
    _tabController = TabController(length: 3, vsync: this);
    _tabController.addListener(_handleTabSelection);
  }

  _handleTabSelection() {
    setState(() {
      index = _tabController.index;
    });
  }

  @override
  void dispose() {
    super.dispose();
    _tabController.dispose();
  }


  @override
  Widget build(BuildContext context) {
    return AppScaffold(
        isShowAppBar: true,
        appBarTitle: TranslationBase.of(context).patientsreferral,
        body: Scaffold(
          extendBodyBehindAppBar: true,
          // backgroundColor: Colors.white,
          appBar: PreferredSize(
            preferredSize: Size.fromHeight(MediaQuery.of(context).size.height * 0.070),
            child: Center(
              child: Container(
                height: MediaQuery.of(context).size.height * 0.070,
                decoration: BoxDecoration(
                    border: Border(
                      bottom: BorderSide(
                          color: Theme.of(context).dividerColor,
                          width: 1), //width: 0.7
                    ),
                    color: Colors.white),
                child: Center(
                  child: TabBar(
                    isScrollable: false,
                    controller: _tabController,
                    indicatorColor: Colors.transparent,
                    indicatorWeight: 1.0,
                    indicatorSize: TabBarIndicatorSize.tab,

                    labelColor: Theme.of(context).primaryColor,
                    labelPadding: EdgeInsets.only(top: 0, left:0, right: 0,bottom: 0),
                    unselectedLabelColor: Colors.grey[800],
                    tabs: [
                      Container(
                        width: MediaQuery.of(context).size.width * 0.33,
                        height: MediaQuery.of(context).size.height * 0.070,
                        decoration: TextFieldsUtils.containerBorderDecoration(
                            Color(0Xffffffff), Color(0xFFCCCCCC),
                            borderRadius: 4, borderWidth: 0),
                        child: Center(
                          child: Container(
                            height: MediaQuery.of(context).size.height * 0.070,
                            decoration: TextFieldsUtils.containerBorderDecoration(
                                index == 0
                                    ? Color(0xFFD02127 )
                                    : Color(0xFFEAEAEA),
                                index == 0 ? Color(0xFFD02127) : Color(0xFFEAEAEA),
                                borderRadius: 4,
                                borderWidth: 0),
                            child: Center(
                              child: AppText(
                                TranslationBase.of(context).myReferredPatient,
                                fontSize: SizeConfig.textMultiplier * 1.8,
                                color: index == 0 ? Colors.white : Color(0xFF2B353E),
                                fontWeight: FontWeight.w700,
                              ),
                            ),
                          ),
                        ),
                      ),
                      Container(
                        width: MediaQuery.of(context).size.width * 0.34,
                       height: MediaQuery.of(context).size.height * 0.070,
                    decoration: TextFieldsUtils.containerBorderDecoration(
                        Color(0Xffffffff), Color(0xFFCCCCCC),
                        borderRadius: 4, borderWidth: 0),
                        child: Center(
                          child: Container(
                            height: MediaQuery.of(context).size.height * 0.070,
                            decoration: TextFieldsUtils.containerBorderDecoration(
                                index == 1
                                    ? Color(0xFFD02127 )
                                    : Color(0xFFEAEAEA),
                                index == 1 ? Color(0xFFD02127) : Color(0xFFEAEAEA),
                                borderRadius: 4,
                                borderWidth: 0),
                            child: Center(
                              child: AppText(
                                TranslationBase.of(context).referral,
                                fontSize: SizeConfig.textMultiplier * 1.8,
                                color: index == 1 ? Colors.white : Color(0xFF2B353E),
                                fontWeight: FontWeight.w700,
                              ),
                            ),
                          ),
                        ),
                      ),
                      Container(
                        width: MediaQuery.of(context).size.width * 0.33,
                        height: MediaQuery.of(context).size.height * 0.070,
                    decoration: TextFieldsUtils.containerBorderDecoration(
                        Color(0Xffffffff), Color(0xFFCCCCCC),
                        borderRadius: 4, borderWidth: 0),
                        child: Center(
                          child: Container(
                            height: MediaQuery.of(context).size.height * 0.070,
                            decoration: TextFieldsUtils.containerBorderDecoration(
                                index == 2
                                    ? Color(0xFFD02127 )
                                    : Color(0xFFEAEAEA),
                                index == 2 ? Color(0xFFD02127) : Color(0xFFEAEAEA),
                                borderRadius: 4,
                                borderWidth: 0),
                            child: Center(
                              child: AppText(
                                TranslationBase.of(context).discharged,
                                fontSize: SizeConfig.textMultiplier * 1.8,
                                color: index == 2 ? Colors.white : Color(0xFF2B353E),
                                fontWeight: FontWeight.w700,
                              ),
                            ),
                          ),
                        ),
                      ),

                    ],
                  ),
                ),
              ),
            ),
          ),
          body: Column(
            children: <Widget>[
              Expanded(
                child: TabBarView(
                  physics: BouncingScrollPhysics(),
                  controller: _tabController,
                  children: <Widget>[
                    ReferredPatientScreen(),
                    MyReferralInPatientScreen(),
                    ReferralDischargedPatientPage()
                    // MyReferredPatient(),
                  ],
                ),
              )
            ],
          ),
        ));
  }
}
