Skip to content

Commit d3a8f99

Browse files
committed
fix: display only repos with > 10 indexed issues
1 parent 52c9f75 commit d3a8f99

File tree

2 files changed

+24
-9
lines changed

2 files changed

+24
-9
lines changed

app/pages/index.vue

+12-6
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ if (import.meta.client && isCallback.value) {
1919
unsub()
2020
})
2121
}
22+
23+
const repos = computed(() => allowedRepos.value.filter(r => r.issuesIndexed > 10))
2224
</script>
2325

2426
<template>
@@ -46,17 +48,21 @@ if (import.meta.client && isCallback.value) {
4648
class="text-center"
4749
>
4850
or pick a repository to browse issue clusters
49-
<ul class="p-0 flex flex-col gap-2">
51+
<ul class="p-0 flex flex-row flex-wrap gap-4 justify-center">
5052
<li
51-
v-for="repo in allowedRepos"
52-
:key="repo"
53+
v-for="repo in repos"
54+
:key="repo.repo"
5355
class="list-none"
5456
>
5557
<NuxtLink
56-
:to="`/${repo}`"
57-
class="no-underline text-gray-400 hover:underline active:text-white"
58+
:to="`/${repo.repo}`"
59+
class="no-underline text-gray-400 hover:underline active:text-white flex flex-row gap-1 items-center"
5860
>
59-
{{ repo }}
61+
<span
62+
class="h-1.5 w-1.5 inline-block rounded-full shadow-sm bg-opacity-90 mt-0.5"
63+
:class="repo.indexed ? 'bg-green-600' : 'bg-gray-200'"
64+
/>
65+
{{ repo.repo }}
6066
</NuxtLink>
6167
</li>
6268
</ul>

server/api/repos.get.ts

+12-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,22 @@
11
import { defineCachedCorsEventHandler } from '~~/server/utils/cached-cors'
2+
import { getMetadataForRepo } from '~~/server/utils/metadata'
23

34
export default defineCachedCorsEventHandler(async () => {
45
const kv = hubKV()
56
const keys = await kv.getKeys('repo')
6-
return keys.flatMap((key) => {
7+
return Promise.all(keys.map(async (key) => {
78
const [owner, name] = key.split(':').slice(1)
89
if (!owner || !name) {
910
return []
1011
}
11-
return [`${owner}/${name}`]
12-
})
12+
const [keys, meta] = await Promise.all([
13+
kv.getKeys(storagePrefixForRepo(owner, name)),
14+
getMetadataForRepo(owner, name),
15+
])
16+
return [{
17+
repo: `${owner}/${name}`,
18+
issuesIndexed: keys.length,
19+
indexed: meta?.indexed || false,
20+
}]
21+
})).then(r => r.flat())
1322
}, { swr: true })

0 commit comments

Comments
 (0)