import 'dart:ui';

import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/screens/patients/patient_search/patient_search_header.dart';
import 'package:doctor_app_flutter/screens/patients/profile/referral/referred-patient-screen.dart';
import 'package:doctor_app_flutter/util/helpers.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,
        appBar: PatientSearchHeader(
          title: TranslationBase.of(context).patientsreferral,
        ),
        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: Helpers.getTabHeight(context),
                color: Helpers.getBgTabColor(),
                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(
                        decoration: Helpers.getBoxTabsBoxDecoration(
                            isActive: index == 0, isFirst: true),
                        child: Center(
                            child: Helpers.getTabText(title:TranslationBase.of(context).myReferredPatient, isActive:index == 0 )
                        ),
                      ),
                      Center(
                        child: Container(
                          decoration:Helpers.getBoxTabsBoxDecoration(
                              isActive: index == 1, isMiddle: true),
                          child: Center(
                              child:Helpers.getTabText(title:TranslationBase.of(context).referral, isActive:index == 1 )
                          ),
                        ),
                      ),
                      Center(
                        child: Container(
                          decoration:Helpers.getBoxTabsBoxDecoration(
                              isActive: index == 2, isLast: true),
                          child: Center(
                            child: Helpers.getTabText(title:TranslationBase.of(context).discharged, isActive:index == 2 ),
                          ),
                        ),
                      ),
                    ],
                  ),
                ),
              ),
            ),
          ),
          body: Column(
            children: <Widget>[
              Expanded(
                child: TabBarView(
                  physics: BouncingScrollPhysics(),
                  controller: _tabController,
                  children: <Widget>[
                    ReferredPatientScreen(),
                    MyReferralInPatientScreen(),
                    ReferralDischargedPatientPage()
                    // MyReferredPatient(),
                  ],
                ),
              )
            ],
          ),
        ));
  }
}
