From 2fb44eb53cb6e797249ded64a1d5e5aed05eee4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20Bl=C3=A4ttermann?= Date: Mon, 2 Feb 2026 14:06:04 +0100 Subject: [PATCH 1/7] refactor: extract tags components --- app/components/Filter/Chips.vue | 4 ++-- app/components/Filter/Panel.vue | 24 ++++++++++++------------ app/components/Package/Card.vue | 4 ++-- app/components/Package/TableRow.vue | 6 +++--- app/components/Tag/Clickable.vue | 9 +++++++++ app/components/Tag/Static.vue | 9 +++++++++ app/pages/package/[...package].vue | 8 ++++++-- 7 files changed, 43 insertions(+), 21 deletions(-) create mode 100644 app/components/Tag/Clickable.vue create mode 100644 app/components/Tag/Static.vue diff --git a/app/components/Filter/Chips.vue b/app/components/Filter/Chips.vue index 6136387552..90dc9a0d35 100644 --- a/app/components/Filter/Chips.vue +++ b/app/components/Filter/Chips.vue @@ -14,7 +14,7 @@ const emit = defineEmits<{ diff --git a/app/components/Package/TableRow.vue b/app/components/Package/TableRow.vue index 2311a402d5..75d4501ea1 100644 --- a/app/components/Package/TableRow.vue +++ b/app/components/Package/TableRow.vue @@ -118,16 +118,16 @@ const allMaintainersText = computed(() => {
- + +{{ pkg.keywords.length - 3 }} diff --git a/app/components/Tag/Clickable.vue b/app/components/Tag/Clickable.vue new file mode 100644 index 0000000000..e775a491c8 --- /dev/null +++ b/app/components/Tag/Clickable.vue @@ -0,0 +1,9 @@ + + + diff --git a/app/components/Tag/Static.vue b/app/components/Tag/Static.vue new file mode 100644 index 0000000000..b850980cc7 --- /dev/null +++ b/app/components/Tag/Static.vue @@ -0,0 +1,9 @@ + + + diff --git a/app/pages/package/[...package].vue b/app/pages/package/[...package].vue index 7b0c1c8384..9296814a77 100644 --- a/app/pages/package/[...package].vue +++ b/app/pages/package/[...package].vue @@ -11,6 +11,7 @@ import { joinURL } from 'ufo' import { areUrlsEquivalent } from '#shared/utils/url' import { isEditableElement } from '~/utils/input' import { formatBytes } from '~/utils/formatters' +import { NuxtLink } from '#components' definePageMeta({ name: 'package', @@ -1005,9 +1006,12 @@ defineOgImageComponent('Package', { From 2a9978316140e3550fd81560c1ecfed6dfeaa948 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20Bl=C3=A4ttermann?= Date: Mon, 2 Feb 2026 14:11:19 +0100 Subject: [PATCH 2/7] refactor: move shortcut directly onto component --- app/components/Tag/Clickable.vue | 5 ++++- app/components/Tag/Static.vue | 5 ++++- uno.config.ts | 6 +----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/components/Tag/Clickable.vue b/app/components/Tag/Clickable.vue index e775a491c8..8282b079e3 100644 --- a/app/components/Tag/Clickable.vue +++ b/app/components/Tag/Clickable.vue @@ -3,7 +3,10 @@ const props = withDefaults(defineProps<{ as?: string | Component }>(),{ as: 'but diff --git a/app/components/Tag/Static.vue b/app/components/Tag/Static.vue index b850980cc7..60cd8b7bc2 100644 --- a/app/components/Tag/Static.vue +++ b/app/components/Tag/Static.vue @@ -3,7 +3,10 @@ const props = withDefaults(defineProps<{ as?: string | Component }>(),{ as: 'spa diff --git a/uno.config.ts b/uno.config.ts index 3e3c38e925..d4aed7116b 100644 --- a/uno.config.ts +++ b/uno.config.ts @@ -142,11 +142,7 @@ export default defineConfig({ ], ['link-subtle', 'text-fg-muted hover:text-fg transition-colors duration-200 focus-ring'], - // Tags/badges - [ - 'tag', - 'inline-flex items-center px-2 py-0.5 text-xs font-mono text-fg-muted bg-bg-muted border border-border rounded transition-colors duration-200 hover:(text-fg border-border-hover)', - ], + // badges ['badge-orange', 'bg-badge-orange/10 text-badge-orange'], ['badge-yellow', 'bg-badge-yellow/10 text-badge-yellow'], ['badge-green', 'bg-badge-green/10 text-badge-green'], From 94240a9d5c1f616d62ade1936d7e462f9e3c75ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20Bl=C3=A4ttermann?= Date: Mon, 2 Feb 2026 14:24:00 +0100 Subject: [PATCH 3/7] style: remove hover from unclickable tags --- app/components/Tag/Static.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/components/Tag/Static.vue b/app/components/Tag/Static.vue index 60cd8b7bc2..5053414896 100644 --- a/app/components/Tag/Static.vue +++ b/app/components/Tag/Static.vue @@ -5,7 +5,7 @@ const props = withDefaults(defineProps<{ as?: string | Component }>(),{ as: 'spa