Untitled
unknown
dart
a year ago
7.2 kB
3
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