@@ -22,6 +22,14 @@ onMounted(async () => {
22
22
}
23
23
})
24
24
25
+ function navigateToRepo(event : Event ) {
26
+ const [owner, repo] = (event .target as HTMLSelectElement ).value .split (' /' )
27
+ return navigateTo ({
28
+ name: ' owner-repo' ,
29
+ params: { owner , repo },
30
+ })
31
+ }
32
+
25
33
function labelColors(color : string ) {
26
34
const value = hexRgb (color )
27
35
const [hue, saturation, lightness] = rgbToHSL (value .red , value .green , value .blue )
@@ -67,7 +75,7 @@ const openState = reactive<Record<string, boolean>>({})
67
75
<select
68
76
:value =" selectedRepo"
69
77
class =" pl-8 bg-transparent pr-2 py-2 color-white border-0 w-full"
70
- @change =" (event: Event) => { navigateTo(`/${(event.target as HTMLSelectElement).value}`) } "
78
+ @change =" navigateToRepo "
71
79
>
72
80
<option
73
81
v-for =" repo in allowedRepos"
@@ -155,12 +163,22 @@ const openState = reactive<Record<string, boolean>>({})
155
163
>
156
164
{{ issue.title }}
157
165
</NuxtLink >
158
- <span
166
+ <div
159
167
class =" text-xs relative md:absolute md:mt-6 text-gray-400 mb-1"
160
168
>
161
- <span v-if =" issue.repository" >
169
+ <NuxtLink
170
+ v-if =" issue.repository"
171
+ class =" no-underline hover:underline color-current"
172
+ :to =" {
173
+ name: 'owner-repo',
174
+ params: {
175
+ owner: issue.repository.split('/')[0],
176
+ repo: issue.repository.split('/')[1],
177
+ },
178
+ }"
179
+ >
162
180
{{ issue.repository }}
163
- </span >
181
+ </NuxtLink >
164
182
· ;
165
183
updated
166
184
<NuxtTime
@@ -169,7 +187,7 @@ const openState = reactive<Record<string, boolean>>({})
169
187
/>
170
188
· ;
171
189
{{ Math.floor(issue.avgSimilarity * 100) }}% similar
172
- </span >
190
+ </div >
173
191
<div class =" flex flex-row gap-1 items-baseline flex-wrap md:flex-nowrap" >
174
192
<span
175
193
v-for =" (label, j) of issue.labels"
0 commit comments