Skip to content

Commit 3eff748

Browse files
committed
refactor: simplify clipboard
1 parent 2d41b40 commit 3eff748

File tree

2 files changed

+10
-20
lines changed

2 files changed

+10
-20
lines changed

docs/app/components/BadgeGenerator.vue

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
<script setup>
2+
import { useClipboard } from '@vueuse/core'
3+
24
const pkg = useState('badge-pkg', () => 'nuxt')
35
const type = useState('badge-type', () => 'version')
46
const isValid = ref(true)
5-
const copied = ref(false)
7+
8+
const { copy, copied } = useClipboard({ copiedDuring: 2000 })
69
710
const types = [
811
'version',
@@ -42,15 +45,7 @@ const formatLabel = str => {
4245
4346
const copyToClipboard = async () => {
4447
const markdown = `[![Open on npmx.dev](https://npmx.dev/api/registry/badge/${type.value}/${pkg.value})](https://npmx.dev/package/${pkg.value})`
45-
try {
46-
await navigator.clipboard.writeText(markdown)
47-
copied.value = true
48-
setTimeout(() => {
49-
copied.value = false
50-
}, 2000)
51-
} catch {
52-
console.error('Failed to copy to clipboard')
53-
}
48+
copy(markdown)
5449
}
5550
</script>
5651

docs/app/components/BadgeGeneratorParameters.vue

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
<script setup>
2+
import { useClipboard } from '@vueuse/core'
3+
24
const pkg = useState('badge-pkg', () => 'nuxt')
35
const type = useState('badge-type', () => 'version')
46
const isValid = ref(true)
5-
const copied = ref(false)
7+
8+
const { copy, copied } = useClipboard({ copiedDuring: 2000 })
69
710
const labelColor = useState('badge-label-color', () => '')
811
const labelText = useState('badge-label-text', () => '')
@@ -87,15 +90,7 @@ const formatLabel = str => {
8790
8891
const copyToClipboard = async () => {
8992
const markdown = `[![Open on npmx.dev](${badgeUrl.value})](https://npmx.dev/package/${pkg.value})`
90-
try {
91-
await navigator.clipboard.writeText(markdown)
92-
copied.value = true
93-
setTimeout(() => {
94-
copied.value = false
95-
}, 2000)
96-
} catch {
97-
console.error('Failed to copy to clipboard')
98-
}
93+
copy(markdown)
9994
}
10095
</script>
10196

0 commit comments

Comments
 (0)