From 2ac10c8a4ac6a1d743886b96f74deaca32b3e6ff Mon Sep 17 00:00:00 2001 From: the1812 Date: Sat, 9 Apr 2022 14:36:18 +0800 Subject: [PATCH] Support show in favorite pages (#3138) --- .../components/video/quick-favorite/index.ts | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/registry/lib/components/video/quick-favorite/index.ts b/registry/lib/components/video/quick-favorite/index.ts index 4a2f926b9..b8d3afc64 100644 --- a/registry/lib/components/video/quick-favorite/index.ts +++ b/registry/lib/components/video/quick-favorite/index.ts @@ -1,8 +1,24 @@ -import { ComponentMetadata } from '@/components/types' +import { defineComponentMetadata, defineOptionsMetadata } from '@/components/define' +import { ComponentEntry } from '@/components/types' +import { matchUrlPattern } from '@/core/utils' import { favoriteListUrls, videoUrls } from '@/core/utils/urls' import { KeyBindingAction } from '../../utils/keymap/bindings' -const entry = async () => { +const options = defineOptionsMetadata({ + favoriteFolderID: { + defaultValue: 0, + displayName: '快速收藏夹ID', + hidden: true, + }, + showInFavoritePages: { + defaultValue: false, + displayName: '在收藏夹播放页面仍然显示', + }, +}) +const entry: ComponentEntry = async ({ settings }) => { + if (favoriteListUrls.some(matchUrlPattern) && !settings.options.showInFavoritePages) { + return + } const { playerReady, mountVueComponent, @@ -32,11 +48,11 @@ const entry = async () => { vm.syncFavoriteState() }) } -export const component: ComponentMetadata = { +export const component = defineComponentMetadata({ name: 'quickFavorite', displayName: '启用快速收藏', description: { - 'zh-CN': '启用快速收藏, 在视频页面可以一键收藏到设定的某个收藏夹. 首次启动时或者右键点击快速收藏图标可以配置快速收藏夹.', + 'zh-CN': '启用快速收藏, 在视频页面可以一键收藏到设定的某个收藏夹. 首次启动时或者右键点击快速收藏图标可以配置快速收藏夹. 请注意如果在在收藏夹播放页面仍然显示, 是不会实时同步右侧的播放列表的.', }, entry, unload: () => { @@ -46,17 +62,11 @@ export const component: ComponentMetadata = { dqa('.ops .quick-favorite').forEach((it: HTMLElement) => (it.style.display = 'inline-block')) }, urlInclude: videoUrls, - urlExclude: favoriteListUrls, + // urlExclude: favoriteListUrls, tags: [ componentsTags.video, ], - options: { - favoriteFolderID: { - defaultValue: 0, - displayName: '快速收藏夹ID', - hidden: true, - }, - }, + options, plugin: { displayName: '快速收藏 - 快捷键支持', setup: ({ addData }) => { @@ -74,4 +84,4 @@ export const component: ComponentMetadata = { }) }, }, -} +})