MobilApp/lib/widgets/tracking/track_recording_action.dart

53 lines
1.2 KiB
Dart
Raw Normal View History

import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:terepi_seged/pages/tracking/presentation/controllers/tracking_controller.dart';
import 'track_recording_action_visual.dart';
class TrackRecordingAction extends StatelessWidget {
final TrackingController controller;
final VoidCallback? onTap;
final VoidCallback? onLongPress;
const TrackRecordingAction({
super.key,
required this.controller,
this.onTap,
this.onLongPress,
});
@override
Widget build(BuildContext context) {
return Obx(() {
return TrackRecordingActionVisual(
isRecording: controller.isRecording.value,
isPaused: controller.isPaused.value,
elapsedText: _shortElapsedText(controller.elapsedFormatted.value),
onTap: onTap,
onLongPress: onLongPress,
);
});
}
String _shortElapsedText(String value) {
// A controller most HH:MM:SS formátumot ad, pl. 00:38:37.
final parts = value.split(':');
if (parts.length != 3) {
return value;
}
final h = int.tryParse(parts[0]) ?? 0;
final m = parts[1];
final s = parts[2];
if (h <= 0) {
return '$m:$s'; // 38:37
}
return '$h:$m'; // 1:04
}
}