part of user_info;

class UserInfoPage extends StatefulWidget {
  final UserInfoModel userInfo;
  const UserInfoPage({
    Key? key,
    required this.userInfo
  }) : super(key: key);

  @override
  State<UserInfoPage> createState() => _UserInfoPageState();
}

class _UserInfoPageState extends State<UserInfoPage> {
  @override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () async {
        context.pop(true);
        return false;
      },
      child: GetBuilder<UserInfoController>(
        init: UserInfoController(widget.userInfo),
        builder: (controller) =>Scaffold(
          appBar: AppBar(
            title: const Text('个人信息'),
            centerTitle: true,
          ),
          body: Container(
            margin: const EdgeInsets.symmetric(horizontal: AppTheme.margin,vertical: AppTheme.margin),
            decoration: BoxDecoration(
              borderRadius: BorderRadius.circular(8),
              color: Colors.white,
              boxShadow: [
                BoxShadow(
                  color: const Color(0xFFC7C7C7).withOpacity(0.5),
                  offset: const Offset(3, 0),
                  blurRadius: 10.w,
                  spreadRadius: 0.w,
                ),
              ],
            ),
            child: ClipRRect(
              borderRadius: BorderRadius.circular(8),
              child: Column(
                mainAxisSize: MainAxisSize.min,
                children: [
                  /// 头像
                  Container(
                    height: 52,
                    padding: const EdgeInsets.only(left: 18,right: 15),
                    child: GestureDetector(
                      onTap: () async {
                        final assets = await AssetsPicker.image(
                          context: context,
                          source: ImageSource.gallery,
                          maxWidth: 512,
                          maxHeight: 512,
                        );
                        controller.upload(path: assets!.path);

                      },
                      child: Container(
                        color: Colors.transparent,
                        child: Row(
                          mainAxisAlignment: MainAxisAlignment.spaceBetween,
                          children: [
                            const Text('头像',style: TextStyle(color: Colours.c3,fontSize: 14,height: 1.6),),
                            Row(
                              children: [
                                Container(
                                  width: 33.w,
                                  height: 33.w,
                                  decoration: const BoxDecoration(
                                    shape: BoxShape.circle,
                                    color: Colors.cyan,
                                  ),
                                  child: CustomImage.network(url: controller.userInfo.headImg??'',radius: 16.5,),
                                ),
                                Gaps.hGaps10,
                                SizedBox(
                                  width: 5,
                                  height: 8,
                                  child: Image.asset('assets/images/right_arrow.png'),
                                )
                              ],
                            )
                          ],
                        ),
                      ),
                    ),
                  ),
                  Container(color: Colours.cLine,margin: const EdgeInsets.symmetric(horizontal: 15),height: 1,),
                  GestureDetector(
                    onTap: (){
                      context.pushNamed(Routes.nike);
                    },
                      child: _buildItem('昵称', widget.userInfo.name??'', )
                  ),
                  Container(color: Colours.cLine,margin: const EdgeInsets.symmetric(horizontal: 15),height: 1,),
                  _buildItem('性别', widget.userInfo.sex ==1?'男':'女',),
                ],
              ),
            ),
          )
        ),
      ),
    );
  }

  Widget _buildItem(String title, String value) {
    return Container(
      padding: const EdgeInsets.only(left: 18,right: 15),
      color: Colors.transparent,
      height: 52,
      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          Text(title,style: const TextStyle(fontSize: 14,color: Colours.c3,),),
          Row(
            children: [
              Text(value,style: const TextStyle(fontSize:14,color: Colours.c9,),),
              Gaps.hGaps10,
              SizedBox(
                width: 5,
                height: 8,
                child: Image.asset('assets/images/right_arrow.png'),
              )
            ],
          )

        ],
      ),
    );
  }
}
