Skip to content

Commit c59032b

Browse files
authored
fix(web): prevent version badge truncation in PluginCard (#4)
Reorganize badge layout to prevent version information from being cut off when Context and MCP badges are present. Split badges into two rows: version badge stays fixed on top right, while Context/MCP badges display on a separate row below.
1 parent e9ed54a commit c59032b

1 file changed

Lines changed: 34 additions & 30 deletions

File tree

apps/web/app/components/PluginCard.vue

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,43 @@
44
class="group hover:ring-2 hover:ring-primary transition-all duration-200 h-full flex flex-col"
55
>
66
<template #header>
7-
<div class="flex items-start justify-between gap-3">
8-
<div class="flex-1">
9-
<div class="flex items-center gap-2 mb-1">
10-
<UIcon
11-
name="i-heroicons-cube"
12-
class="text-primary shrink-0"
13-
/>
14-
<h3 class="text-lg font-semibold truncate">
15-
{{ plugin.name }}
16-
</h3>
7+
<div class="flex flex-col gap-2">
8+
<div class="flex items-start justify-between gap-3">
9+
<div class="flex-1 min-w-0">
10+
<div class="flex items-center gap-2 mb-1">
11+
<UIcon
12+
name="i-heroicons-cube"
13+
class="text-primary shrink-0"
14+
/>
15+
<h3 class="text-lg font-semibold truncate">
16+
{{ plugin.name }}
17+
</h3>
18+
</div>
19+
<div class="flex items-center gap-2 text-xs text-muted">
20+
<UIcon name="i-heroicons-code-bracket" class="shrink-0" />
21+
<span class="truncate">{{ plugin.source.repo }}</span>
22+
</div>
1723
</div>
18-
<div class="flex items-center gap-2 text-xs text-muted">
19-
<UIcon name="i-heroicons-code-bracket" class="shrink-0" />
20-
<span class="truncate">{{ plugin.source.repo }}</span>
24+
<div class="shrink-0">
25+
<UBadge
26+
v-if="displayVersion"
27+
variant="soft"
28+
color="primary"
29+
size="sm"
30+
>
31+
v{{ displayVersion }}
32+
</UBadge>
33+
<UBadge
34+
v-else-if="loading"
35+
variant="soft"
36+
color="neutral"
37+
size="sm"
38+
>
39+
Loading...
40+
</UBadge>
2141
</div>
2242
</div>
23-
<div class="flex items-center gap-2 shrink-0">
43+
<div v-if="hasContext || hasMcpServer" class="flex items-center gap-2">
2444
<UBadge
2545
v-if="hasContext"
2646
variant="soft"
@@ -41,22 +61,6 @@
4161
<UIcon name="i-heroicons-server" class="mr-1" />
4262
MCP
4363
</UBadge>
44-
<UBadge
45-
v-if="displayVersion"
46-
variant="soft"
47-
color="primary"
48-
size="sm"
49-
>
50-
v{{ displayVersion }}
51-
</UBadge>
52-
<UBadge
53-
v-else-if="loading"
54-
variant="soft"
55-
color="neutral"
56-
size="sm"
57-
>
58-
Loading...
59-
</UBadge>
6064
</div>
6165
</div>
6266
</template>

0 commit comments

Comments
 (0)