mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-02 22:37:32 +00:00
refactor: replace custom formatExecutionTime with formatDuration utility
- Use existing formatDuration util from shared utils instead of custom implementation - Extract execution time formatting to computed property for cleaner template - Remove 'any' type assertion in MediaAssetActions, use proper types
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
<i class="icon-[lucide--copy] size-4" />
|
||||
</button>
|
||||
<span class="ml-auto text-sm text-neutral-500">
|
||||
{{ formatExecutionTime(folderExecutionTime) }}
|
||||
{{ formattedExecutionTime }}
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
@@ -110,7 +110,10 @@ import MediaAssetCard from '@/platform/assets/components/MediaAssetCard.vue'
|
||||
import { useMediaAssets } from '@/platform/assets/composables/useMediaAssets'
|
||||
import type { AssetItem } from '@/platform/assets/schemas/assetSchema'
|
||||
import { ResultItemImpl } from '@/stores/queueStore'
|
||||
import { getMediaTypeFromFilenamePlural } from '@/utils/formatUtil'
|
||||
import {
|
||||
formatDuration,
|
||||
getMediaTypeFromFilenamePlural
|
||||
} from '@/utils/formatUtil'
|
||||
|
||||
const activeTab = ref<'input' | 'output'>('input')
|
||||
const mediaAssets = ref<AssetItem[]>([])
|
||||
@@ -119,6 +122,11 @@ const folderPromptId = ref<string | null>(null)
|
||||
const folderExecutionTime = ref<number | undefined>(undefined)
|
||||
const isInFolderView = computed(() => folderPromptId.value !== null)
|
||||
|
||||
const formattedExecutionTime = computed(() => {
|
||||
if (!folderExecutionTime.value) return ''
|
||||
return formatDuration(folderExecutionTime.value * 1000)
|
||||
})
|
||||
|
||||
const toast = useToast()
|
||||
|
||||
// Use unified media assets implementation that handles cloud/internal automatically
|
||||
@@ -280,16 +288,4 @@ const copyJobId = async () => {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const formatExecutionTime = (seconds?: number): string => {
|
||||
if (!seconds) return ''
|
||||
|
||||
const minutes = Math.floor(seconds / 60)
|
||||
const remainingSeconds = Math.floor(seconds % 60)
|
||||
|
||||
if (minutes > 0) {
|
||||
return `${minutes}m ${remainingSeconds}s`
|
||||
}
|
||||
return `${remainingSeconds}s`
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -37,11 +37,8 @@ const emit = defineEmits<{
|
||||
const { asset, context } = inject(MediaAssetKey)!
|
||||
const actions = useMediaAssetActions()
|
||||
|
||||
// Get asset type from context or tags
|
||||
const assetType = computed(() => {
|
||||
// Check if asset has tags property (AssetItem type)
|
||||
const assetWithTags = asset.value as any
|
||||
return context?.value?.type || assetWithTags?.tags?.[0] || 'output'
|
||||
return context?.value?.type || asset.value?.tags?.[0] || 'output'
|
||||
})
|
||||
|
||||
const handleDelete = () => {
|
||||
|
||||
Reference in New Issue
Block a user