import '/backend/api_requests/api_calls.dart';
import '/components/alert_box_custom_widget.dart';
import '/components/appbar_widget.dart';
import '/components/emptylist_widget.dart';
import '/components/nav_bar1_widget.dart';
import '/flutterlib/flutter_button_tabbar.dart';
import '/flutterlib/flutter_theme.dart';
import '/flutterlib/flutter_util.dart';
import '/flutterlib/flutter_widgets.dart';
import '/flutterlib/custom_functions.dart' as functions;
import 'bk4_widget.dart' show Bk4Widget;
import 'package:aligned_dialog/aligned_dialog.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter/services.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';

class Bk4Model extends FlutterModel<Bk4Widget> {
  ///  Local state fields for this page.

  bool checkPermission26 = false;

  bool checkPermission27 = false;

  ///  State fields for stateful widgets in this page.

  final unfocusNode = FocusNode();
  // Stores action output result for [Backend Call - API (Check role has permission)] action in bk4 widget.
  ApiCallResponse? apiResult26;
  // Stores action output result for [Backend Call - API (Check role has permission)] action in bk4 widget.
  ApiCallResponse? apiResult27;
  // State field(s) for TabBar widget.
  TabController? tabBarController;
  int get tabBarCurrentIndex =>
      tabBarController != null ? tabBarController!.index : 0;

  // Stores action output result for [Backend Call - API (View Document)] action in Container widget.
  ApiCallResponse? apiResult4qr;
  // Stores action output result for [Backend Call - API (View Document)] action in Container widget.
  ApiCallResponse? apiResult8ni;
  // Model for NavBar1 component.
  late NavBar1Model navBar1Model;
  // Model for appbar component.
  late AppbarModel appbarModel;

  /// Initialization and disposal methods.

  void initState(BuildContext context) {
    navBar1Model = createModel(context, () => NavBar1Model());
    appbarModel = createModel(context, () => AppbarModel());
  }

  void dispose() {
    unfocusNode.dispose();
    tabBarController?.dispose();
    navBar1Model.dispose();
    appbarModel.dispose();
  }

  /// Action blocks are added here.

  /// Additional helper methods are added here.
}
