mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-09-25 21:20:12 +00:00
58838f225c
Rewrite of the UI using Typescript, Vue3, Windicss and Vite. The design should be close to the current one with some changes: - latest pipeline in a sidebar on the right - secrets and registry as part of the repo-settings (secrets and registry entries shouldn't be used as much so they can be "hidden" under settings IMO) - start page shows list of active repositories with button to enable / add new ones (currently you see all repositories and in most cases you only add new repositories once in a while)
27 lines
600 B
TypeScript
27 lines
600 B
TypeScript
import Fuse from 'fuse.js';
|
|
import { computed, Ref } from 'vue';
|
|
|
|
import { Repo } from '~/lib/api/types';
|
|
|
|
export function useRepoSearch(repos: Ref<Repo[] | undefined>, search: Ref<string>) {
|
|
const searchIndex = computed(
|
|
() =>
|
|
new Fuse(repos.value || [], {
|
|
includeScore: true,
|
|
keys: ['name', 'owner'],
|
|
threshold: 0.4,
|
|
}),
|
|
);
|
|
|
|
const searchedRepos = computed(() => {
|
|
if (search.value === '') {
|
|
return repos.value;
|
|
}
|
|
|
|
return searchIndex.value.search(search.value).map((result) => result.item);
|
|
});
|
|
|
|
return {
|
|
searchedRepos,
|
|
};
|
|
}
|