|
|
@@ -66,6 +66,7 @@ import { api, ApiError } from '../api/client';
|
|
|
import { PipelineRunsView } from './PipelineRunsPage';
|
|
|
import { type TimeFormat, formatETA, formatDuration, formatRelativeTime, parseUTCDate } from '../utils/date';
|
|
|
import { getBedTypeInfo } from '../utils/bedType';
|
|
|
+import { formatQueueItemETA } from '../utils/queueEta';
|
|
|
import type { PrintQueueItem, PrintQueueBulkUpdate, Permission, CalibrationMode } from '../api/client';
|
|
|
import { Card } from '../components/Card';
|
|
|
import { Button } from '../components/Button';
|
|
|
@@ -598,10 +599,20 @@ function SortableQueueItem({
|
|
|
</span>
|
|
|
</span>
|
|
|
{item.print_time_seconds && (
|
|
|
- <span className="flex items-center gap-1 sm:gap-1.5">
|
|
|
- <Timer className="w-3 h-3 sm:w-3.5 sm:h-3.5" />
|
|
|
- {formatDuration(item.print_time_seconds)}
|
|
|
- </span>
|
|
|
+ <>
|
|
|
+ <span className="flex items-center gap-1 sm:gap-1.5">
|
|
|
+ <Timer className="w-3 h-3 sm:w-3.5 sm:h-3.5" />
|
|
|
+ {formatDuration(item.print_time_seconds)}
|
|
|
+ </span>
|
|
|
+ {!item.waiting_reason && (
|
|
|
+ <span
|
|
|
+ className="text-bambu-green font-medium"
|
|
|
+ title={t('printers.estimatedCompletion')}
|
|
|
+ >
|
|
|
+ ETA {formatQueueItemETA(item.print_time_seconds, timeFormat, t)}
|
|
|
+ </span>
|
|
|
+ )}
|
|
|
+ </>
|
|
|
)}
|
|
|
{item.filament_used_grams && (
|
|
|
<span className="flex items-center gap-1 sm:gap-1.5">
|