import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/views/widgets/item_views/info_date_widget.dart'; import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; import 'task_request_detail_view.dart'; class TaskRequestItemView extends StatelessWidget { final Data? requestData; final RequestsDetails? requestDetails; final bool showShadow; const TaskRequestItemView({Key? key, this.requestData, this.requestDetails, this.showShadow = true}) : super(key: key); @override Widget build(BuildContext context) { if (requestData != null) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ StatusLabel( label: requestData!.priorityName!, textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.priorityName!), backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.priorityName!), ), 8.width, StatusLabel( label: requestData!.statusName!, textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.statusName!), backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), ), 1.width.expanded, InfoDateWidget(requestData!.transactionDate ?? ""), ], ), InfoHeaderWidget(requestData?.typeTransaction ?? context.translation.taskRequest), InfoTextWidget(label: context.translation.requestNo, value: requestData?.requestNo), InfoTextWidget(label: context.translation.assetName, value: requestData?.assetName), InfoTextWidget(label: context.translation.assetNo, value: requestData?.assetNumber, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.of(context).push(MaterialPageRoute( builder: (_) => TaskRequestDetailsView( taskId: requestData!.id!, moduleId: requestData!.transactionNo!, requestDetails: RequestsDetails(nameOfType: requestData?.nameOfType, status: requestData?.statusName, priority: requestData?.priorityName, date: requestData?.transactionDate, ), ))); }); } return Column( crossAxisAlignment: CrossAxisAlignment.start, spacing: 1, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ StatusLabel( label: requestDetails!.priority!, textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails?.priority!), backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails?.priority!), ), 8.width, StatusLabel( label: requestDetails!.status!, textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails?.status!), backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails?.status!), ), 1.width.expanded, InfoDateWidget(requestDetails!.date ?? ""), ], ), InfoHeaderWidget(requestDetails?.nameOfType ?? context.translation.taskRequest), InfoTextWidget(label: context.translation.requestNo, value: requestDetails!.requestNo), InfoTextWidget(label: context.translation.assetName, value: requestDetails!.assetName), InfoTextWidget(label: context.translation.assetNo, value: requestDetails!.assetNo), InfoTextWidget(label: context.translation.assetSN, value: requestDetails!.assetSN), InfoTextWidget(label: context.translation.site, value: requestDetails!.site, showArrow: true), ], ).toShadowContainer(context, withShadow: showShadow).onPress(() async { Navigator.of(context).push(MaterialPageRoute( builder: (_) => TaskRequestDetailsView( taskId: requestDetails!.id!, moduleId: requestDetails!.transactionType!, requestDetails: requestDetails, ))); }); } }