part of user_order;

class BuildListPage extends StatefulWidget {
  final int tag;
  // final List<OrderListModel> models;
  // final UserOrderController controller;
  // final BuildContext context;

  const BuildListPage({
    Key? key,
    required this.tag,
    // required this.models,
    // required this.controller,
    // required this.context,
  }) : super(key: key);

  @override
  State<BuildListPage> createState() => _BuildListPageState();
}

class _BuildListPageState extends State<BuildListPage>
    with AutomaticKeepAliveClientMixin {
  late UserOrderController myController;

  @override
  void initState() {
    myController =  Get.put(UserOrderController(widget.tag));
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return GetBuilder<UserOrderController>(
      tag: widget.tag.toString(),
      init: myController,
      builder: (controller) => CustomPullScrollView(
        controller: controller.refreshController,
        onRefresh: controller.onRefresh,
        onLoading: controller.onLoading,
        child: ListView.builder(
          itemBuilder: (BuildContext context, int index) {
            OrderListModel model = controller.orderList[index];
            // OrderListModel model = widget.models[index];
            if (model.types == 2) {
              return BuiltCoin(model: model,);
            } else {
              if (model.status == 1) {
                return BuiltAwaiting(model: model,);
              } else if (model.status == 2) {
                return BuiltCanceled(model: model,);
              } else if (model.status == 3) {
                return BuiltCompleted(model: model,);
              } else if (model.status == 4) {
                return BuiltRefunded(model: model,);
              }
            }
          },
          itemCount: controller.orderList.length,
          // itemCount: widget.models.length,
        ),
      ),
    );

    /*return CustomPullScrollView(
      controller: widget.controller.refreshController,
      onRefresh: widget.controller.onRefresh,
      onLoading: widget.controller.onLoading,
      child: ListView.builder(
        itemBuilder: (BuildContext context, int index) {
          OrderListModel model = widget.controller.orderList[index];
          // OrderListModel model = widget.models[index];
          if (model.types == 2) {
            return BuiltCoin(model: model,);
          } else {
            if (model.status == 1) {
              return BuiltAwaiting(model: model,);
            } else if (model.status == 2) {
              return BuiltCanceled(model: model,);
            } else if (model.status == 3) {
              return BuiltCompleted(model: model,);
            } else if (model.status == 4) {
              return BuiltRefunded(model: model,);
            }
          }
        },
        itemCount: widget.controller.orderList.length,
        // itemCount: widget.models.length,
      ),
    );*/
  }

  @override
  bool get wantKeepAlive => true;
}
