diff --git a/src/components/sidebar/tabs/AssetsSidebarTab.vue b/src/components/sidebar/tabs/AssetsSidebarTab.vue
index 126b915c41..a934537367 100644
--- a/src/components/sidebar/tabs/AssetsSidebarTab.vue
+++ b/src/components/sidebar/tabs/AssetsSidebarTab.vue
@@ -36,13 +36,14 @@
- {{ $t('sideToolbar.labels.imported') }}
{{ $t('sideToolbar.labels.generated') }}
+ {{ $t('sideToolbar.labels.imported') }}
diff --git a/src/locales/en/main.json b/src/locales/en/main.json
index 28b56bb2ca..92e1e08c19 100644
--- a/src/locales/en/main.json
+++ b/src/locales/en/main.json
@@ -621,7 +621,9 @@
"mediaAssets": {
"title": "Media Assets",
"sortNewestFirst": "Newest first",
- "sortOldestFirst": "Oldest first"
+ "sortOldestFirst": "Oldest first",
+ "sortLongestFirst": "Generation time (longest first)",
+ "sortFastestFirst": "Generation time (fastest first)"
},
"backToAssets": "Back to all assets",
"searchAssets": "Search assets...",
diff --git a/src/platform/assets/components/MediaAssetFilterBar.vue b/src/platform/assets/components/MediaAssetFilterBar.vue
index 30729318b9..c3b5612029 100644
--- a/src/platform/assets/components/MediaAssetFilterBar.vue
+++ b/src/platform/assets/components/MediaAssetFilterBar.vue
@@ -14,6 +14,7 @@
@@ -29,23 +30,24 @@ import { isCloud } from '@/platform/distribution/types'
import AssetSortButton from './MediaAssetSortButton.vue'
import MediaAssetSortMenu from './MediaAssetSortMenu.vue'
-interface MediaAssetSearchBarProps {
+const { showGenerationTimeSort = false } = defineProps<{
searchQuery: string
- sortBy: 'newest' | 'oldest'
-}
-
-defineProps()
+ sortBy: 'newest' | 'oldest' | 'longest' | 'fastest'
+ showGenerationTimeSort?: boolean
+}>()
const emit = defineEmits<{
'update:searchQuery': [value: string]
- 'update:sortBy': [value: 'newest' | 'oldest']
+ 'update:sortBy': [value: 'newest' | 'oldest' | 'longest' | 'fastest']
}>()
const handleSearchChange = (value: string | undefined) => {
emit('update:searchQuery', value ?? '')
}
-const handleSortChange = (value: 'newest' | 'oldest') => {
+const handleSortChange = (
+ value: 'newest' | 'oldest' | 'longest' | 'fastest'
+) => {
emit('update:sortBy', value)
}
diff --git a/src/platform/assets/components/MediaAssetSortMenu.vue b/src/platform/assets/components/MediaAssetSortMenu.vue
index 4fa1b17e02..522a7622f1 100644
--- a/src/platform/assets/components/MediaAssetSortMenu.vue
+++ b/src/platform/assets/components/MediaAssetSortMenu.vue
@@ -21,22 +21,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+