import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetailChangeDate/electronicKeyDetailChangeDate_logic.dart'; import 'package:star_lock/tools/pickers/pickers.dart'; import 'package:star_lock/tools/pickers/time_picker/model/date_mode.dart'; import 'package:star_lock/tools/pickers/time_picker/model/pduration.dart'; import '../../../../../app_settings/app_colors.dart'; import '../../../../../tools/commonItem.dart'; import '../../../../../tools/dateTool.dart'; import '../../../../../tools/titleAppBar.dart'; import '../../../../../translations/trans_lib.dart'; class ElectronicKeyDetailChangeDate extends StatefulWidget { const ElectronicKeyDetailChangeDate({Key? key}) : super(key: key); @override State createState() => _ElectronicKeyDetailChangeDateState(); } class _ElectronicKeyDetailChangeDateState extends State { final logic = Get.put(ElectronicKeyDetailChangeDateLogic()); final state = Get.find().state; @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, appBar: TitleAppBar( barTitle: "${TranslationLoader.lanKeys!.amend!.tr}${TranslationLoader.lanKeys!.periodValidity!.tr}", haveBack: true, backgroundColor: AppColors.mainColor, actionsList: [ TextButton( child: Text( TranslationLoader.lanKeys!.sure!.tr, style: TextStyle(color: Colors.white, fontSize: 24.sp), ), onPressed: () { logic.updateKeyDateRequest(); }, ), ], ), body: buildMainUI(), ); } Widget buildMainUI() { return Column( children: [ Obx(() => CommonItem( leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle: state.beginTime.value, isHaveLine: true, isHaveDirection: true, action: () { PDuration selectDate = PDuration.parse(DateTime.tryParse(state.beginTime.value)); Pickers.showDatePicker(context, selectDate: selectDate, mode: DateMode.YMDHM, onConfirm: (p) { setState(() { state.beginTime.value = DateTool().getYMDHNDateString(p, 1); }); }); })), Obx(() => CommonItem( leftTitel: TranslationLoader.lanKeys!.failureTime!.tr, rightTitle: state.endTime.value, isHaveDirection: true, action: () { PDuration selectDate = PDuration.parse(DateTime.tryParse(state.endTime.value)); Pickers.showDatePicker(context, selectDate: selectDate, mode: DateMode.YMDHM, onConfirm: (p) { setState(() { state.endTime.value = DateTool().getYMDHNDateString(p, 1); }); }); })), ], ); } }