|
|
|
|
@ -112,6 +112,23 @@ class _OneTimeTaskViewState extends State<OneTimeTaskView> {
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
return Scaffold(
|
|
|
|
|
@ -252,6 +269,16 @@ class _OneTimeTaskViewState extends State<OneTimeTaskView> {
|
|
|
|
|
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),
|
|
|
|
|
],
|
|
|
|
|
|