import 'package:akuCommunity/widget/search_bar_delegate.dart';
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:akuCommunity/utils/screenutil.dart';
import 'package:akuCommunity/routers/page_routers.dart';
import 'package:akuCommunity/base/base_style.dart';

// import 'visitor_invitation/visitor_invitation.dart';
// import 'visitor_invitation/visitor_record.dart';
// import 'visitor_invitation/visitor_pass.dart';

// import 'complaint_call/complaint_call.dart';

// import 'industry_committee/industry_committee.dart';

// import 'things/things_main.dart';
// import 'things/things_create.dart';
// import 'things/things_detail.dart';
// import 'things/things_evaluate.dart';

// import 'message_center/message_center.dart';
// import 'message_center/system_notice.dart';
// import 'message_center/system_notice_details.dart';
// import 'message_center/comment_notice.dart';
// import 'message_center/shop_notice.dart';
// import 'message_center/refund_details.dart';

// import 'house/house_main.dart';
// import 'house/house_authenticate.dart';

// import 'car/car_main.dart';
// import 'car/car_add.dart';
// import 'car/select_house.dart';

// import 'setting/setting.dart';
// import 'setting/about.dart';
// import 'setting/invite.dart';
// import 'setting/feedback.dart';

// import 'activity/activity_main.dart';
// import 'activity/activity_details.dart';
// import 'activity/activity_member_list.dart';

// import 'questionnaire/questionnaire_main.dart';
// import 'questionnaire/questionnaire_details.dart';

// import 'goods_out/goods_out_main.dart';
// import 'goods_out/goods_out_create.dart';

// import 'fitup_manage/fitup_manage_main.dart';

// import 'life_pay/life_pay_main.dart';
// import 'life_pay/life_pay_info.dart';
// import 'life_pay/life_pay_bill.dart';
// import 'life_pay/life_pay_record.dart';

// import 'goods_manage/goods_manage_main.dart';
// import 'goods_manage/mine_goods_manage.dart';

// import 'notice/notice_main.dart';

// import 'address/address_main.dart';
// import 'address/address_edit.dart';

// import 'order/confirm_order.dart';
// import 'order/pay_order.dart';

// import 'total_application/total_applications_main.dart';

// import 'shop_class/shop_class_main.dart';

// import 'one_alarm/one_alarm_main.dart';
// import 'one_alarm/explain_template.dart';

// import 'open_door/open_door_main.dart';

// import 'certification/certification_main.dart';

class CommonPage extends StatefulWidget {
  final Bundle bundle;
  CommonPage({Key key, this.bundle}) : super(key: key);

  @override
  _CommonPageState createState() => _CommonPageState();
}

class _CommonPageState extends State<CommonPage> {
  // void showExplain() {
  //   final popup = BeautifulPopup.customize(
  //     context: context,
  //     build: (options) => ExplainTemplate(options),
  //   );
  //   popup.show(
  //       title: Text(
  //         '功能说明',
  //         style: TextStyle(
  //           fontWeight: FontWeight.bold,
  //           fontSize: BaseStyle.fontSize32,
  //           color: Color(0xff15c0ec),
  //         ),
  //       ),
  //       content: Text(
  //         '点击“呼叫110”后,您可以直接拨打本地110。页面中提供了您当前所在位置,以便您与警方沟通。(GPS信号弱时,位置可能存在偏移)',
  //         style: TextStyle(
  //           fontSize: BaseStyle.fontSize28,
  //           color: ktextSubColor,
  //         ),
  //       ),
  //       actions: [
  //         MaterialButton(
  //           color: Color(0xff15c0ec),
  //           textColor: Colors.white,
  //           shape: RoundedRectangleBorder(
  //               side: BorderSide.none,
  //               borderRadius: BorderRadius.all(Radius.circular(50))),
  //           child: Text('关闭'),
  //           onPressed: Navigator.of(context).pop,
  //         )
  //       ],
  //       close: SizedBox());
  // }

  void recordRouter() {
    Navigator.pushNamed(context, PageName.common_page.toString(),
        arguments: Bundle()
          ..putMap('commentMap', {'title': '访客记录', 'isActions': false}));
  }

  void evaluateRouter(bool isAlone, bool isPropose) {
    Navigator.pushNamed(context, PageName.common_page.toString(),
        arguments: Bundle()
          ..putMap('commentMap', {
            'title': '评价',
            'isActions': false,
            'isAlone': isAlone,
            'isPropose': isPropose
          }));
  }

  InkWell _inkWellSearch() {
    return InkWell(
      onTap: () {
        showSearch(context: context, delegate: SearchBarDelegate());
      },
      child: Container(
        margin: EdgeInsets.only(right: 32.w),
        padding: EdgeInsets.only(left: 40.w, top: 15.w, bottom: 15.w),
        decoration: BoxDecoration(
          color: BaseStyle.colorf3f3f3,
          borderRadius: BorderRadius.all(Radius.circular(36)),
        ),
        child: Row(children: [
          Icon(
            AntDesign.search1,
            size: BaseStyle.fontSize28,
            color: BaseStyle.color999999,
          ),
          SizedBox(width: 5),
          Text(
            '搜索商品、活动、帖子、应用',
            style: TextStyle(
              fontSize: BaseStyle.fontSize28,
              color: BaseStyle.color999999,
            ),
          )
        ]),
      ),
    );
  }

  AppBar _commentAppBar() {
    return AppBar(
      elevation: 0,
      backgroundColor: Color(0xffffffff),
      leading: InkWell(
        onTap: () => Navigator.pop(context),
        child: Icon(AntDesign.left, size: 40.sp),
      ),
      centerTitle: true,
      title: Builder(builder: (_) {
        switch (widget.bundle.getMap('commentMap')['title']) {
          case '全部应用':
          case '分类':
            return _inkWellSearch();
            break;
          default:
            return Text(
              widget.bundle.getMap('commentMap')['title'] == '更多活动'
                  ? '社区活动'
                  : widget.bundle.getMap('commentMap')['title'],
              style: TextStyle(
                fontWeight: FontWeight.w600,
                fontSize: 32.sp,
                color: Color(0xff333333),
              ),
            );
            break;
        }
      }),
      actions: widget.bundle.getMap('commentMap')['isActions']
          ? [
              InkWell(
                onTap: () {
                  switch (widget.bundle.getMap('commentMap')['title']) {
                    case '访客通行':
                    case '我的访客':
                      recordRouter();
                      break;
                    case '查看详情':
                      evaluateRouter(
                        widget.bundle.getMap('commentMap')['isAlone'],
                        widget.bundle.getMap('commentMap')['isPropose'],
                      );
                      break;
                    case '生活缴费':
                      Navigator.pushNamed(
                          context, PageName.common_page.toString(),
                          arguments: Bundle()
                            ..putMap('commentMap',
                                {'title': '缴费记录', 'isActions': false}));
                      break;
                    case '借还管理':
                      Navigator.pushNamed(
                          context, PageName.common_page.toString(),
                          arguments: Bundle()
                            ..putMap('commentMap',
                                {'title': '我的借还物品', 'isActions': false}));
                      break;
                    case '我的地址':
                      Navigator.pushNamed(
                          context, PageName.common_page.toString(),
                          arguments: Bundle()
                            ..putMap('commentMap', {
                              'title': '添加新地址',
                              'isActions': true,
                              'isNew': true
                            }));
                      break;
                    case '一键报警':
                      // showExplain();
                      break;
                    default:
                      break;
                  }
                },
                child: Container(
                  margin: EdgeInsets.only(right: 32.w),
                  child: Row(
                    crossAxisAlignment: CrossAxisAlignment.center,
                    children: [
                      Builder(builder: (_) {
                        String title = '';
                        switch (widget.bundle.getMap('commentMap')['title']) {
                          case '访客通行':
                          case '我的访客':
                            title = '访客记录';
                            break;
                          case '查看详情':
                            title = '评价';
                            break;
                          case '消息中心':
                            title = '全部已读';
                            break;
                          case '系统通知':
                          case '评论通知':
                          case '商城通知':
                            title = '清空';
                            break;
                          case '生活缴费':
                            title = '缴费记录';
                            break;
                          case '借还管理':
                            title = '我的借还物品';
                            break;
                          case '我的地址':
                            title = '添加新地址';
                            break;
                          case '添加新地址':
                          case '编辑地址':
                            title = '保存';
                            break;
                          case '一键报警':
                            title = '功能说明';
                            break;
                          default:
                            title = '编辑';
                            break;
                        }
                        return Text(
                          title,
                          style: TextStyle(
                            fontSize: 28.sp,
                            color: Color(0xff333333),
                          ),
                        );
                      })
                    ],
                  ),
                ),
              ),
            ]
          : [],
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: PreferredSize(
        child: _commentAppBar(),
        preferredSize: Size.fromHeight(kToolbarHeight),
      ),
      body: Builder(builder: (_) {
        switch (widget.bundle.getMap('commentMap')['title']) {
          // case '访客通行':
          // case '我的访客':
          //   return VisitorInvitation(statusHeight: _statusHeight);
          // case '访客记录':
          //   return VisitorRecord();
          // case '访客通行证':
          //   return VisitorPass();
          case '便民电话':
          // return ComplaintCall();
          case '业委会':
          // return IndustryCommittee();
          case '建议咨询':
          case '报事报修':
          // case '我的报修':
          //   return ThingsMain(
          //     isPropose: widget.bundle.getMap('commentMap')['isPropose'],
          //     isAlone: widget.bundle.getMap('commentMap')['isAlone'],
          //   );
          // case '新增':
          // case '新增报修':
          //   return ThingsCreate(
          //       statusHeight: _statusHeight,
          //       isPropose: widget.bundle.getMap('commentMap')['isPropose']);
          // case '查看详情':
          //   return ThingsDetail(
          //     content: widget.bundle.getMap('commentMap')['content'],
          //     time: widget.bundle.getMap('commentMap')['time'],
          //     imageList: widget.bundle.getMap('commentMap')['imageList'],
          //     isPropose: widget.bundle.getMap('commentMap')['isPropose'],
          //     isAlone: widget.bundle.getMap('commentMap')['isAlone'],
          //   );
          // case '评价':
          //   return ThingsEvaluate(
          //     isAlone: widget.bundle.getMap('commentMap')['isAlone'],
          //     isPropose: widget.bundle.getMap('commentMap')['isPropose'],
          //     statusHeight: _statusHeight,
          //   );
          // case '继续提问':
          //   return ThingsEvaluate(
          //     isAlone: false,
          //     isPropose: true,
          //     statusHeight: _statusHeight,
          //   );
          // case '消息中心':
          //   return MessageCenter(statusHeight: _statusHeight);
          // case '系统通知':
          //   return SystemNotice();
          // case '评论通知':
          //   return CommentNotice(statusHeight: _statusHeight);
          // case '商城通知':
          //   return ShopNotice();
          // case '退款详情':
          //   return RefundDetails(statusHeight: _statusHeight);
          // case '我的房屋':
          //   return HouseMain(statusHeight: _statusHeight);
          // case '房屋认证':
          //   return HouseAuthenticate(statusHeight: _statusHeight);
          // case '我的车位':
          //   return CarMain(
          //       statusHeight: _statusHeight, type: '车位', buttonName: '+新增车位');
          // case '我的车':
          //   return CarMain(
          //       statusHeight: _statusHeight, type: '车', buttonName: '+新增车辆');
          // case '选择小区':
          //   return CarMain(
          //       statusHeight: _statusHeight, type: '车', buttonName: '+新增车辆');
          // case '车位列表':
          //   return CarMain(
          //       statusHeight: _statusHeight, type: '车', buttonName: '+新增车辆');
          // case '添加车辆':
          //   return CarAdd(statusHeight: _statusHeight);
          // case '设置':
          //   return Setting();
          // case '关于小蜜蜂智慧社区':
          //   return About();
          // case '邀请注册':
          //   return Invite();
          // case '意见反馈':
          //   return FeedBack(statusHeight: _statusHeight);
          case '活动投票':
          // return ActivityMain(isVote: true);
          case '更多活动':
          case '社区活动':
          // return ActivityMain(isVote: false);
          case '活动详情':
          // return ActivityDetails(
          //   title: widget.bundle.getMap('commentMap')['name'],
          //   imagePath: widget.bundle.getMap('commentMap')['imagePath'],
          //   isVote: widget.bundle.getMap('commentMap')['isVote'],
          //   isOver: widget.bundle.getMap('commentMap')['isOver'],
          //   isVoteOver: widget.bundle.getMap('commentMap')['isVoteOver'],
          //   memberList: widget.bundle.getMap('commentMap')['memberList'],
          // );
          case '参与人员':
          // return ActivityMemberList();
          // case '问卷调查':
          //   return widget.bundle.getMap('commentMap')['imagePath'] != null
          //       ? QuestionnaireDetails(
          //           imagePath: widget.bundle.getMap('commentMap')['imagePath'],
          //           title: widget.bundle.getMap('commentMap')['name'],
          //         )
          //       : QuestionnaireMain();
          // case '物品出户':
          //   return GoodsOutMain();
          // case '新增物品出户':
          //   return GoodsOutCreate();
          // case '装修管理':
          //   return FitupManageMain();
          // case '生活缴费':
          // case '我的缴费':
          //   return LifePayMain();
          // case '明细':
          //   return LifePayInfo();
          // case '账单详情':
          //   return LifePayBill();
          // case '缴费记录':
          //   return LifePayRecord();
          // case '借还管理':
          //   return GoodsManageMain();
          // case '我的借还物品':
          //   return MineGoodsManage();
          // case '社区公告':
          //   return NoticeMain(
          //     title: widget.bundle.getMap('commentMap')['theme'],
          //     imagePath: widget.bundle.getMap('commentMap')['imagePath'],
          //   );
          // case '我的地址':
          //   return AddressMain();
          // case '添加新地址':
          // case '编辑地址':
          //   return AddressEdit(
          //       isNew: widget.bundle.getMap('commentMap')['isNew']);
          // case '确认订单':
          //   return ConfirmOrder();
          // case '付款方式':
          //   return PayOrder();
          case '全部应用':
          // return TotalApplicationsMain();
          case '分类':
          // return ShopClassMain(statusHeight: _statusHeight);
          case '一键报警':
          // return OneAlarmMain();
          // case '一键开门':
          //   return OpenDoorMain();
          case '实名认证':
          // return CertificationMain();
          // case '功能说明':
          //   return Explain();
          default:
            return Container();
        }
      }),
    );
  }
}