Skip to content

Commit bf6b6fa

Browse files
authored
feat: add author badges for Google and Anthropic plugins (#5)
Add visual badges to distinguish plugins by author organization: - Display Google badge (warning color) for Google-developed plugins - Display Anthropic badge (error color) for Anthropic-developed plugins - Add author metadata to plugin.json for all Google plugins (nanobanana, security, flutter, code-review) - Update badge colors to use valid Nuxt UI color values (warning, error, info, primary) - Add authorName computed property to handle both string and object author formats - Update submodules to include author metadata changes This improves plugin discoverability and helps users identify official plugins from major AI companies.
1 parent c59032b commit bf6b6fa

6 files changed

Lines changed: 49 additions & 9 deletions

File tree

apps/web/app/components/PluginCard.vue

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,31 @@
4040
</UBadge>
4141
</div>
4242
</div>
43-
<div v-if="hasContext || hasMcpServer" class="flex items-center gap-2">
43+
<div v-if="hasContext || hasMcpServer || authorName" class="flex items-center gap-2">
44+
<UBadge
45+
v-if="authorName === 'Google'"
46+
variant="soft"
47+
color="warning"
48+
size="sm"
49+
title="Developed by Google"
50+
>
51+
<UIcon name="i-simple-icons-google" class="mr-1" />
52+
Google
53+
</UBadge>
54+
<UBadge
55+
v-if="authorName === 'Anthropic'"
56+
variant="soft"
57+
color="error"
58+
size="sm"
59+
title="Developed by Anthropic"
60+
>
61+
<UIcon name="i-simple-icons-anthropic" class="mr-1" />
62+
Anthropic
63+
</UBadge>
4464
<UBadge
4565
v-if="hasContext"
4666
variant="soft"
47-
color="purple"
67+
color="info"
4868
size="sm"
4969
title="Includes Context File"
5070
>
@@ -54,7 +74,7 @@
5474
<UBadge
5575
v-if="hasMcpServer"
5676
variant="soft"
57-
color="blue"
77+
color="primary"
5878
size="sm"
5979
title="Includes MCP Server"
6080
>
@@ -185,7 +205,15 @@ const displayDescription = computed(() => {
185205
186206
// Computed author - prefer marketplace.json, fallback to metadata
187207
const displayAuthor = computed(() => {
188-
return props.plugin.author || pluginMetadata.value?.author
208+
const author = props.plugin.author || pluginMetadata.value?.author
209+
// Handle both string and object formats
210+
return typeof author === 'string' ? author : author?.name
211+
})
212+
213+
// Get author name for badge display
214+
const authorName = computed(() => {
215+
const author = props.plugin.author || pluginMetadata.value?.author
216+
return typeof author === 'string' ? author : author?.name
189217
})
190218
191219
// Computed license - from fetched metadata

apps/web/nuxt.config.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,17 @@ export default defineNuxtConfig({
77
'@nuxt/ui',
88
'@nuxt/content'
99
],
10-
css: ['~/assets/css/main.css']
10+
css: ['~/assets/css/main.css'],
11+
12+
tailwindcss: {
13+
config: {
14+
safelist: [
15+
// Author badge colors
16+
'bg-amber-50', 'bg-amber-100', 'text-amber-600', 'text-amber-700',
17+
'bg-orange-50', 'bg-orange-100', 'text-orange-600', 'text-orange-700',
18+
'bg-purple-50', 'bg-purple-100', 'text-purple-600', 'text-purple-700',
19+
'bg-blue-50', 'bg-blue-100', 'text-blue-600', 'text-blue-700',
20+
]
21+
}
22+
}
1123
})

plugins/code-review

plugins/flutter

plugins/nanobanana

plugins/security

0 commit comments

Comments
 (0)