import 'package:flutter/material.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/modules/loan_module/models/loan_request_model.dart';
import 'package:test_sa/modules/loan_module/pages/installation_pullout_form_view.dart';
import 'package:test_sa/modules/loan_module/pages/intallation_details_view.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';

class PullOutDetailsPage extends StatelessWidget {
  final LoanRequestModel? loanData;

  PullOutDetailsPage({Key? key, required this.loanData}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        backgroundColor: Theme.of(context).scaffoldBackgroundColor,
        appBar: DefaultAppBar(
          title: 'Pullout Report'.addTranslation,
        ),
        body: DefaultTabController(
          length: 2,
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: <Widget>[
              Container(
                margin: EdgeInsets.only(left: 16.toScreenWidth, right: 16.toScreenWidth, top: 12.toScreenHeight),
                decoration: BoxDecoration(
                  color: AppColor.tabBarBackground(context),
                  border: Border.all(color: AppColor.tabBarBorder(context)),
                  borderRadius: BorderRadius.circular(20),
                ),
                child: TabBar(
                  padding: EdgeInsets.symmetric(vertical: 4.toScreenHeight, horizontal: 4.toScreenWidth),
                  labelColor: context.isDark ? AppColor.neutral30 : AppColor.black20,
                  unselectedLabelColor: context.isDark ? AppColor.neutral30 : AppColor.black20,
                  unselectedLabelStyle: AppTextStyles.bodyText,
                  labelStyle: AppTextStyles.bodyText,
                  indicatorPadding: EdgeInsets.zero,
                  indicatorSize: TabBarIndicatorSize.tab,
                  dividerColor: Colors.transparent,
                  overlayColor: WidgetStateProperty.all(Colors.transparent),
                  indicator: BoxDecoration(
                      color: AppColor.background(context),
                      borderRadius: BorderRadius.circular(15),
                      boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.03), blurRadius: 5, offset: const Offset(0, 0), spreadRadius: 0)]),
                  onTap: (index) {
                    // setState(() {});
                  },
                  tabs: [
                    Tab(text: 'Installation'.addTranslation, height: 57.toScreenHeight),
                    Tab(text: 'Pull Out'.addTranslation, height: 57.toScreenHeight),
                  ],
                ),
              ),
              0.height,
              TabBarView(
                children: [
                  Column(
                    children: [
                      InstallationDetailsView(loanData: loanData!),
                    ],
                  ),
                  InstallationPullOutFormView(loanData: loanData!),
                ],
              ).expanded,
            ],
          ),
        ));
  }
}
