import 'dart:ui';
import 'package:doctor_app_flutter/models/patient/patient_model.dart';
import 'package:doctor_app_flutter/screens/doctor/my_referral_patient_screen.dart';
import 'package:doctor_app_flutter/screens/doctor/my_referred_patient_screen.dart';
import 'package:doctor_app_flutter/screens/patients/patients_screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/referral/my-referral-patient-screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/referral/referred-patient-screen.dart';
import 'package:doctor_app_flutter/screens/reschedule-leaves/add-rescheduleleave.dart';
import 'package:doctor_app_flutter/screens/reschedule-leaves/reschedule_leave.dart';
import 'package:doctor_app_flutter/util/date-utils.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:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class PatientArrivalScreen extends StatefulWidget {
  @override
  _PatientArrivalScreen createState() => _PatientArrivalScreen();
}

class _PatientArrivalScreen extends State<PatientArrivalScreen>
    with SingleTickerProviderStateMixin {
  TabController _tabController;
  var _patientSearchFormValues = PatientModel(
      FirstName: "0",
      MiddleName: "0",
      LastName: "0",
      PatientMobileNumber: "0",
      PatientIdentificationID: "0",
      PatientID: 0,
      From: DateUtils.convertDateToFormat(DateTime.now(), 'yyyy-MM-dd')
          .toString(),
      To: DateUtils.convertDateToFormat(DateTime.now(), 'yyyy-MM-dd')
          .toString(),
      LanguageID: 2,
      stamp: "2020-03-02T13:56:39.170Z",
      IPAdress: "11.11.11.11",
      VersionID: 1.2,
      Channel: 9,
      TokenID: "2Fi7HoIHB0eDyekVa6tCJg==",
      SessionID: "5G0yXn0Jnq",
      IsLoginForDoctorApp: true,
      PatientOutSA: false);
  @override
  void initState() {
    super.initState();
    _tabController = TabController(length: 2, vsync: this);
  }

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

  @override
  @override
  Widget build(BuildContext context) {
    return AppScaffold(
        isShowAppBar: true,
        appBarTitle: TranslationBase.of(context).arrivalpatient,
        body: Scaffold(
          extendBodyBehindAppBar: true,
          appBar: PreferredSize(
            preferredSize: Size.fromHeight(65.0),
            child: Center(
              child: Container(
                height: 60.0,
                margin: EdgeInsets.only(top: 10.0),
                width: MediaQuery.of(context).size.width * 0.92, // 0.9,
                decoration: BoxDecoration(
                    border: Border(
                      bottom: BorderSide(
                          color: Theme.of(context).dividerColor,
                          width: 0.9), //width: 0.7
                    ),
                    color: Colors.white),
                child: Center(
                  child: TabBar(
                    isScrollable: true,
                    controller: _tabController,
                    indicatorWeight: 5.0,
                    indicatorSize: TabBarIndicatorSize.tab,
                    labelColor: Theme.of(context).primaryColor,
                    labelPadding:
                        EdgeInsets.only(top: 4.0, left: 35.0, right: 35.0),
                    unselectedLabelColor: Colors.grey[800],
                    tabs: [
                      Container(
                        width: MediaQuery.of(context).size.width * 0.30,
                        child: Center(
                          child: AppText(
                              TranslationBase.of(context).arrivalpatient),
                        ),
                      ),
                      Container(
                        width: MediaQuery.of(context).size.width * 0.30,
                        child: Center(
                          child: AppText(
                              TranslationBase.of(context).rescheduleLeaves),
                        ),
                      ),
                    ],
                  ),
                ),
              ),
            ),
          ),
          body: Column(
            children: <Widget>[
              Expanded(
                child: TabBarView(
                  physics: BouncingScrollPhysics(),
                  controller: _tabController,
                  children: <Widget>[
                    AddRescheduleLeavScreen(),
                  ],
                ),
              )
            ],
          ),
        ));
  }
}
