-
-
Start
-
+ class="grid grid-cols-2 divide-x divide-card-background-separator text-center py-2">
+
-
diff --git a/resources/js/Components/Common/TimeTracker/TimeTrackerRangeSelector.vue b/resources/js/Components/Common/TimeTracker/TimeTrackerRangeSelector.vue
index 0c88f17d..b985fa40 100644
--- a/resources/js/Components/Common/TimeTracker/TimeTrackerRangeSelector.vue
+++ b/resources/js/Components/Common/TimeTracker/TimeTrackerRangeSelector.vue
@@ -6,7 +6,7 @@ import dayjs from 'dayjs';
import parse from 'parse-duration';
import { useCurrentTimeEntryStore } from '@/utils/useCurrentTimeEntry';
import { storeToRefs } from 'pinia';
-import { getDayJsInstance } from '@/utils/time';
+import { formatDuration, getDayJsInstance } from '@/utils/time';
const currentTimeEntryStore = useCurrentTimeEntryStore();
const { startLiveTimer, stopLiveTimer, updateTimer, startTimer } =
currentTimeEntryStore;
@@ -34,8 +34,8 @@ const currentTime = computed({
}
if (now.value && currentTimeEntry.value.start) {
const startTime = dayjs(currentTimeEntry.value.start);
- const diff = now.value.diff(startTime);
- return dayjs(diff).utc().format('HH:mm:ss');
+ const diff = now.value.diff(startTime, 'seconds');
+ return formatDuration(diff);
}
return null;
},
diff --git a/resources/js/utils/time.ts b/resources/js/utils/time.ts
index 69092b68..fccea049 100644
--- a/resources/js/utils/time.ts
+++ b/resources/js/utils/time.ts
@@ -46,6 +46,14 @@ export function formatHumanReadableDuration(duration: number): string {
return `${hours}h ${minutes.toString().padStart(2, '0')}min`;
}
+export function formatDuration(duration: number): string {
+ const dayJsDuration = dayjs.duration(duration, 's');
+ const hours = dayJsDuration.hours() + dayJsDuration.days() * 24;
+ const minutes = dayJsDuration.minutes();
+ const seconds = dayJsDuration.seconds();
+ return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
+}
+
export function calculateDifference(start: string, end: string | null) {
if (end === null) {
end = dayjs().utc().format();