import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart';
import 'package:diplomaticquarterapp/core/viewModels/er/am_request_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/prescriptions_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_history_page.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_page.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/others/OrderLogItem.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'dart:ui';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';

import 'AmbulanceRequestIndexPages/AmbulanceRequestIndex.dart';
import 'OrderLogPage.dart';

class AmbulanceReq extends StatefulWidget {
  @override
  _AmbulanceReqState createState() => _AmbulanceReqState();
}

class _AmbulanceReqState extends State<AmbulanceReq>
    with SingleTickerProviderStateMixin {
  TabController _tabController;
  List<ImagesInfo> imagesInfo = List();

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

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

  @override
  Widget build(BuildContext context) {
    imagesInfo.add(ImagesInfo(
        imageEn:
            'https://hmgwebservices.com/Images/MobileApp/Ambulance/en/0.png',
        imageAr:
            'https://hmgwebservices.com/Images/MobileApp/Ambulance/ar/0.png'));

    return BaseView<AmRequestViewModel>(
      onModelReady: (model) => model.getAmRequestOrders(),
      builder: (_, model, widget) => AppScaffold(
        isShowAppBar: true,
        appBarTitle: TranslationBase.of(context).transportationService,
        description: TranslationBase.of(context).infoAmbulance,
        imagesInfo: imagesInfo,
        baseViewModel: model,
        body: Scaffold(
          extendBodyBehindAppBar: true,
          appBar: PreferredSize(
            preferredSize: Size.fromHeight(65.0),
            child: Stack(
              children: <Widget>[
                Positioned(
                  bottom: 1,
                  left: 0,
                  right: 0,
                  child: BackdropFilter(
                    filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
                    child: Container(
                      color: Theme.of(context)
                          .scaffoldBackgroundColor
                          .withOpacity(0.8),
                      height: 70.0,
                    ),
                  ),
                ),
                Center(
                  child: Container(
                    height: 60.0,
                    margin: EdgeInsets.only(top: 10.0),
                    width: MediaQuery.of(context).size.width * 0.90,
                    decoration: BoxDecoration(
                        border: Border(
                          bottom: BorderSide(
                              color: Theme.of(context).dividerColor,
                              width: 0.7),
                        ),
                        color: Colors.white),
                    child: Center(
                      child: TabBar(
                        isScrollable: true,
                        controller: _tabController,
                        indicatorWeight: 5.0,
                        indicatorSize: TabBarIndicatorSize.label,
                        labelColor: Theme.of(context).primaryColor,
                        labelPadding:
                            EdgeInsets.only(top: 4.0, left: 18.0, right: 18.0),
                        unselectedLabelColor: Colors.grey[800],
                        tabs: [
                          Container(
                            width: MediaQuery.of(context).size.width * 0.40,
                            child: Center(
                              child: Texts(TranslationBase.of(context).transportationService),
                            ),
                          ),
                          Container(
                            width: MediaQuery.of(context).size.width * 0.30,
                            child: Center(
                              child: Texts(TranslationBase.of(context).ordersLog),
                            ),
                          ),
                        ],
                      ),
                    ),
                  ),
                ),
              ],
            ),
          ),
          body: Column(
            children: <Widget>[
              Expanded(
                child: TabBarView(
                  physics: BouncingScrollPhysics(),
                  controller: _tabController,
                  children: <Widget>[
                    AmbulanceRequestIndexPage(
                      amRequestViewModel: model,
                    ),
                    OrderLogPage(
                      amRequestViewModel: model,
                    )
                  ],
                ),
              )
            ],
          ),
        ),
      ),
    );
  }
}
