Untitled
unknown
dart
6 months ago
7.2 kB
1
Indexable
import 'package:adr/app/modules/history/controllers/edit_history_controller.dart'; import 'package:adr/app/routes/app_routes.dart'; import 'package:adr/app/utils/app_colors.dart'; import 'package:adr/app/utils/app_string.dart'; import 'package:adr/app/utils/dimention.dart'; import 'package:adr/app/utils/widgets/back_arrow.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:intl/intl.dart'; class EditHistoryRooms extends StatefulWidget { const EditHistoryRooms({super.key}); @override State<EditHistoryRooms> createState() => _EditHistoryRoomsState(); } class _EditHistoryRoomsState extends State<EditHistoryRooms> { EditHistoryController editHistoryController = Get.find(); @override void initState() { editHistoryController.jobHistoryModel.value = Get.arguments['jobHistoryModel']; super.initState(); } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.white, appBar: AppBar( backgroundColor: Colors.white, titleSpacing: 4, leading: BackArrowButton(), title: const Text( "Room List", style: TextStyle( color: Colors.black, fontWeight: FontWeight.bold, fontSize: 18, fontFamily: AppString.fontFamilyName, ), ), ), body: SafeArea( child: Padding( padding: const EdgeInsets.all(10.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ customText( 'Project Name ', editHistoryController.jobHistoryModel.value.projectName ?? "", ), const SizedBox(height: 10), customText( 'Project Number ', editHistoryController.jobHistoryModel.value.projectNumber ?? ""), const SizedBox(height: 10), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ customText( "Date", convertDateFormat(editHistoryController.jobHistoryModel .value.roomActions!.first.job?.date ?? "-"), ), customText( "Time", convertTimeToDate( editHistoryController.jobHistoryModel.value.roomActions! .first.job?.time ?? "", ), ), ], ), const SizedBox(height: 10), const Text( "Room list", style: TextStyle( color: AppColors.textFiledhintColor, fontWeight: FontWeight.w700, fontSize: 16, fontFamily: AppString.fontFamilyName, ), ), const SizedBox(height: 5), Column( children: () { final uniqueRooms = <int>{}; final uniqueRoomActions = editHistoryController .jobHistoryModel.value.roomActions! .where((e) { int roomName = e.room!.id!; if (uniqueRooms.add(roomName)) { return true; } return false; }).toList(); return uniqueRoomActions.map( (e) { return GestureDetector( onTap: () { Get.toNamed(Routes.EditHistoryDetail, arguments: {'select_room': e.room}); }, child: Card( color: AppColors.cardBgColor, margin: const EdgeInsets.only(bottom: 12), elevation: 0.07, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(Dimension.cornerRadius), ), child: Padding( padding: const EdgeInsets.all(10.0), child: Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( e.room?.name ?? "", style: const TextStyle( color: Colors.black, fontSize: 16, fontFamily: AppString.fontFamilyName, ), ), const Row( children: [ SizedBox(width: 16), Icon( Icons.arrow_forward_ios, size: 16, ) ], ) ], ), ], ), ), ), ); }, ).toList(); }(), ) ], ), ), ), ); } Widget customText(String text1, String text2) { return RichText( text: TextSpan( children: [ TextSpan( text: '$text1 : ', style: const TextStyle( color: Colors.black, fontSize: 18, fontWeight: FontWeight.bold, ), ), TextSpan( text: text2, style: const TextStyle( color: AppColors.lightGrey10, fontSize: 18, fontWeight: FontWeight.w500, ), ), ], ), ); } String convertDateFormat(String dateString) { DateTime dateTime = DateTime.parse(dateString); return DateFormat('MM-dd-yyyy').format(dateTime); } String convertTimeToDate(String time) { List<String> parts = time.split(':'); int hour = int.parse(parts[0]); int minute = int.parse(parts[1]); int second = int.parse(parts[2]); DateTime dateTime = DateTime(1970, 1, 1, hour, minute, second); return DateFormat.jm().format(dateTime); } }
Editor is loading...
Leave a Comment