diff --git a/src/components/quick-actions/quick-actions.vue b/src/components/quick-actions/quick-actions.vue index d70ca7d0e..1648d81db 100644 --- a/src/components/quick-actions/quick-actions.vue +++ b/src/components/quick-actions/quick-actions.vue @@ -143,18 +143,13 @@ const foundProjects = computed(() => { searchMode.value === SEARCH_MODE.PROJECTS || text === '' ) { - return [] + const history = getHistory() + return history.map((p) => projectStore.projects[p.id]) + .filter(p => Boolean(p)) } - const history = getHistory() - const allProjects = [ - ...new Set([ - ...history.map((p) => projectStore.projects[p.id]), - ...projectStore.searchProject(project), - ]), - ] - - return allProjects.filter(p => Boolean(p)) + return projectStore.searchProject(project ?? text) + .filter(p => Boolean(p)) }) // FIXME: use fuzzysearch diff --git a/src/stores/projects.ts b/src/stores/projects.ts index b3ce6d889..a18e14956 100644 --- a/src/stores/projects.ts +++ b/src/stores/projects.ts @@ -19,7 +19,7 @@ import {success} from '@/message' import {useBaseStore} from '@/stores/base' import {getSavedFilterIdFromProjectId} from '@/services/savedFilter' -const {remove, search, update} = createNewIndexer('projects', ['title', 'description']) +const {add, remove, search, update} = createNewIndexer('projects', ['title', 'description']) export interface ProjectState { [id: IProject['id']]: IProject @@ -174,6 +174,7 @@ export const useProjectStore = defineStore('project', () => { const loadedProjects = await projectService.getAll({}, {is_archived: true}) as IProject[] projects.value = {} setProjects(loadedProjects) + loadedProjects.forEach(p => add(p)) return loadedProjects } finally {