add duration for task when completed

cleaner_module_new_flow
WaseemAbbasi22 4 weeks ago
parent c35162fd88
commit 7327cda1bd

@ -112,6 +112,23 @@ class _OneTimeTaskViewState extends State<OneTimeTaskView> {
bool get isClosed => _taskData?.statusValue == 2; bool get isClosed => _taskData?.statusValue == 2;
String _formatDuration(Duration duration) {
if (duration.inDays > 0) {
final hours = duration.inHours % 24;
final minutes = duration.inMinutes % 60;
return '${duration.inDays}d ${hours}h ${minutes}m';
} else if (duration.inHours > 0) {
final minutes = duration.inMinutes % 60;
final seconds = duration.inSeconds % 60;
return '${duration.inHours}h ${minutes}m ${seconds}s';
} else if (duration.inMinutes > 0) {
final seconds = duration.inSeconds % 60;
return '${duration.inMinutes}m ${seconds}s';
} else {
return '${duration.inSeconds}s';
}
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@ -252,6 +269,16 @@ class _OneTimeTaskViewState extends State<OneTimeTaskView> {
showTimer: true, showTimer: true,
), ),
], ],
// Display total duration if task is completed
if (isClosed && _taskData?.startTime != null && _taskData?.endTime != null) ...[
// 12.height,
Text(
'Total Duration: ${_formatDuration(DateTime.parse(_taskData!.endTime!).difference(DateTime.parse(_taskData!.startTime!)))}',
style: AppTextStyles.bodyText.copyWith(
color: context.isDark ? AppColor.neutral10 : AppColor.neutral120,
),
),
],
], ],
).paddingOnly(start: 16, end: 16, top: 16, bottom: 16), ).paddingOnly(start: 16, end: 16, top: 16, bottom: 16),
], ],

Loading…
Cancel
Save