Skip to content

Commit 96a4969

Browse files
authored
fix(ui): implement clickable package table rows (#1277)
1 parent 83abe34 commit 96a4969

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

app/components/Package/TableRow.vue

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,15 @@ const allMaintainersText = computed(() => {
4444

4545
<template>
4646
<tr
47-
class="group border-b border-border hover:bg-bg-muted transition-colors duration-200 focus-visible:ring-2 focus-visible:ring-fg focus-visible:ring-inset focus-visible:outline-none focus:bg-bg-muted"
47+
class="group relative border-b border-border hover:bg-bg-muted transition-colors duration-200 focus-visible:ring-2 focus-visible:ring-fg focus-visible:ring-inset focus-visible:outline-none focus:bg-bg-muted"
4848
tabindex="0"
4949
:data-result-index="index"
5050
>
5151
<!-- Name (always visible) -->
5252
<td class="py-2 px-3">
5353
<NuxtLink
5454
:to="packageUrl"
55-
class="font-mono text-sm text-fg hover:text-accent-fallback transition-colors duration-200"
55+
class="row-link font-mono text-sm text-fg hover:text-accent-fallback transition-colors duration-200"
5656
dir="ltr"
5757
>
5858
{{ pkg.name }}
@@ -111,7 +111,7 @@ const allMaintainersText = computed(() => {
111111
name: '~username',
112112
params: { username: maintainer.username || maintainer.name || '' },
113113
}"
114-
class="hover:text-accent-fallback transition-colors duration-200"
114+
class="relative z-10 hover:text-accent-fallback transition-colors duration-200"
115115
@click.stop
116116
>{{ maintainer.username || maintainer.name || maintainer.email }}</NuxtLink
117117
><span v-if="idx < Math.min(pkg.maintainers.length, 3) - 1">, </span>
@@ -127,7 +127,7 @@ const allMaintainersText = computed(() => {
127127
<td v-if="isColumnVisible('keywords')" class="py-2 px-3 text-end">
128128
<div
129129
v-if="pkg.keywords?.length"
130-
class="flex flex-wrap gap-1 justify-end"
130+
class="relative z-10 flex flex-wrap gap-1 justify-end"
131131
:aria-label="$t('package.card.keywords')"
132132
>
133133
<ButtonBase
@@ -198,3 +198,19 @@ const allMaintainersText = computed(() => {
198198
</td>
199199
</tr>
200200
</template>
201+
202+
<style scoped>
203+
.row-link {
204+
&::after {
205+
content: '';
206+
position: absolute;
207+
inset: 0;
208+
cursor: pointer;
209+
}
210+
211+
&:focus-visible::after {
212+
outline: 2px solid var(--color-fg);
213+
outline-offset: -2px;
214+
}
215+
}
216+
</style>

0 commit comments

Comments
 (0)