part of user_coin;

class UserCoinPage extends StatefulWidget {
  const UserCoinPage({Key? key}) : super(key: key);

  @override
  State<UserCoinPage> createState() => _UserCoinPageState();
}

class _UserCoinPageState extends State<UserCoinPage> {
  @override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () async {
        context.pop(true);
        return false;
      },
      child: GetBuilder<UserCoinController>(
        init: UserCoinController(),
        builder: (controller) => Scaffold(
          appBar: CustomAppBar(
            title: const Text('紫荆币'),
            actions: [
              GestureDetector(
                onTap: (){
                  showModalBottomSheet(
                    context: context,
                    shape: RoundedRectangleBorder(
                      borderRadius: BorderRadius.vertical(top: Radius.circular(8.w)),
                    ),
                    builder: (BuildContext context) {
                      return const CoinRechargePage();
                    },
                  ).then((value) {
                     controller.onRefresh();
                  });
                },
                  child: Text('充值',style: TextStyle(color: Colours.c3,fontSize: 14.w,height: 1.5,fontWeight: Fonts.medium),)
              )
            ],
          ),
          body: CustomPullScrollView(
            controller: controller.refreshController,
            onRefresh: controller.onRefresh,
            onLoading: controller.onLoading,
            child: controller.coins.isEmpty?Container(
              padding: EdgeInsets.only(top: 110.w),
              alignment: Alignment.center,
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.center,
                children: [
                  SizedBox(height: 152.w, width: 195.w,
                    child: Image.asset( 'assets/images/none.png',),),
                  SizedBox(height: 13.w,),
                ],
              ),
            ):Container(
              margin: EdgeInsets.all(10.w),
              decoration: BoxDecoration(
                borderRadius: BorderRadius.circular(8.w),
                color: Colors.white,
                boxShadow: [
                  BoxShadow(
                    color: const Color(0xFFC7C7C7).withOpacity(0.5),
                    offset: Offset(3.w, 0),
                    blurRadius: 10.w,
                    spreadRadius: 0.w,
                  ),
                ],
              ),
              child: ListView.builder(
                itemBuilder: (BuildContext context, int index){
                  return BuildCell(model: controller.coins[index],);
                },
                itemCount: controller.coins.length,
              ),
            ),
          ),
        ),
      ),
    );
  }
}
