Support copy with title (#2557)

This commit is contained in:
the1812 2022-04-09 15:24:05 +08:00
parent f43b3a4f4b
commit 7fce59dab1
2 changed files with 20 additions and 4 deletions

View File

@ -19,11 +19,15 @@
<script lang="ts">
import { videoChange } from '@/core/observer'
import { getComponentSettings } from '@/core/settings'
import { select } from '@/core/spin-query'
import { matchUrlPattern } from '@/core/utils'
import { getFriendlyTitle } from '@/core/utils/title'
import { bangumiUrls } from '@/core/utils/urls'
import { VIcon } from '@/ui'
import { BvidConvertOptions } from '.'
const { options } = getComponentSettings<BvidConvertOptions>('bvidConvert')
enum CopyIdType {
Aid = 'aid',
Bvid = 'bvid',
@ -82,7 +86,11 @@ export default Vue.extend({
id: this[data],
}
const link = linkProviders.map(p => p(context)).filter(it => it !== null)[0]
await navigator.clipboard.writeText(link)
if (options.copyWithTitle) {
await navigator.clipboard.writeText(`${getFriendlyTitle()} ${link}`)
} else {
await navigator.clipboard.writeText(link)
}
this[`${data}Copied`] = true
setTimeout(() => (this[`${data}Copied`] = false), 1000)
},

View File

@ -1,10 +1,17 @@
import { ComponentMetadata } from '@/components/types'
import { defineComponentMetadata, defineOptionsMetadata, OptionsOfMetadata } from '@/components/define'
import { hasVideo } from '@/core/spin-query'
import { videoAndBangumiUrls } from '@/core/utils/urls'
export const component: ComponentMetadata = {
const options = defineOptionsMetadata({
copyWithTitle: {
defaultValue: false,
displayName: '复制链接时带上标题',
},
})
export const component = defineComponentMetadata({
name: 'bvidConvert',
displayName: 'BV 号转换',
options,
entry: none,
description: {
'zh-CN': '在功能面板中显示视频的 AV 号和 BV 号.',
@ -18,4 +25,5 @@ export const component: ComponentMetadata = {
condition: hasVideo,
},
urlInclude: videoAndBangumiUrls,
}
})
export type BvidConvertOptions = OptionsOfMetadata<typeof options>