Skip to content

Commit 868828e

Browse files
committed
feat: add copy button for package versions
1 parent e5f60f6 commit 868828e

File tree

5 files changed

+23
-1
lines changed

5 files changed

+23
-1
lines changed

app/pages/package/[[org]]/[name].vue

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,12 @@ const { copied: copiedPkgName, copy: copyPkgName } = useClipboard({
246246
copiedDuring: 2000,
247247
})
248248
249+
//copy package name
250+
const { copied: copiedVersion, copy: copyVersion } = useClipboard({
251+
source: resolvedVersion.value ?? '',
252+
copiedDuring: 2000,
253+
})
254+
249255
// Fetch dependency analysis (lazy, client-side)
250256
// This is the same composable used by PackageVulnerabilityTree and PackageDeprecatedTree
251257
const { data: vulnTree, status: vulnTreeStatus } = useDependencyAnalysis(
@@ -716,7 +722,17 @@ const showSkeleton = shallowRef(false)
716722
dir="ltr"
717723
>{{ resolvedVersion }}</LinkBase
718724
>
719-
<span dir="ltr" v-else>v{{ resolvedVersion }}</span>
725+
<span dir="ltr" v-else class="inline-flex items-center gap-1"
726+
>v{{ resolvedVersion }}
727+
728+
<ButtonBase
729+
size="small"
730+
class="opacity-50 hover:opacity-100 transition-opacity"
731+
:classicon="copiedVersion ? 'i-carbon:checkmark' : 'i-carbon:copy'"
732+
:title="copiedVersion ? $t('common.copied') : $t('package.copy_version')"
733+
@click="copyVersion()"
734+
/>
735+
</span>
720736

721737
<template v-if="hasProvenance(displayVersion)">
722738
<TooltipApp

i18n/locales/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@
151151
"view_permalink": "View permalink for this version",
152152
"navigation": "Package",
153153
"copy_name": "Copy package name",
154+
"copy_version": "Copy package version",
154155
"deprecation": {
155156
"package": "This package has been deprecated.",
156157
"version": "This version has been deprecated.",

i18n/schema.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,9 @@
457457
"copy_name": {
458458
"type": "string"
459459
},
460+
"copy_version": {
461+
"type": "string"
462+
},
460463
"deprecation": {
461464
"type": "object",
462465
"properties": {

lunaria/files/en-GB.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@
150150
"view_permalink": "View permalink for this version",
151151
"navigation": "Package",
152152
"copy_name": "Copy package name",
153+
"copy_version": "Copy package version",
153154
"deprecation": {
154155
"package": "This package has been deprecated.",
155156
"version": "This version has been deprecated.",

lunaria/files/en-US.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@
150150
"view_permalink": "View permalink for this version",
151151
"navigation": "Package",
152152
"copy_name": "Copy package name",
153+
"copy_version": "Copy package version",
153154
"deprecation": {
154155
"package": "This package has been deprecated.",
155156
"version": "This version has been deprecated.",

0 commit comments

Comments
 (0)