diff --git a/lan/lan_zh.json b/lan/lan_zh.json index c40c06a0..39900100 100755 --- a/lan/lan_zh.json +++ b/lan/lan_zh.json @@ -65,7 +65,7 @@ "accountNumber": "账号", "volumeAuthorizationLock": "批量授权锁", "authorizedAdminTip": "授权管理员拥有操作这把锁的重要权限,请确保只发给我你信任的人", - "lockOperatingRecordTip": "只能保留一定时间内的记录,如果您需要保留历史记录,可以在右上角导出", + "lockOperatingRecordTip": "如果您需要保留历史记录,可以在右上角导出", "rankingList": "排列榜", "earlyArrivalList": "早到榜", "lateList": "迟到榜", diff --git a/lib/login/register/starLock_register_xhj_page.dart b/lib/login/register/starLock_register_xhj_page.dart index 39f8631c..f2234e69 100755 --- a/lib/login/register/starLock_register_xhj_page.dart +++ b/lib/login/register/starLock_register_xhj_page.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; @@ -79,7 +78,8 @@ class _StarLockRegisterPageState extends State { onTap: (int index) { state.isIphoneType.value = index == 0; }, - overlayColor: MaterialStateProperty.resolveWith((Set states) { + overlayColor: MaterialStateProperty.resolveWith( + (Set states) { return Colors.transparent; }), dividerHeight: 0, @@ -113,24 +113,26 @@ class _StarLockRegisterPageState extends State { child: Obx(() => Container( color: Colors.white, height: 70.h, - child: Row( - children: [ - SizedBox(width: 5.w), - Text(TranslationLoader.lanKeys!.countryAndRegion!.tr, - style: TextStyle( - fontSize: 26.sp, color: AppColors.blackColor)), - SizedBox(width: 50.w), - Text( - state.isIphoneType.value - ? '${state.countryName.value} +${state.countryCode.value}' - : state.countryName.value, - style: TextStyle( - fontSize: 26.sp, color: AppColors.mainColor), - ), - ], - ), + child: Visibility( + visible: state.isIphoneType.value, + child: Row( + children: [ + SizedBox(width: 5.w), + Text(TranslationLoader.lanKeys!.countryAndRegion!.tr, + style: TextStyle( + fontSize: 26.sp, color: AppColors.blackColor)), + SizedBox(width: 50.w), + Text( + state.isIphoneType.value + ? '${state.countryName.value} +${state.countryCode.value}' + : state.countryName.value, + style: TextStyle( + fontSize: 26.sp, color: AppColors.mainColor), + ), + ], + )), )), - ), + ) ], ); } @@ -270,10 +272,11 @@ class _StarLockRegisterPageState extends State { style: TextStyle( color: AppColors.mainColor, fontSize: 20.sp)), onTap: () { - Get.toNamed(Routers.webviewShowPage, arguments: { - 'url': XSConstantMacro.userAgreementURL, - 'title': '用户协议'.tr - }); + Get.toNamed(Routers.webviewShowPage, + arguments: { + 'url': XSConstantMacro.userAgreementURL, + 'title': '用户协议'.tr + }); }, )), WidgetSpan( @@ -284,10 +287,11 @@ class _StarLockRegisterPageState extends State { style: TextStyle( color: AppColors.mainColor, fontSize: 20.sp)), onTap: () { - Get.toNamed(Routers.webviewShowPage, arguments: { - 'url': XSConstantMacro.privacyPolicyURL, - 'title': '隐私政策'.tr - }); + Get.toNamed(Routers.webviewShowPage, + arguments: { + 'url': XSConstantMacro.privacyPolicyURL, + 'title': '隐私政策'.tr + }); }, )), ], diff --git a/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart b/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart index e5ac1bd9..3221ec45 100755 --- a/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart +++ b/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart @@ -53,7 +53,7 @@ class _DoorLockLogPageState extends State with RouteAware { ), onTap: () { ShowTipView().showSureAlertDialog( - '1.锁没有联网,密码、IC卡、指纹等开门记录无法实时上传,可以点击右上角按钮,然后读取记录。\n2.只能保留一定时间内的记录,如果您需要保留历史记录,可以点击右上角按钮,然后导出记录', + '1.锁没有联网,密码、IC卡、指纹等开门记录无法实时上传,可以点击右上角按钮,然后读取记录。\n2.如果您需要保留历史记录,可以点击右上角按钮,然后导出记录', tipTitle: '看不到操作记录,可能原因有', sureStr: '我知道了'.tr); }, @@ -276,9 +276,8 @@ class _DoorLockLogPageState extends State with RouteAware { return GestureDetector( onTap: () { - Get.toNamed(Routers.doorLockLogDetailPage, arguments: { - 'doorLockLogDataItem': timelineData - }); + Get.toNamed(Routers.doorLockLogDetailPage, + arguments: {'doorLockLogDataItem': timelineData}); }, child: Padding( padding: EdgeInsets.only(left: 20.w, top: 20.h), diff --git a/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendElectronicKey/massSendElectronicManageKey/massSendElectronicKeyManage_page.dart b/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendElectronicKey/massSendElectronicManageKey/massSendElectronicKeyManage_page.dart index 35218912..9e687ddf 100755 --- a/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendElectronicKey/massSendElectronicManageKey/massSendElectronicKeyManage_page.dart +++ b/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendElectronicKey/massSendElectronicManageKey/massSendElectronicKeyManage_page.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import '../../../../../../app_settings/app_colors.dart'; import '../../../../../../tools/titleAppBar.dart'; -import '../../../../../../translations/trans_lib.dart'; import 'massSendElectronicKeyManage_tabbar.dart'; class MassSendElectronicKeyManagePage extends StatefulWidget { diff --git a/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiverCell.dart b/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiverCell.dart index ceadf445..c5ad733a 100755 --- a/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiverCell.dart +++ b/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiverCell.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart'; import 'package:star_lock/tools/regexp_tool.dart'; -import 'package:star_lock/translations/trans_lib.dart'; import '../../../../../../app_settings/app_colors.dart'; class MassSendReceiverCell extends StatefulWidget { @@ -207,6 +207,10 @@ class _MassSendReceiverCellState extends State { border: InputBorder.none, ), onSubmitted: onSubmitted, + //限制输入长度 + inputFormatters: [ + LengthLimitingTextInputFormatter(50), + ], ), ), if (isContactPickerEnabled) diff --git a/lib/main/lockDetail/lockDetail/lockDetail_page.dart b/lib/main/lockDetail/lockDetail/lockDetail_page.dart index 489c1570..5c51da64 100755 --- a/lib/main/lockDetail/lockDetail/lockDetail_page.dart +++ b/lib/main/lockDetail/lockDetail/lockDetail_page.dart @@ -145,10 +145,11 @@ class _LockDetailPageState extends State 'isOnlyOneData': state.isOnlyOneData }); }), - labelText( - img: 'images/icon_puzzlepiece_extension.png', - text: '配件'.tr, - child: attachmentWidget()), + if (!F.isProductionEnv) + labelText( + img: 'images/icon_puzzlepiece_extension.png', + text: '配件'.tr, + child: attachmentWidget()), ], ), ), @@ -994,19 +995,15 @@ class _LockDetailPageState extends State final List showWidgetArr = []; // 考勤 if (state.isAttendance.value == 1) { - showWidgetArr.add(bottomItem( - 'images/main/icon_main_clockingIn.png', - '考勤'.tr, - state.bottomBtnisEable.value, () { + showWidgetArr.add(bottomItem('images/main/icon_main_clockingIn.png', + '考勤'.tr, state.bottomBtnisEable.value, () { Get.toNamed(Routers.checkingInListPage, arguments: state.keyInfos.value); })); } // 操作记录 - showWidgetArr.add(bottomItem( - 'images/main/icon_main_operatingRecord.png', - '操作记录'.tr, - state.bottomBtnisEable.value, () { + showWidgetArr.add(bottomItem('images/main/icon_main_operatingRecord.png', + '操作记录'.tr, state.bottomBtnisEable.value, () { Get.toNamed(Routers.doorLockLogPage, arguments: { 'keyInfo': state.keyInfos.value @@ -1032,27 +1029,21 @@ class _LockDetailPageState extends State final List showWidgetArr = []; // 考勤 if (state.isAttendance.value == 1) { - showWidgetArr.add(bottomItem( - 'images/main/icon_main_clockingIn.png', - '考勤'.tr, - state.bottomBtnisEable.value, () { + showWidgetArr.add(bottomItem('images/main/icon_main_clockingIn.png', + '考勤'.tr, state.bottomBtnisEable.value, () { Get.toNamed(Routers.checkingInListPage, arguments: state.keyInfos.value); })); } // 电子钥匙 - showWidgetArr.add(bottomItem( - 'images/main/icon_main_electronicKey.png', - '电子钥匙'.tr, - state.bottomBtnisEable.value, () { + showWidgetArr.add(bottomItem('images/main/icon_main_electronicKey.png', + '电子钥匙'.tr, state.bottomBtnisEable.value, () { Get.toNamed(Routers.electronicKeyListPage); })); // 密码 - showWidgetArr.add(bottomItem( - 'images/main/icon_main_password.png', - '密码'.tr, + showWidgetArr.add(bottomItem('images/main/icon_main_password.png', '密码'.tr, state.bottomBtnisEable.value, () { Get.toNamed(Routers.passwordKeyListPage, arguments: { @@ -1062,9 +1053,7 @@ class _LockDetailPageState extends State // ic卡 if (state.keyInfos.value.lockFeature!.icCard == 1) { - showWidgetArr.add(bottomItem( - 'images/main/icon_main_icCard.png', - '卡'.tr, + showWidgetArr.add(bottomItem('images/main/icon_main_icCard.png', '卡'.tr, state.bottomBtnisEable.value, () { Get.toNamed(Routers.cardListPage, arguments: { 'lockId': state.keyInfos.value.lockId, @@ -1074,10 +1063,8 @@ class _LockDetailPageState extends State // 指纹 if (state.keyInfos.value.lockFeature!.fingerprint == 1) { - showWidgetArr.add(bottomItem( - 'images/main/icon_main_fingerprint.png', - '指纹'.tr, - state.bottomBtnisEable.value, () { + showWidgetArr.add(bottomItem('images/main/icon_main_fingerprint.png', + '指纹'.tr, state.bottomBtnisEable.value, () { Get.toNamed(Routers.fingerprintListPage, arguments: { 'lockId': state.keyInfos.value.lockId, }); @@ -1086,10 +1073,8 @@ class _LockDetailPageState extends State // 遥控 if (state.keyInfos.value.lockFeature!.bluetoothRemoteControl == 1) { - showWidgetArr.add(bottomItem( - 'images/main/icon_main_remoteControl.png', - '遥控'.tr, - state.bottomBtnisEable.value, () { + showWidgetArr.add(bottomItem('images/main/icon_main_remoteControl.png', + '遥控'.tr, state.bottomBtnisEable.value, () { Get.toNamed(Routers.remoteControlListPage, arguments: { 'lockId': state.keyInfos.value.lockId, }); @@ -1165,9 +1150,7 @@ class _LockDetailPageState extends State final List endWiddget = []; endWiddget.add( // 操作记录 - bottomItem( - 'images/main/icon_main_operatingRecord.png', - '操作记录'.tr, + bottomItem('images/main/icon_main_operatingRecord.png', '操作记录'.tr, state.bottomBtnisEable.value, () { // Get.toNamed(Routers.lockOperatingRecordPage, // arguments: {"keyInfo": state.keyInfos.value}); @@ -1189,18 +1172,21 @@ class _LockDetailPageState extends State }); })); } - endWiddget.add( - // 消息提醒 - bottomItem( - 'images/main/icon_lockDetail_messageReminding.png', - TranslationLoader.lanKeys!.messageReminding!.tr, - state.bottomBtnisEable.value, () { - Get.toNamed(Routers.msgNotificationPage, arguments: { - 'lockId': state.keyInfos.value.lockId, - 'isSupportCatEye': state.keyInfos.value.lockFeature!.isSupportCatEye, - }); - }), - ); + if (!F.isProductionEnv) { + endWiddget.add( + // 消息提醒 + bottomItem( + 'images/main/icon_lockDetail_messageReminding.png', + TranslationLoader.lanKeys!.messageReminding!.tr, + state.bottomBtnisEable.value, () { + Get.toNamed(Routers.msgNotificationPage, arguments: { + 'lockId': state.keyInfos.value.lockId, + 'isSupportCatEye': + state.keyInfos.value.lockFeature!.isSupportCatEye, + }); + }), + ); + } if (F.isSKY) { endWiddget.add( diff --git a/lib/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_page.dart b/lib/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_page.dart index 2d5887d8..d6251fa4 100755 --- a/lib/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_page.dart +++ b/lib/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_page.dart @@ -133,13 +133,13 @@ class _MsgNotificationPageState extends State { SizedBox( height: 10.h, ), - Obx(() => CommonItem( - leftTitel: '有人按门铃'.tr, - rightTitle: "", - isHaveLine: true, - isHaveRightWidget: true, - rightWidget: - SizedBox(width: 60.w, height: 50.h, child: _switch(3)))), + // Obx(() => CommonItem( + // leftTitel: '有人按门铃'.tr, + // rightTitle: "", + // isHaveLine: true, + // isHaveRightWidget: true, + // rightWidget: + // SizedBox(width: 60.w, height: 50.h, child: _switch(3)))), SizedBox( height: 10.h, ), diff --git a/lib/mine/mineSet/mineSet/mineSet_page.dart b/lib/mine/mineSet/mineSet/mineSet_page.dart index 496729f2..f813dfb5 100755 --- a/lib/mine/mineSet/mineSet/mineSet_page.dart +++ b/lib/mine/mineSet/mineSet/mineSet_page.dart @@ -221,15 +221,16 @@ class _MineSetPageState extends State Get.toNamed(Routers.authorizedAdministratorListPage); }), //by DaisyWu 新增--批量授权 - CommonItem( - leftTitel: TranslationLoader.lanKeys!.authorityManagement!.tr, - rightTitle: '', - isHaveLine: true, - isHaveDirection: true, - action: () { - Get.toNamed(Routers.authorityManagementPage); - // Toast.show(msg: "功能暂未开放"); - }), + if (!F.isProductionEnv) + CommonItem( + leftTitel: TranslationLoader.lanKeys!.authorityManagement!.tr, + rightTitle: '', + isHaveLine: true, + isHaveDirection: true, + action: () { + Get.toNamed(Routers.authorityManagementPage); + // Toast.show(msg: "功能暂未开放"); + }), CommonItem( leftTitel: TranslationLoader.lanKeys!.lockGroup!.tr, rightTitle: '', @@ -246,14 +247,15 @@ class _MineSetPageState extends State action: () { Get.toNamed(Routers.transferSmartLockPage); }), - CommonItem( - leftTitel: TranslationLoader.lanKeys!.transferGateway!.tr, - rightTitle: '', - isHaveLine: true, - isHaveDirection: true, - action: () { - Get.toNamed(Routers.selectGetewayListPage); - }), + //暂无网关屏蔽 + // CommonItem( + // leftTitel: TranslationLoader.lanKeys!.transferGateway!.tr, + // rightTitle: '', + // isHaveLine: true, + // isHaveDirection: true, + // action: () { + // Get.toNamed(Routers.selectGetewayListPage); + // }), SizedBox( height: 10.h, ), @@ -326,7 +328,7 @@ class _MineSetPageState extends State height: 10.h, ), //上架审核注释 - if (!F.isLite) + if (!F.isProductionEnv) CommonItem( leftTitel: 'Amazon Alexa', rightTitle: '', @@ -335,7 +337,7 @@ class _MineSetPageState extends State action: () { logic.showToast('功能暂未开放'.tr); }), - if (!F.isLite) + if (!F.isProductionEnv) CommonItem( leftTitel: 'Google Home', rightTitle: '', @@ -344,7 +346,7 @@ class _MineSetPageState extends State action: () { logic.showToast('功能暂未开放'.tr); }), - if (!F.isLite) + if (!F.isProductionEnv) CommonItem( leftTitel: TranslationLoader.lanKeys!.xiaomiIOTPlatform!.tr, rightTitle: '', diff --git a/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_page.dart b/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_page.dart index b7674d2f..cfa191cb 100755 --- a/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_page.dart +++ b/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_page.dart @@ -236,12 +236,18 @@ class _ValueAddedServicesHighFunctionPageState '群发钥匙'.tr), // _buildItem("images/mine/icon_mine_highFunctionContent_bjft.png", // TranslationLoader.lanKeys!.markedHouseState!.tr), - _buildItem('images/mine/icon_mine_highFunctionContent_fkgj.png', - TranslationLoader.lanKeys!.cardIssuingtool!.tr), - _buildItem( - 'images/mine/icon_mine_highFunctionContent_fkgj.png', '推送'), - _buildItem( - 'images/mine/icon_mine_highFunctionContent_fkgj.png', '考勤'), + // _buildItem('images/mine/icon_mine_highFunctionContent_fkgj.png', + // TranslationLoader.lanKeys!.cardIssuingtool!.tr), + // _buildItem( + // 'images/mine/icon_mine_highFunctionContent_fkgj.png', '推送'), + // _buildItem( + // 'images/mine/icon_mine_highFunctionContent_fkgj.png', '考勤'), + _buildItem('images/mine/icon_mine_highFunctionContent_bjft.png', + '导出锁数据'.tr), + _buildItem('images/mine/icon_mine_highFunctionContent_bjft.png', + '常开模式'.tr), + _buildItem('images/mine/icon_mine_highFunctionContent_bjft.png', + '一键开锁'.tr), ], ), ), diff --git a/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart b/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart index 8f31651c..3c56dcf5 100755 --- a/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart +++ b/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart @@ -3,6 +3,7 @@ import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; +import 'package:star_lock/flavors.dart'; import 'package:star_lock/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_logic.dart'; import 'package:star_lock/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_state.dart'; import 'package:star_lock/tools/commonDataManage.dart'; @@ -57,7 +58,10 @@ class _ValueAddedServicesPageListState Get.toNamed(Routers.valueAddedServicesNoteAndEmailDetailPage, arguments: {'type': 2}); }), - _valueAddedServicesItem(Image.asset('images/mine/icon_mine_valueAddedServices_realName.png'), '实名认证'.tr, () { + _valueAddedServicesItem( + Image.asset( + 'images/mine/icon_mine_valueAddedServices_realName.png'), + '实名认证'.tr, () { Get.toNamed(Routers.valueAddedServicesRealNamePage); }), _valueAddedServicesItem( @@ -89,39 +93,55 @@ class _ValueAddedServicesPageListState // TranslationLoader.lanKeys!.checkingIn!.tr, () { // Navigator.pushNamed(context, Routers.gatewayDetailPage); // }), - _valueAddedServicesItem( - Image.asset( - 'images/mine/icon_mine_valueAddedServices_storage.png'), - TranslationLoader.lanKeys!.recordsRetention!.tr, () { - EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds); - }), - _valueAddedServicesItem( - Image.asset('images/mine/icon_mine_valueAddedServices_vip.png'), - '可视对讲', () { - EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds); - }), - _valueAddedServicesItem( - Text( - 'A', - style: TextStyle( - color: Colors.white, - fontSize: 38.sp, - fontWeight: FontWeight.w600), - ), - 'Amazon Alexa', () { - EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds); - }), - _valueAddedServicesItem( - Text( - 'G', - style: TextStyle( - color: Colors.white, - fontSize: 38.sp, - fontWeight: FontWeight.w600), - ), - 'Google Home', () { - EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds); - }), + //去掉记录保存 + // _valueAddedServicesItem( + // Image.asset( + // 'images/mine/icon_mine_valueAddedServices_storage.png'), + // TranslationLoader.lanKeys!.recordsRetention!.tr, () { + // EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds); + // }), + if (!F.isProductionEnv) + _valueAddedServicesItem( + Image.asset('images/mine/icon_mine_valueAddedServices_vip.png'), + '可视对讲', () { + EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds); + }), + if (!F.isProductionEnv) + _valueAddedServicesItem( + Text( + 'A', + style: TextStyle( + color: Colors.white, + fontSize: 38.sp, + fontWeight: FontWeight.w600), + ), + 'Amazon Alexa', () { + EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds); + }), + if (!F.isProductionEnv) + _valueAddedServicesItem( + Text( + 'G', + style: TextStyle( + color: Colors.white, + fontSize: 38.sp, + fontWeight: FontWeight.w600), + ), + 'Google Home', () { + EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds); + }), + if (!F.isProductionEnv) + _valueAddedServicesItem( + Text( + 'M', + style: TextStyle( + color: Colors.white, + fontSize: 38.sp, + fontWeight: FontWeight.w600), + ), + '小米IOT平台', () { + EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds); + }), ], ), ); diff --git a/lib/tools/showCupertinoAlertView.dart b/lib/tools/showCupertinoAlertView.dart index 2e67d597..a5eeb46a 100755 --- a/lib/tools/showCupertinoAlertView.dart +++ b/lib/tools/showCupertinoAlertView.dart @@ -30,11 +30,14 @@ class ShowCupertinoAlertView { SizedBox( height: 60.h, ), - Image.network( - qrCodeUrl, - width: 400.w, - height: 400.w, - ), + if (qrCodeUrl.isNotEmpty) + Image.network( + qrCodeUrl, + width: 400.w, + height: 400.w, + ) + else + Container(), SizedBox( height: 20.h, ),