import 'dart:ui';

import 'package:diplomaticquarterapp/core/viewModels/feedback/feedback_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart';
import 'package:diplomaticquarterapp/pages/feedback/send_feedback_page.dart';
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 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

import 'status_feedback_page.dart';

class FeedbackHomePage extends StatefulWidget {
  final AppoitmentAllHistoryResultList appointment;
  final MessageType messageType;
  const FeedbackHomePage({Key key, this.appointment, this.messageType= MessageType.NON}) : super(key: key);

  @override
  _FeedbackHomePageState createState() => _FeedbackHomePageState();
}

class _FeedbackHomePageState extends State<FeedbackHomePage>
    with SingleTickerProviderStateMixin {
  TabController _tabController;

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

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

  @override
  Widget build(BuildContext context) {
    return AppScaffold(
      isShowAppBar: true,
      isBottomBar: false,
      isShowDecPage: false,
      appBarTitle: TranslationBase.of(context).feedbackTitle,
      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.9,
                  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.tab,
                      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.30,
                          child: Center(
                            child: Texts(TranslationBase.of(context).send),
                          ),
                        ),
                        Container(
                          width: MediaQuery.of(context).size.width * 0.30,
                          child: Center(
                            child: Texts(TranslationBase.of(context).status),
                          ),
                        ),
                      ],
                    ),
                  ),
                ),
              ),
            ],
          ),
        ),
        body: Column(
          children: <Widget>[
            Expanded(
              child: TabBarView(
                physics: BouncingScrollPhysics(),
                controller: _tabController,
                children: <Widget>[SendFeedbackPage(appointment: widget.appointment,messageType: widget.messageType,), StatusFeedbackPage()],
              ),
            )
          ],
        ),
      ),
    );
  }
}
