diff --git a/frontend/current_screen.png b/frontend/current_screen.png
index 8e3924e2..68dbd224 100644
Binary files a/frontend/current_screen.png and b/frontend/current_screen.png differ
diff --git a/frontend/src/features/models/pages/ModelList.vue b/frontend/src/features/models/pages/ModelList.vue
index 0d249f65..39e7a442 100644
--- a/frontend/src/features/models/pages/ModelList.vue
+++ b/frontend/src/features/models/pages/ModelList.vue
@@ -53,13 +53,33 @@ const filterModel = reactive({
phase: '',
})
+const isSearching = ref(false)
+
+const handleSearchTrigger = () => {
+ isSearching.value = true
+ screenState.value = 'LOADING'
+ setTimeout(() => {
+ screenState.value = 'READY'
+ isSearching.value = false
+ }, 300)
+}
+
+const handleKeyDown = (e: KeyboardEvent) => {
+ if (e.key === 'F3') {
+ e.preventDefault()
+ handleSearchTrigger()
+ }
+}
+
onMounted(() => {
screenState.value = 'LOADING'
setTimeout(() => {
screenState.value = 'READY'
}, 500)
+ window.addEventListener('keydown', handleKeyDown)
})
+
const filteredModels = computed(() => {
return models.value.filter(m => {
const matchesSearch = m.name.toLowerCase().includes(filterModel.search.toLowerCase())
@@ -123,6 +143,13 @@ const handleRetry = () => {
+