mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
Change settingsContainer to define api
This commit is contained in:
parent
8d83d55fe3
commit
e21a9db070
@ -4,7 +4,8 @@ import { TextColor } from '@/core/text-color'
|
|||||||
import { CdnTypes } from '@/core/cdn-types'
|
import { CdnTypes } from '@/core/cdn-types'
|
||||||
import { addComponentListener } from '@/core/settings'
|
import { addComponentListener } from '@/core/settings'
|
||||||
import { DownloadPackageEmitMode } from '@/core/download-mode'
|
import { DownloadPackageEmitMode } from '@/core/download-mode'
|
||||||
import { ComponentEntry, ComponentMetadata, componentsTags } from '../types'
|
import { ComponentEntry, componentsTags } from '../types'
|
||||||
|
import { defineOptionsMetadata, defineComponentMetadata } from '../define'
|
||||||
import { provideActions } from './external-actions'
|
import { provideActions } from './external-actions'
|
||||||
import description from './desc.md'
|
import description from './desc.md'
|
||||||
|
|
||||||
@ -14,7 +15,57 @@ export enum SettingsPanelDockSide {
|
|||||||
Right = '右侧',
|
Right = '右侧',
|
||||||
}
|
}
|
||||||
|
|
||||||
const entry: ComponentEntry = async ({ metadata }) => {
|
const options = defineOptionsMetadata({
|
||||||
|
themeColor: {
|
||||||
|
defaultValue: '#00A0D8',
|
||||||
|
displayName: '主题颜色',
|
||||||
|
color: true,
|
||||||
|
},
|
||||||
|
scriptLoadingMode: {
|
||||||
|
defaultValue: LoadingMode.Delay,
|
||||||
|
displayName: '功能加载模式',
|
||||||
|
dropdownEnum: LoadingMode,
|
||||||
|
},
|
||||||
|
styleLoadingMode: {
|
||||||
|
defaultValue: LoadingMode.Race,
|
||||||
|
displayName: '样式加载模式',
|
||||||
|
dropdownEnum: LoadingMode,
|
||||||
|
},
|
||||||
|
textColor: {
|
||||||
|
defaultValue: TextColor.Auto,
|
||||||
|
displayName: '文本颜色',
|
||||||
|
dropdownEnum: TextColor,
|
||||||
|
},
|
||||||
|
cdnRoot: {
|
||||||
|
defaultValue: CdnTypes.jsDelivr,
|
||||||
|
displayName: '更新源',
|
||||||
|
dropdownEnum: CdnTypes,
|
||||||
|
},
|
||||||
|
dockSide: {
|
||||||
|
defaultValue: SettingsPanelDockSide.Left,
|
||||||
|
displayName: '设置面板停靠',
|
||||||
|
dropdownEnum: SettingsPanelDockSide,
|
||||||
|
},
|
||||||
|
filenameFormat: {
|
||||||
|
defaultValue: '[title][ - ep]',
|
||||||
|
displayName: '文件命名格式',
|
||||||
|
},
|
||||||
|
batchFilenameFormat: {
|
||||||
|
defaultValue: '[n - ][ep]',
|
||||||
|
displayName: '批量命名格式',
|
||||||
|
},
|
||||||
|
downloadPackageEmitMode: {
|
||||||
|
defaultValue: DownloadPackageEmitMode.Packed,
|
||||||
|
displayName: '文件下载模式',
|
||||||
|
dropdownEnum: DownloadPackageEmitMode,
|
||||||
|
},
|
||||||
|
devMode: {
|
||||||
|
defaultValue: false,
|
||||||
|
displayName: '开发者模式',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
const entry: ComponentEntry<typeof options> = async ({ metadata }) => {
|
||||||
const { isIframe } = await import('@/core/utils')
|
const { isIframe } = await import('@/core/utils')
|
||||||
if (isIframe()) {
|
if (isIframe()) {
|
||||||
return
|
return
|
||||||
@ -28,61 +79,14 @@ const entry: ComponentEntry = async ({ metadata }) => {
|
|||||||
document.body.insertAdjacentElement('beforeend', instance.$el)
|
document.body.insertAdjacentElement('beforeend', instance.$el)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export const component: ComponentMetadata = {
|
|
||||||
|
export const component = defineComponentMetadata({
|
||||||
name: 'settingsPanel',
|
name: 'settingsPanel',
|
||||||
displayName: '通用设置',
|
displayName: '通用设置',
|
||||||
configurable: false,
|
configurable: false,
|
||||||
description,
|
description,
|
||||||
entry,
|
entry,
|
||||||
options: {
|
options,
|
||||||
themeColor: {
|
|
||||||
defaultValue: '#00A0D8',
|
|
||||||
displayName: '主题颜色',
|
|
||||||
color: true,
|
|
||||||
},
|
|
||||||
scriptLoadingMode: {
|
|
||||||
defaultValue: LoadingMode.Delay,
|
|
||||||
displayName: '功能加载模式',
|
|
||||||
dropdownEnum: LoadingMode,
|
|
||||||
},
|
|
||||||
styleLoadingMode: {
|
|
||||||
defaultValue: LoadingMode.Race,
|
|
||||||
displayName: '样式加载模式',
|
|
||||||
dropdownEnum: LoadingMode,
|
|
||||||
},
|
|
||||||
textColor: {
|
|
||||||
defaultValue: TextColor.Auto,
|
|
||||||
displayName: '文本颜色',
|
|
||||||
dropdownEnum: TextColor,
|
|
||||||
},
|
|
||||||
cdnRoot: {
|
|
||||||
defaultValue: CdnTypes.jsDelivr,
|
|
||||||
displayName: '更新源',
|
|
||||||
dropdownEnum: CdnTypes,
|
|
||||||
},
|
|
||||||
dockSide: {
|
|
||||||
defaultValue: SettingsPanelDockSide.Left,
|
|
||||||
displayName: '设置面板停靠',
|
|
||||||
dropdownEnum: SettingsPanelDockSide,
|
|
||||||
},
|
|
||||||
filenameFormat: {
|
|
||||||
defaultValue: '[title][ - ep]',
|
|
||||||
displayName: '文件命名格式',
|
|
||||||
},
|
|
||||||
batchFilenameFormat: {
|
|
||||||
defaultValue: '[n - ][ep]',
|
|
||||||
displayName: '批量命名格式',
|
|
||||||
},
|
|
||||||
downloadPackageEmitMode: {
|
|
||||||
defaultValue: DownloadPackageEmitMode.Packed,
|
|
||||||
displayName: '文件下载模式',
|
|
||||||
dropdownEnum: DownloadPackageEmitMode,
|
|
||||||
},
|
|
||||||
devMode: {
|
|
||||||
defaultValue: false,
|
|
||||||
displayName: '开发者模式',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
tags: [componentsTags.general],
|
tags: [componentsTags.general],
|
||||||
i18n: {
|
i18n: {
|
||||||
'en-US': {
|
'en-US': {
|
||||||
@ -103,4 +107,4 @@ export const component: ComponentMetadata = {
|
|||||||
provideActions()
|
provideActions()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user